Lines Matching refs:tcrtc

24 static void tidss_crtc_finish_page_flip(struct tidss_crtc *tcrtc)  in tidss_crtc_finish_page_flip()  argument
26 struct drm_device *ddev = tcrtc->crtc.dev; in tidss_crtc_finish_page_flip()
40 busy = dispc_vp_go_busy(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_finish_page_flip()
46 event = tcrtc->event; in tidss_crtc_finish_page_flip()
47 tcrtc->event = NULL; in tidss_crtc_finish_page_flip()
54 drm_crtc_send_vblank_event(&tcrtc->crtc, event); in tidss_crtc_finish_page_flip()
58 drm_crtc_vblank_put(&tcrtc->crtc); in tidss_crtc_finish_page_flip()
63 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_vblank_irq() local
67 tidss_crtc_finish_page_flip(tcrtc); in tidss_crtc_vblank_irq()
72 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_framedone_irq() local
74 complete(&tcrtc->framedone_completion); in tidss_crtc_framedone_irq()
79 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_error_irq() local
82 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()
166 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_atomic_flush() local
188 if (WARN_ON(dispc_vp_go_busy(tidss->dispc, tcrtc->hw_videoport))) in tidss_crtc_atomic_flush()
196 dispc_vp_setup(tidss->dispc, tcrtc->hw_videoport, crtc->state, false); in tidss_crtc_atomic_flush()
204 dispc_vp_go(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_atomic_flush()
206 WARN_ON(tcrtc->event); in tidss_crtc_atomic_flush()
208 tcrtc->event = crtc->state->event; in tidss_crtc_atomic_flush()
217 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_atomic_enable() local
228 r = dispc_vp_set_clk_rate(tidss->dispc, tcrtc->hw_videoport, in tidss_crtc_atomic_enable()
233 r = dispc_vp_enable_clk(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_atomic_enable()
237 dispc_vp_setup(tidss->dispc, tcrtc->hw_videoport, crtc->state, true); in tidss_crtc_atomic_enable()
243 dispc_vp_prepare(tidss->dispc, tcrtc->hw_videoport, crtc->state); in tidss_crtc_atomic_enable()
245 dispc_vp_enable(tidss->dispc, tcrtc->hw_videoport, crtc->state); in tidss_crtc_atomic_enable()
260 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_atomic_disable() local
267 reinit_completion(&tcrtc->framedone_completion); in tidss_crtc_atomic_disable()
269 dispc_vp_disable(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_atomic_disable()
271 if (!wait_for_completion_timeout(&tcrtc->framedone_completion, in tidss_crtc_atomic_disable()
274 tcrtc->hw_videoport); in tidss_crtc_atomic_disable()
276 dispc_vp_unprepare(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_atomic_disable()
287 dispc_vp_disable_clk(tidss->dispc, tcrtc->hw_videoport); in tidss_crtc_atomic_disable()
296 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_mode_valid() local
300 return dispc_vp_mode_valid(tidss->dispc, tcrtc->hw_videoport, mode); in tidss_crtc_mode_valid()
342 struct tidss_crtc_state *tcrtc; in tidss_crtc_reset() local
349 tcrtc = kzalloc(sizeof(*tcrtc), GFP_KERNEL); in tidss_crtc_reset()
350 if (!tcrtc) { in tidss_crtc_reset()
355 __drm_atomic_helper_crtc_reset(crtc, &tcrtc->base); in tidss_crtc_reset()
383 struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); in tidss_crtc_destroy() local
386 kfree(tcrtc); in tidss_crtc_destroy()
404 struct tidss_crtc *tcrtc; in tidss_crtc_create() local
410 tcrtc = kzalloc(sizeof(*tcrtc), GFP_KERNEL); in tidss_crtc_create()
411 if (!tcrtc) in tidss_crtc_create()
414 tcrtc->hw_videoport = hw_videoport; in tidss_crtc_create()
415 init_completion(&tcrtc->framedone_completion); in tidss_crtc_create()
417 crtc = &tcrtc->crtc; in tidss_crtc_create()
422 kfree(tcrtc); in tidss_crtc_create()
440 return tcrtc; in tidss_crtc_create()