Lines Matching refs:crtc

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