drm/arm/hdlcd: Use drm_mode_get_hv_timing() to populate plane clip rectangle
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 23 Nov 2017 19:04:50 +0000 (21:04 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 23 Jan 2018 15:41:32 +0000 (17:41 +0200)
Use drm_mode_get_hv_timing() to fill out the plane clip rectangle.

Note that this replaces crtc_state->adjusted_mode usage with
crtc_state->mode. The latter is the correct choice since that's the
mode the user provided and it matches the plane crtc coordinates
the user also provided.

Once everyone agrees on this we can move the clip handling into
drm_atomic_helper_check_plane_state().

Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Liviu Dudau <liviu.dudau@arm.com>
Cc: Brian Starkey <brian.starkey@arm.com>
Cc: Mali DP Maintainers <malidp@foss.arm.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171123190502.28449-4-ville.syrjala@linux.intel.com
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
drivers/gpu/drm/arm/hdlcd_crtc.c

index 630721f..877647e 100644 (file)
@@ -249,8 +249,9 @@ static int hdlcd_plane_atomic_check(struct drm_plane *plane,
                return -EINVAL;
        }
 
-       clip.x2 = crtc_state->adjusted_mode.hdisplay;
-       clip.y2 = crtc_state->adjusted_mode.vdisplay;
+       if (crtc_state->enable)
+               drm_mode_get_hv_timing(&crtc_state->mode,
+                                      &clip.x2, &clip.y2);
 
        return drm_atomic_helper_check_plane_state(state, crtc_state, &clip,
                                                   DRM_PLANE_HELPER_NO_SCALING,