summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/imx
diff options
context:
space:
mode:
authorPhilipp Zabel <p.zabel@pengutronix.de>2016-10-18 12:13:15 +0200
committerPhilipp Zabel <p.zabel@pengutronix.de>2016-10-20 14:39:52 +0200
commit181c9bfe4b37a36075c91b9e16ce8c99ed0d9b7b (patch)
tree35c0ea15c2c8ee29b6881552451c9de291b31929 /drivers/gpu/drm/imx
parent86126748cd5063aa888ce252f16b89b35e7d4707 (diff)
downloadlinux-181c9bfe4b37a36075c91b9e16ce8c99ed0d9b7b.tar.bz2
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 <p.zabel@pengutronix.de> Acked-by: Liu Ying <gnuiyl@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/imx')
-rw-r--r--drivers/gpu/drm/imx/ipuv3-plane.c6
1 files 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])