Lines Matching refs:exynos_crtc
26 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_enable() local
28 if (exynos_crtc->ops->enable) in exynos_drm_crtc_enable()
29 exynos_crtc->ops->enable(exynos_crtc); in exynos_drm_crtc_enable()
36 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_disable() local
40 if (exynos_crtc->ops->disable) in exynos_drm_crtc_disable()
41 exynos_crtc->ops->disable(exynos_crtc); in exynos_drm_crtc_disable()
47 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_mode_set_nofb() local
49 if (exynos_crtc->ops->commit) in exynos_drm_crtc_mode_set_nofb()
50 exynos_crtc->ops->commit(exynos_crtc); in exynos_drm_crtc_mode_set_nofb()
56 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_crtc_atomic_check() local
61 if (exynos_crtc->ops->atomic_check) in exynos_crtc_atomic_check()
62 return exynos_crtc->ops->atomic_check(exynos_crtc, state); in exynos_crtc_atomic_check()
70 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_crtc_atomic_begin() local
73 exynos_crtc->event = crtc->state->event; in exynos_crtc_atomic_begin()
78 if (exynos_crtc->ops->atomic_begin) in exynos_crtc_atomic_begin()
79 exynos_crtc->ops->atomic_begin(exynos_crtc, in exynos_crtc_atomic_begin()
87 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_crtc_atomic_flush() local
93 if (exynos_crtc->ops->atomic_flush) in exynos_crtc_atomic_flush()
94 exynos_crtc->ops->atomic_flush(exynos_crtc, in exynos_crtc_atomic_flush()
110 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_destroy() local
113 private->crtc[exynos_crtc->pipe] = NULL; in exynos_drm_crtc_destroy()
116 kfree(exynos_crtc); in exynos_drm_crtc_destroy()
135 struct exynos_drm_crtc *exynos_crtc; in exynos_drm_crtc_create() local
140 exynos_crtc = kzalloc(sizeof(*exynos_crtc), GFP_KERNEL); in exynos_drm_crtc_create()
141 if (!exynos_crtc) in exynos_drm_crtc_create()
144 exynos_crtc->pipe = pipe; in exynos_drm_crtc_create()
145 exynos_crtc->type = type; in exynos_drm_crtc_create()
146 exynos_crtc->ops = ops; in exynos_drm_crtc_create()
147 exynos_crtc->ctx = ctx; in exynos_drm_crtc_create()
149 init_waitqueue_head(&exynos_crtc->wait_update); in exynos_drm_crtc_create()
151 crtc = &exynos_crtc->base; in exynos_drm_crtc_create()
162 return exynos_crtc; in exynos_drm_crtc_create()
166 kfree(exynos_crtc); in exynos_drm_crtc_create()
173 struct exynos_drm_crtc *exynos_crtc = in exynos_drm_crtc_enable_vblank() local
176 if (exynos_crtc->ops->enable_vblank) in exynos_drm_crtc_enable_vblank()
177 return exynos_crtc->ops->enable_vblank(exynos_crtc); in exynos_drm_crtc_enable_vblank()
185 struct exynos_drm_crtc *exynos_crtc = in exynos_drm_crtc_disable_vblank() local
188 if (exynos_crtc->ops->disable_vblank) in exynos_drm_crtc_disable_vblank()
189 exynos_crtc->ops->disable_vblank(exynos_crtc); in exynos_drm_crtc_disable_vblank()
192 void exynos_drm_crtc_wait_pending_update(struct exynos_drm_crtc *exynos_crtc) in exynos_drm_crtc_wait_pending_update() argument
194 wait_event_timeout(exynos_crtc->wait_update, in exynos_drm_crtc_wait_pending_update()
195 (atomic_read(&exynos_crtc->pending_update) == 0), in exynos_drm_crtc_wait_pending_update()
199 void exynos_drm_crtc_finish_update(struct exynos_drm_crtc *exynos_crtc, in exynos_drm_crtc_finish_update() argument
202 struct drm_crtc *crtc = &exynos_crtc->base; in exynos_drm_crtc_finish_update()
207 if (atomic_dec_and_test(&exynos_crtc->pending_update)) in exynos_drm_crtc_finish_update()
208 wake_up(&exynos_crtc->wait_update); in exynos_drm_crtc_finish_update()
211 if (exynos_crtc->event) in exynos_drm_crtc_finish_update()
212 drm_crtc_send_vblank_event(crtc, exynos_crtc->event); in exynos_drm_crtc_finish_update()
214 exynos_crtc->event = NULL; in exynos_drm_crtc_finish_update()
220 struct exynos_drm_crtc *exynos_crtc; in exynos_drm_crtc_complete_scanout() local
229 exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_complete_scanout()
236 if (exynos_crtc->ops->wait_for_vblank) in exynos_drm_crtc_complete_scanout()
237 exynos_crtc->ops->wait_for_vblank(exynos_crtc); in exynos_drm_crtc_complete_scanout()
247 struct exynos_drm_crtc *exynos_crtc; in exynos_drm_crtc_get_pipe_from_type() local
249 exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_get_pipe_from_type()
250 if (exynos_crtc->type == out_type) in exynos_drm_crtc_get_pipe_from_type()
251 return exynos_crtc->pipe; in exynos_drm_crtc_get_pipe_from_type()
259 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_te_handler() local
261 if (exynos_crtc->ops->te_handler) in exynos_drm_crtc_te_handler()
262 exynos_crtc->ops->te_handler(exynos_crtc); in exynos_drm_crtc_te_handler()