Lines Matching refs:tcrtc

21 static void tidss_crtc_finish_page_flip(struct tidss_crtc *tcrtc)  in tidss_crtc_finish_page_flip()  argument
23 struct drm_device *ddev = tcrtc->crtc.dev; in tidss_crtc_finish_page_flip()
37 busy = dispc_vp_go_busy(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_finish_page_flip()
43 event = tcrtc->event; in tidss_crtc_finish_page_flip()
44 tcrtc->event = NULL; in tidss_crtc_finish_page_flip()
51 drm_crtc_send_vblank_event(&tcrtc->crtc, event); in tidss_crtc_finish_page_flip()
55 drm_crtc_vblank_put(&tcrtc->crtc); in tidss_crtc_finish_page_flip()
60 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_vblank_irq() local
64 tidss_crtc_finish_page_flip(tcrtc); in tidss_crtc_vblank_irq()
69 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_framedone_irq() local
71 complete(&tcrtc->framedone_completion); in tidss_crtc_framedone_irq()
76 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_error_irq() local
79 tcrtc->hw_videoport, irqstatus); in tidss_crtc_error_irq()
92 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_atomic_check() local
93 u32 hw_videoport = tcrtc->hw_videoport; in tidss_crtc_atomic_check()
125 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_position_planes() local
153 tcrtc->hw_videoport, in tidss_crtc_position_planes()
157 dispc_ovr_enable_layer(tidss->dispc, tcrtc->hw_videoport, layer, in tidss_crtc_position_planes()
167 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_atomic_flush() local
185 if (WARN_ON(dispc_vp_go_busy(tidss->dispc, tcrtc->hw_videoport))) in tidss_crtc_atomic_flush()
193 dispc_vp_setup(tidss->dispc, tcrtc->hw_videoport, crtc->state, false); in tidss_crtc_atomic_flush()
201 dispc_vp_go(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_atomic_flush()
203 WARN_ON(tcrtc->event); in tidss_crtc_atomic_flush()
205 tcrtc->event = crtc->state->event; in tidss_crtc_atomic_flush()
216 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_atomic_enable() local
227 r = dispc_vp_set_clk_rate(tidss->dispc, tcrtc->hw_videoport, in tidss_crtc_atomic_enable()
232 r = dispc_vp_enable_clk(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_atomic_enable()
236 dispc_vp_setup(tidss->dispc, tcrtc->hw_videoport, crtc->state, true); in tidss_crtc_atomic_enable()
242 dispc_vp_prepare(tidss->dispc, tcrtc->hw_videoport, crtc->state); in tidss_crtc_atomic_enable()
244 dispc_vp_enable(tidss->dispc, tcrtc->hw_videoport, crtc->state); in tidss_crtc_atomic_enable()
259 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_atomic_disable() local
266 reinit_completion(&tcrtc->framedone_completion); in tidss_crtc_atomic_disable()
275 dispc_ovr_enable_layer(tidss->dispc, tcrtc->hw_videoport, layer, in tidss_crtc_atomic_disable()
278 dispc_vp_disable(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_atomic_disable()
280 if (!wait_for_completion_timeout(&tcrtc->framedone_completion, in tidss_crtc_atomic_disable()
283 tcrtc->hw_videoport); in tidss_crtc_atomic_disable()
285 dispc_vp_unprepare(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_atomic_disable()
296 dispc_vp_disable_clk(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_atomic_disable()
305 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_mode_valid() local
309 return dispc_vp_mode_valid(tidss->dispc, tcrtc->hw_videoport, mode); in tidss_crtc_mode_valid()
351 struct tidss_crtc_state *tcrtc; in tidss_crtc_reset() local
358 tcrtc = kzalloc(sizeof(*tcrtc), GFP_KERNEL); in tidss_crtc_reset()
359 if (!tcrtc) { in tidss_crtc_reset()
364 __drm_atomic_helper_crtc_reset(crtc, &tcrtc->base); in tidss_crtc_reset()
392 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_destroy() local
395 kfree(tcrtc); in tidss_crtc_destroy()
413 struct tidss_crtc *tcrtc; in tidss_crtc_create() local
419 tcrtc = kzalloc(sizeof(*tcrtc), GFP_KERNEL); in tidss_crtc_create()
420 if (!tcrtc) in tidss_crtc_create()
423 tcrtc->hw_videoport = hw_videoport; in tidss_crtc_create()
424 init_completion(&tcrtc->framedone_completion); in tidss_crtc_create()
426 crtc = &tcrtc->crtc; in tidss_crtc_create()
431 kfree(tcrtc); in tidss_crtc_create()
449 return tcrtc; in tidss_crtc_create()