From 181c9bfe4b37a36075c91b9e16ce8c99ed0d9b7b Mon Sep 17 00:00:00 2001
From: Philipp Zabel
Date: Tue, 18 Oct 2016 12:13:15 +0200
Subject: [PATCH] drm/imx: ipuv3-plane: request modeset if plane offsets
changed
If the framebuffer pixel format is planar YUV and unchanged, but the U
or V plane offsets change, do not return an error, but request a modeset
instead.
Signed-off-by: Philipp Zabel
Acked-by: Liu Ying
---
drivers/gpu/drm/imx/ipuv3-plane.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/imx/ipuv3-plane.c b/drivers/gpu/drm/imx/ipuv3-plane.c
index d5864ed4d772..737f085eafac 100644
--- a/drivers/gpu/drm/imx/ipuv3-plane.c
+++ b/drivers/gpu/drm/imx/ipuv3-plane.c
@@ -356,13 +356,11 @@ static int ipu_plane_atomic_check(struct drm_plane *plane,
if ((ubo > 0xfffff8) || (vbo > 0xfffff8))
return -EINVAL;
- if (old_fb &&
- (old_fb->pixel_format == DRM_FORMAT_YUV420 ||
- old_fb->pixel_format == DRM_FORMAT_YVU420)) {
+ if (old_fb && (fb->pixel_format == old_fb->pixel_format)) {
old_ubo = drm_plane_state_to_ubo(old_state);
old_vbo = drm_plane_state_to_vbo(old_state);
if (ubo != old_ubo || vbo != old_vbo)
- return -EINVAL;
+ crtc_state->mode_changed = true;
}
if (fb->pitches[1] != fb->pitches[2])
--
2.39.5