drm: mali-dp: Fix transposed horizontal/vertical flip
authorBrian Starkey <brian.starkey@arm.com>
Wed, 7 Dec 2016 13:20:28 +0000 (13:20 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 8 Oct 2017 08:26:07 +0000 (10:26 +0200)
[ Upstream commit 7916efe5b57505080b3cebf5bdb228b4eda008ea ]

The horizontal and vertical flip flags were the wrong way around,
causing reflect-x to result in reflect-y being applied and vice-versa.
Fix them.

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 a6bdd91..afe0480 100644 (file)
@@ -184,9 +184,9 @@ static void malidp_de_plane_update(struct drm_plane *plane,
        if (plane->state->rotation & DRM_ROTATE_MASK)
                val = ilog2(plane->state->rotation & DRM_ROTATE_MASK) << LAYER_ROT_OFFSET;
        if (plane->state->rotation & DRM_REFLECT_X)
-               val |= LAYER_V_FLIP;
-       if (plane->state->rotation & DRM_REFLECT_Y)
                val |= LAYER_H_FLIP;
+       if (plane->state->rotation & DRM_REFLECT_Y)
+               val |= LAYER_V_FLIP;
 
        /* set the 'enable layer' bit */
        val |= LAYER_ENABLE;