drm: mali-dp: Fix destination size handling when rotating
authorBrian Starkey <brian.starkey@arm.com>
Wed, 7 Dec 2016 13:17:21 +0000 (13:17 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 8 Oct 2017 08:26:07 +0000 (10:26 +0200)
[ Upstream commit edabb3c4cd2d035bc93a3d67b25a304ea6217301 ]

The destination rectangle provided by userspace in the CRTC_X/Y/W/H
properties is already expressed as the dimensions after rotation.
This means we shouldn't swap the width and height ourselves when a
90/270 degree rotation is requested, so remove the code doing the swap.

Fixes: ad49f8602fe8 ("drm/arm: Add support for Mali Display Processors")

Signed-off-by: Brian Starkey <brian.starkey@arm.com>
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/arm/malidp_planes.c

index 82c193e..a6bdd91 100644 (file)
@@ -150,13 +150,8 @@ static void malidp_de_plane_update(struct drm_plane *plane,
        /* convert src values from Q16 fixed point to integer */
        src_w = plane->state->src_w >> 16;
        src_h = plane->state->src_h >> 16;
-       if (plane->state->rotation & MALIDP_ROTATED_MASK) {
-               dest_w = plane->state->crtc_h;
-               dest_h = plane->state->crtc_w;
-       } else {
-               dest_w = plane->state->crtc_w;
-               dest_h = plane->state->crtc_h;
-       }
+       dest_w = plane->state->crtc_w;
+       dest_h = plane->state->crtc_h;
 
        malidp_hw_write(mp->hwdev, format_id, mp->layer->base);