Lines Matching refs:crtc
91 struct drm_crtc crtc; member
194 static inline struct ingenic_drm *drm_crtc_get_priv(struct drm_crtc *crtc) in drm_crtc_get_priv() argument
196 return container_of(crtc, struct ingenic_drm, crtc); in drm_crtc_get_priv()
222 drm_crtc_wait_one_vblank(&priv->crtc); in ingenic_drm_update_pixclk()
242 static void ingenic_drm_crtc_atomic_enable(struct drm_crtc *crtc, in ingenic_drm_crtc_atomic_enable() argument
245 struct ingenic_drm *priv = drm_crtc_get_priv(crtc); in ingenic_drm_crtc_atomic_enable()
258 drm_crtc_vblank_on(crtc); in ingenic_drm_crtc_atomic_enable()
275 static void ingenic_drm_crtc_atomic_disable(struct drm_crtc *crtc, in ingenic_drm_crtc_atomic_disable() argument
278 drm_crtc_vblank_off(crtc); in ingenic_drm_crtc_atomic_disable()
335 static int ingenic_drm_crtc_atomic_check(struct drm_crtc *crtc, in ingenic_drm_crtc_atomic_check() argument
339 crtc); in ingenic_drm_crtc_atomic_check()
340 struct ingenic_drm *priv = drm_crtc_get_priv(crtc); in ingenic_drm_crtc_atomic_check()
382 ingenic_drm_crtc_mode_valid(struct drm_crtc *crtc, const struct drm_display_mode *mode) in ingenic_drm_crtc_mode_valid() argument
384 struct ingenic_drm *priv = drm_crtc_get_priv(crtc); in ingenic_drm_crtc_mode_valid()
399 static void ingenic_drm_crtc_atomic_begin(struct drm_crtc *crtc, in ingenic_drm_crtc_atomic_begin() argument
403 crtc); in ingenic_drm_crtc_atomic_begin()
404 struct ingenic_drm *priv = drm_crtc_get_priv(crtc); in ingenic_drm_crtc_atomic_begin()
421 static void ingenic_drm_crtc_atomic_flush(struct drm_crtc *crtc, in ingenic_drm_crtc_atomic_flush() argument
424 struct ingenic_drm *priv = drm_crtc_get_priv(crtc); in ingenic_drm_crtc_atomic_flush()
426 crtc); in ingenic_drm_crtc_atomic_flush()
445 spin_lock_irq(&crtc->dev->event_lock); in ingenic_drm_crtc_atomic_flush()
446 if (drm_crtc_vblank_get(crtc) == 0) in ingenic_drm_crtc_atomic_flush()
447 drm_crtc_arm_vblank_event(crtc, event); in ingenic_drm_crtc_atomic_flush()
449 drm_crtc_send_vblank_event(crtc, event); in ingenic_drm_crtc_atomic_flush()
450 spin_unlock_irq(&crtc->dev->event_lock); in ingenic_drm_crtc_atomic_flush()
464 struct drm_crtc *crtc = new_plane_state->crtc ?: old_plane_state->crtc; in ingenic_drm_plane_atomic_check() local
467 if (!crtc) in ingenic_drm_plane_atomic_check()
474 crtc); in ingenic_drm_plane_atomic_check()
673 crtc_state = newstate->crtc->state; in ingenic_drm_plane_atomic_update()
875 drm_crtc_handle_vblank(&priv->crtc); in ingenic_drm_irq_handler()
880 static int ingenic_drm_enable_vblank(struct drm_crtc *crtc) in ingenic_drm_enable_vblank() argument
882 struct ingenic_drm *priv = drm_crtc_get_priv(crtc); in ingenic_drm_enable_vblank()
893 static void ingenic_drm_disable_vblank(struct drm_crtc *crtc) in ingenic_drm_disable_vblank() argument
895 struct ingenic_drm *priv = drm_crtc_get_priv(crtc); in ingenic_drm_disable_vblank()
1208 drm_crtc_helper_add(&priv->crtc, &ingenic_drm_crtc_helper_funcs); in ingenic_drm_bind()
1210 ret = drm_crtc_init_with_planes(drm, &priv->crtc, primary, in ingenic_drm_bind()
1217 drm_crtc_enable_color_mgmt(&priv->crtc, 0, false, in ingenic_drm_bind()
1282 encoder->possible_crtcs = drm_crtc_mask(&priv->crtc); in ingenic_drm_bind()