Lines Matching refs:crtc
29 static int kmb_crtc_enable_vblank(struct drm_crtc *crtc) in kmb_crtc_enable_vblank() argument
31 struct drm_device *dev = crtc->dev; in kmb_crtc_enable_vblank()
45 static void kmb_crtc_disable_vblank(struct drm_crtc *crtc) in kmb_crtc_disable_vblank() argument
47 struct drm_device *dev = crtc->dev; in kmb_crtc_disable_vblank()
68 static void kmb_crtc_set_mode(struct drm_crtc *crtc, in kmb_crtc_set_mode() argument
71 struct drm_device *dev = crtc->dev; in kmb_crtc_set_mode()
72 struct drm_display_mode *m = &crtc->state->adjusted_mode; in kmb_crtc_set_mode()
135 static void kmb_crtc_atomic_enable(struct drm_crtc *crtc, in kmb_crtc_atomic_enable() argument
138 struct kmb_drm_private *kmb = crtc_to_kmb_priv(crtc); in kmb_crtc_atomic_enable()
141 kmb_crtc_set_mode(crtc, state); in kmb_crtc_atomic_enable()
142 drm_crtc_vblank_on(crtc); in kmb_crtc_atomic_enable()
145 static void kmb_crtc_atomic_disable(struct drm_crtc *crtc, in kmb_crtc_atomic_disable() argument
148 struct kmb_drm_private *kmb = crtc_to_kmb_priv(crtc); in kmb_crtc_atomic_disable()
149 struct drm_crtc_state *old_state = drm_atomic_get_old_crtc_state(state, crtc); in kmb_crtc_atomic_disable()
154 drm_crtc_vblank_off(crtc); in kmb_crtc_atomic_disable()
158 static void kmb_crtc_atomic_begin(struct drm_crtc *crtc, in kmb_crtc_atomic_begin() argument
161 struct drm_device *dev = crtc->dev; in kmb_crtc_atomic_begin()
168 static void kmb_crtc_atomic_flush(struct drm_crtc *crtc, in kmb_crtc_atomic_flush() argument
171 struct drm_device *dev = crtc->dev; in kmb_crtc_atomic_flush()
177 spin_lock_irq(&crtc->dev->event_lock); in kmb_crtc_atomic_flush()
178 if (crtc->state->event) { in kmb_crtc_atomic_flush()
179 if (drm_crtc_vblank_get(crtc) == 0) in kmb_crtc_atomic_flush()
180 drm_crtc_arm_vblank_event(crtc, crtc->state->event); in kmb_crtc_atomic_flush()
182 drm_crtc_send_vblank_event(crtc, crtc->state->event); in kmb_crtc_atomic_flush()
184 crtc->state->event = NULL; in kmb_crtc_atomic_flush()
185 spin_unlock_irq(&crtc->dev->event_lock); in kmb_crtc_atomic_flush()
189 kmb_crtc_mode_valid(struct drm_crtc *crtc, in kmb_crtc_mode_valid() argument
193 struct drm_device *dev = crtc->dev; in kmb_crtc_mode_valid()
239 ret = drm_crtc_init_with_planes(drm, &kmb->crtc, &primary->base_plane, in kmb_setup_crtc()
246 drm_crtc_helper_add(&kmb->crtc, &kmb_crtc_helper_funcs); in kmb_setup_crtc()