|
@@ -927,28 +927,30 @@ static void mixer_disable_vblank(struct exynos_drm_crtc *crtc)
|
|
|
mixer_reg_writemask(res, MXR_INT_EN, 0, MXR_INT_EN_VSYNC);
|
|
|
}
|
|
|
|
|
|
-static void mixer_update_plane(struct exynos_drm_crtc *crtc, unsigned int win)
|
|
|
+static void mixer_update_plane(struct exynos_drm_crtc *crtc,
|
|
|
+ struct exynos_drm_plane *plane)
|
|
|
{
|
|
|
struct mixer_context *mixer_ctx = crtc->ctx;
|
|
|
|
|
|
- DRM_DEBUG_KMS("win: %d\n", win);
|
|
|
+ DRM_DEBUG_KMS("win: %d\n", plane->zpos);
|
|
|
|
|
|
if (!test_bit(MXR_BIT_POWERED, &mixer_ctx->flags))
|
|
|
return;
|
|
|
|
|
|
- if (win > 1 && mixer_ctx->vp_enabled)
|
|
|
- vp_video_buffer(mixer_ctx, win);
|
|
|
+ if (plane->zpos > 1 && mixer_ctx->vp_enabled)
|
|
|
+ vp_video_buffer(mixer_ctx, plane->zpos);
|
|
|
else
|
|
|
- mixer_graph_buffer(mixer_ctx, win);
|
|
|
+ mixer_graph_buffer(mixer_ctx, plane->zpos);
|
|
|
}
|
|
|
|
|
|
-static void mixer_disable_plane(struct exynos_drm_crtc *crtc, unsigned int win)
|
|
|
+static void mixer_disable_plane(struct exynos_drm_crtc *crtc,
|
|
|
+ struct exynos_drm_plane *plane)
|
|
|
{
|
|
|
struct mixer_context *mixer_ctx = crtc->ctx;
|
|
|
struct mixer_resources *res = &mixer_ctx->mixer_res;
|
|
|
unsigned long flags;
|
|
|
|
|
|
- DRM_DEBUG_KMS("win: %d\n", win);
|
|
|
+ DRM_DEBUG_KMS("win: %d\n", plane->zpos);
|
|
|
|
|
|
if (!test_bit(MXR_BIT_POWERED, &mixer_ctx->flags))
|
|
|
return;
|
|
@@ -956,7 +958,7 @@ static void mixer_disable_plane(struct exynos_drm_crtc *crtc, unsigned int win)
|
|
|
spin_lock_irqsave(&res->reg_slock, flags);
|
|
|
mixer_vsync_set_update(mixer_ctx, false);
|
|
|
|
|
|
- mixer_cfg_layer(mixer_ctx, win, false);
|
|
|
+ mixer_cfg_layer(mixer_ctx, plane->zpos, false);
|
|
|
|
|
|
mixer_vsync_set_update(mixer_ctx, true);
|
|
|
spin_unlock_irqrestore(&res->reg_slock, flags);
|
|
@@ -1053,7 +1055,7 @@ static void mixer_disable(struct exynos_drm_crtc *crtc)
|
|
|
mixer_regs_dump(ctx);
|
|
|
|
|
|
for (i = 0; i < MIXER_WIN_NR; i++)
|
|
|
- mixer_disable_plane(crtc, i);
|
|
|
+ mixer_disable_plane(crtc, &ctx->planes[i]);
|
|
|
|
|
|
clear_bit(MXR_BIT_POWERED, &ctx->flags);
|
|
|
|