Lines Matching refs:crtc
52 struct drm_crtc *crtc; member
140 static bool ade_crtc_mode_fixup(struct drm_crtc *crtc, in ade_crtc_mode_fixup() argument
144 struct kirin_crtc *kcrtc = to_kirin_crtc(crtc); in ade_crtc_mode_fixup()
275 static int ade_crtc_enable_vblank(struct drm_crtc *crtc) in ade_crtc_enable_vblank() argument
277 struct kirin_crtc *kcrtc = to_kirin_crtc(crtc); in ade_crtc_enable_vblank()
290 static void ade_crtc_disable_vblank(struct drm_crtc *crtc) in ade_crtc_disable_vblank() argument
292 struct kirin_crtc *kcrtc = to_kirin_crtc(crtc); in ade_crtc_disable_vblank()
308 struct drm_crtc *crtc = ctx->crtc; in ade_irq_handler() local
319 drm_crtc_handle_vblank(crtc); in ade_irq_handler()
438 static void ade_crtc_atomic_enable(struct drm_crtc *crtc, in ade_crtc_atomic_enable() argument
441 struct kirin_crtc *kcrtc = to_kirin_crtc(crtc); in ade_crtc_atomic_enable()
457 drm_crtc_vblank_on(crtc); in ade_crtc_atomic_enable()
461 static void ade_crtc_atomic_disable(struct drm_crtc *crtc, in ade_crtc_atomic_disable() argument
464 struct kirin_crtc *kcrtc = to_kirin_crtc(crtc); in ade_crtc_atomic_disable()
470 drm_crtc_vblank_off(crtc); in ade_crtc_atomic_disable()
475 static void ade_crtc_mode_set_nofb(struct drm_crtc *crtc) in ade_crtc_mode_set_nofb() argument
477 struct kirin_crtc *kcrtc = to_kirin_crtc(crtc); in ade_crtc_mode_set_nofb()
479 struct drm_display_mode *mode = &crtc->state->mode; in ade_crtc_mode_set_nofb()
480 struct drm_display_mode *adj_mode = &crtc->state->adjusted_mode; in ade_crtc_mode_set_nofb()
487 static void ade_crtc_atomic_begin(struct drm_crtc *crtc, in ade_crtc_atomic_begin() argument
490 struct kirin_crtc *kcrtc = to_kirin_crtc(crtc); in ade_crtc_atomic_begin()
492 struct drm_display_mode *mode = &crtc->state->mode; in ade_crtc_atomic_begin()
493 struct drm_display_mode *adj_mode = &crtc->state->adjusted_mode; in ade_crtc_atomic_begin()
500 static void ade_crtc_atomic_flush(struct drm_crtc *crtc, in ade_crtc_atomic_flush() argument
504 struct kirin_crtc *kcrtc = to_kirin_crtc(crtc); in ade_crtc_atomic_flush()
506 struct drm_pending_vblank_event *event = crtc->state->event; in ade_crtc_atomic_flush()
517 crtc->state->event = NULL; in ade_crtc_atomic_flush()
519 spin_lock_irq(&crtc->dev->event_lock); in ade_crtc_atomic_flush()
520 if (drm_crtc_vblank_get(crtc) == 0) in ade_crtc_atomic_flush()
521 drm_crtc_arm_vblank_event(crtc, event); in ade_crtc_atomic_flush()
523 drm_crtc_send_vblank_event(crtc, event); in ade_crtc_atomic_flush()
524 spin_unlock_irq(&crtc->dev->event_lock); in ade_crtc_atomic_flush()
765 struct drm_crtc *crtc = new_plane_state->crtc; in ade_plane_atomic_check() local
777 if (!crtc || !fb) in ade_plane_atomic_check()
784 crtc_state = drm_atomic_get_crtc_state(state, crtc); in ade_plane_atomic_check()
844 struct drm_crtc *crtc) in ade_hw_ctx_alloc() argument
906 ctx->crtc = crtc; in ade_hw_ctx_alloc()