Lines Matching refs:crtc
151 struct exynos_drm_crtc *crtc; member
207 static int fimd_enable_vblank(struct exynos_drm_crtc *crtc) in fimd_enable_vblank() argument
209 struct fimd_context *ctx = crtc->ctx; in fimd_enable_vblank()
239 static void fimd_disable_vblank(struct exynos_drm_crtc *crtc) in fimd_disable_vblank() argument
241 struct fimd_context *ctx = crtc->ctx; in fimd_disable_vblank()
263 static void fimd_wait_for_vblank(struct exynos_drm_crtc *crtc) in fimd_wait_for_vblank() argument
265 struct fimd_context *ctx = crtc->ctx; in fimd_wait_for_vblank()
309 static void fimd_clear_channels(struct exynos_drm_crtc *crtc) in fimd_clear_channels() argument
311 struct fimd_context *ctx = crtc->ctx; in fimd_clear_channels()
345 fimd_enable_vblank(ctx->crtc); in fimd_clear_channels()
346 fimd_wait_for_vblank(ctx->crtc); in fimd_clear_channels()
347 fimd_disable_vblank(ctx->crtc); in fimd_clear_channels()
379 static void fimd_commit(struct exynos_drm_crtc *crtc) in fimd_commit() argument
381 struct fimd_context *ctx = crtc->ctx; in fimd_commit()
382 struct drm_display_mode *mode = &crtc->base.state->adjusted_mode; in fimd_commit()
618 static void fimd_atomic_begin(struct exynos_drm_crtc *crtc, in fimd_atomic_begin() argument
621 struct fimd_context *ctx = crtc->ctx; in fimd_atomic_begin()
629 static void fimd_atomic_flush(struct exynos_drm_crtc *crtc, in fimd_atomic_flush() argument
632 struct fimd_context *ctx = crtc->ctx; in fimd_atomic_flush()
640 static void fimd_update_plane(struct exynos_drm_crtc *crtc, in fimd_update_plane() argument
643 struct fimd_context *ctx = crtc->ctx; in fimd_update_plane()
730 static void fimd_disable_plane(struct exynos_drm_crtc *crtc, in fimd_disable_plane() argument
733 struct fimd_context *ctx = crtc->ctx; in fimd_disable_plane()
745 static void fimd_enable(struct exynos_drm_crtc *crtc) in fimd_enable() argument
747 struct fimd_context *ctx = crtc->ctx; in fimd_enable()
771 fimd_enable_vblank(ctx->crtc); in fimd_enable()
773 fimd_commit(ctx->crtc); in fimd_enable()
776 static void fimd_disable(struct exynos_drm_crtc *crtc) in fimd_disable() argument
778 struct fimd_context *ctx = crtc->ctx; in fimd_disable()
790 fimd_disable_plane(crtc, &ctx->planes[i]); in fimd_disable()
792 fimd_enable_vblank(crtc); in fimd_disable()
793 fimd_wait_for_vblank(crtc); in fimd_disable()
794 fimd_disable_vblank(crtc); in fimd_disable()
835 static void fimd_te_handler(struct exynos_drm_crtc *crtc) in fimd_te_handler() argument
837 struct fimd_context *ctx = crtc->ctx; in fimd_te_handler()
857 drm_crtc_handle_vblank(&ctx->crtc->base); in fimd_te_handler()
860 static void fimd_dp_clock_enable(struct exynos_drm_crtc *crtc, bool enable) in fimd_dp_clock_enable() argument
862 struct fimd_context *ctx = crtc->ctx; in fimd_dp_clock_enable()
909 drm_crtc_handle_vblank(&ctx->crtc->base); in fimd_irq_handler()
920 exynos_drm_crtc_finish_update(ctx->crtc, plane); in fimd_irq_handler()
961 ctx->crtc = exynos_drm_crtc_create(drm_dev, &exynos_plane->base, in fimd_bind()
964 if (IS_ERR(ctx->crtc)) in fimd_bind()
965 return PTR_ERR(ctx->crtc); in fimd_bind()
971 fimd_clear_channels(ctx->crtc); in fimd_bind()
985 fimd_disable(ctx->crtc); in fimd_unbind()