drm/arm/hdlcd: Use drm_mode_get_hv_timing() to populate plane clip rectangle
authorVille Syrjälä <[email protected]>
Thu, 23 Nov 2017 19:04:50 +0000 (21:04 +0200)
committerVille Syrjälä <[email protected]>
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 <[email protected]>
Cc: Liviu Dudau <[email protected]>
Cc: Brian Starkey <[email protected]>
Cc: Mali DP Maintainers <[email protected]>
Signed-off-by: Ville Syrjälä <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Acked-by: Liviu Dudau <[email protected]>
Reviewed-by: Thierry Reding <[email protected]>
drivers/gpu/drm/arm/hdlcd_crtc.c

index 630721f429f7e748dfbc7e8a7d89a0a98b4f6377..877647ef35a99c6dd9bd22391f5411436d200c11 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,