Lines Matching refs:tcrtc

22 static void tidss_crtc_finish_page_flip(struct tidss_crtc *tcrtc)  in tidss_crtc_finish_page_flip()  argument
24 struct drm_device *ddev = tcrtc->crtc.dev; in tidss_crtc_finish_page_flip()
38 busy = dispc_vp_go_busy(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_finish_page_flip()
44 event = tcrtc->event; in tidss_crtc_finish_page_flip()
45 tcrtc->event = NULL; in tidss_crtc_finish_page_flip()
52 drm_crtc_send_vblank_event(&tcrtc->crtc, event); in tidss_crtc_finish_page_flip()
56 drm_crtc_vblank_put(&tcrtc->crtc); in tidss_crtc_finish_page_flip()
61 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_vblank_irq() local
65 tidss_crtc_finish_page_flip(tcrtc); in tidss_crtc_vblank_irq()
70 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_framedone_irq() local
72 complete(&tcrtc->framedone_completion); in tidss_crtc_framedone_irq()
77 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_error_irq() local
80 tcrtc->hw_videoport, irqstatus); in tidss_crtc_error_irq()
93 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_atomic_check() local
94 u32 hw_videoport = tcrtc->hw_videoport; in tidss_crtc_atomic_check()
126 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_position_planes() local
154 tcrtc->hw_videoport, in tidss_crtc_position_planes()
158 dispc_ovr_enable_layer(tidss->dispc, tcrtc->hw_videoport, layer, in tidss_crtc_position_planes()
168 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_atomic_flush() local
190 if (WARN_ON(dispc_vp_go_busy(tidss->dispc, tcrtc->hw_videoport))) in tidss_crtc_atomic_flush()
198 dispc_vp_setup(tidss->dispc, tcrtc->hw_videoport, crtc->state, false); in tidss_crtc_atomic_flush()
206 dispc_vp_go(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_atomic_flush()
208 WARN_ON(tcrtc->event); in tidss_crtc_atomic_flush()
210 tcrtc->event = crtc->state->event; in tidss_crtc_atomic_flush()
221 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_atomic_enable() local
232 r = dispc_vp_set_clk_rate(tidss->dispc, tcrtc->hw_videoport, in tidss_crtc_atomic_enable()
237 r = dispc_vp_enable_clk(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_atomic_enable()
241 dispc_vp_setup(tidss->dispc, tcrtc->hw_videoport, crtc->state, true); in tidss_crtc_atomic_enable()
247 dispc_vp_prepare(tidss->dispc, tcrtc->hw_videoport, crtc->state); in tidss_crtc_atomic_enable()
249 dispc_vp_enable(tidss->dispc, tcrtc->hw_videoport, crtc->state); in tidss_crtc_atomic_enable()
264 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_atomic_disable() local
271 reinit_completion(&tcrtc->framedone_completion); in tidss_crtc_atomic_disable()
273 dispc_vp_disable(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_atomic_disable()
275 if (!wait_for_completion_timeout(&tcrtc->framedone_completion, in tidss_crtc_atomic_disable()
278 tcrtc->hw_videoport); in tidss_crtc_atomic_disable()
280 dispc_vp_unprepare(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_atomic_disable()
291 dispc_vp_disable_clk(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_atomic_disable()
300 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_mode_valid() local
304 return dispc_vp_mode_valid(tidss->dispc, tcrtc->hw_videoport, mode); in tidss_crtc_mode_valid()
346 struct tidss_crtc_state *tcrtc; in tidss_crtc_reset() local
353 tcrtc = kzalloc(sizeof(*tcrtc), GFP_KERNEL); in tidss_crtc_reset()
354 if (!tcrtc) { in tidss_crtc_reset()
359 __drm_atomic_helper_crtc_reset(crtc, &tcrtc->base); in tidss_crtc_reset()
387 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_destroy() local
390 kfree(tcrtc); in tidss_crtc_destroy()
408 struct tidss_crtc *tcrtc; in tidss_crtc_create() local
414 tcrtc = kzalloc(sizeof(*tcrtc), GFP_KERNEL); in tidss_crtc_create()
415 if (!tcrtc) in tidss_crtc_create()
418 tcrtc->hw_videoport = hw_videoport; in tidss_crtc_create()
419 init_completion(&tcrtc->framedone_completion); in tidss_crtc_create()
421 crtc = &tcrtc->crtc; in tidss_crtc_create()
426 kfree(tcrtc); in tidss_crtc_create()
444 return tcrtc; in tidss_crtc_create()