Lines Matching full:crtc

21 static void exynos_drm_crtc_atomic_enable(struct drm_crtc *crtc,  in exynos_drm_crtc_atomic_enable()  argument
24 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_atomic_enable()
29 drm_crtc_vblank_on(crtc); in exynos_drm_crtc_atomic_enable()
32 static void exynos_drm_crtc_atomic_disable(struct drm_crtc *crtc, in exynos_drm_crtc_atomic_disable() argument
35 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_atomic_disable()
37 drm_crtc_vblank_off(crtc); in exynos_drm_crtc_atomic_disable()
42 spin_lock_irq(&crtc->dev->event_lock); in exynos_drm_crtc_atomic_disable()
43 if (crtc->state->event && !crtc->state->active) { in exynos_drm_crtc_atomic_disable()
44 drm_crtc_send_vblank_event(crtc, crtc->state->event); in exynos_drm_crtc_atomic_disable()
45 crtc->state->event = NULL; in exynos_drm_crtc_atomic_disable()
47 spin_unlock_irq(&crtc->dev->event_lock); in exynos_drm_crtc_atomic_disable()
50 static int exynos_crtc_atomic_check(struct drm_crtc *crtc, in exynos_crtc_atomic_check() argument
54 crtc); in exynos_crtc_atomic_check()
55 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_crtc_atomic_check()
66 static void exynos_crtc_atomic_begin(struct drm_crtc *crtc, in exynos_crtc_atomic_begin() argument
69 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_crtc_atomic_begin()
75 static void exynos_crtc_atomic_flush(struct drm_crtc *crtc, in exynos_crtc_atomic_flush() argument
78 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_crtc_atomic_flush()
84 static enum drm_mode_status exynos_crtc_mode_valid(struct drm_crtc *crtc, in exynos_crtc_mode_valid() argument
87 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_crtc_mode_valid()
95 static bool exynos_crtc_mode_fixup(struct drm_crtc *crtc, in exynos_crtc_mode_fixup() argument
99 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_crtc_mode_fixup()
121 struct drm_crtc *crtc = &exynos_crtc->base; in exynos_crtc_handle_event() local
122 struct drm_pending_vblank_event *event = crtc->state->event; in exynos_crtc_handle_event()
127 crtc->state->event = NULL; in exynos_crtc_handle_event()
129 WARN_ON(drm_crtc_vblank_get(crtc) != 0); in exynos_crtc_handle_event()
131 spin_lock_irqsave(&crtc->dev->event_lock, flags); in exynos_crtc_handle_event()
132 drm_crtc_arm_vblank_event(crtc, event); in exynos_crtc_handle_event()
133 spin_unlock_irqrestore(&crtc->dev->event_lock, flags); in exynos_crtc_handle_event()
136 static void exynos_drm_crtc_destroy(struct drm_crtc *crtc) in exynos_drm_crtc_destroy() argument
138 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_destroy()
140 drm_crtc_cleanup(crtc); in exynos_drm_crtc_destroy()
144 static int exynos_drm_crtc_enable_vblank(struct drm_crtc *crtc) in exynos_drm_crtc_enable_vblank() argument
146 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_enable_vblank()
154 static void exynos_drm_crtc_disable_vblank(struct drm_crtc *crtc) in exynos_drm_crtc_disable_vblank() argument
156 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_disable_vblank()
180 struct drm_crtc *crtc; in exynos_drm_crtc_create() local
191 crtc = &exynos_crtc->base; in exynos_drm_crtc_create()
193 ret = drm_crtc_init_with_planes(drm_dev, crtc, plane, NULL, in exynos_drm_crtc_create()
198 drm_crtc_helper_add(crtc, &exynos_crtc_helper_funcs); in exynos_drm_crtc_create()
211 struct drm_crtc *crtc; in exynos_drm_crtc_get_by_type() local
213 drm_for_each_crtc(crtc, drm_dev) in exynos_drm_crtc_get_by_type()
214 if (to_exynos_crtc(crtc)->type == out_type) in exynos_drm_crtc_get_by_type()
215 return to_exynos_crtc(crtc); in exynos_drm_crtc_get_by_type()
223 struct exynos_drm_crtc *crtc = exynos_drm_crtc_get_by_type(encoder->dev, in exynos_drm_set_possible_crtcs() local
226 if (IS_ERR(crtc)) in exynos_drm_set_possible_crtcs()
227 return PTR_ERR(crtc); in exynos_drm_set_possible_crtcs()
229 encoder->possible_crtcs = drm_crtc_mask(&crtc->base); in exynos_drm_set_possible_crtcs()
234 void exynos_drm_crtc_te_handler(struct drm_crtc *crtc) in exynos_drm_crtc_te_handler() argument
236 struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); in exynos_drm_crtc_te_handler()