[PATCH 3/9] drm/imx: ipuv3-plane: request modeset if plane offsets changed
On Wed, Oct 19, 2016 at 12:07 AM, Philipp Zabel wrote: > 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 d4a771c..f217444 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 > 0xf8) || (vbo > 0xf8)) > 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.9.3 >
[PATCH 3/9] 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 --- 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 d4a771c..f217444 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 > 0xf8) || (vbo > 0xf8)) 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.9.3