aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMihail Atanassov <mihail.atanassov@arm.com>2016-12-23 04:57:20 -0500
committerLiviu Dudau <Liviu.Dudau@arm.com>2017-01-23 04:46:24 -0500
commitc7ffa59cf03c38b91d6ef01e42c1b52fd7a4f285 (patch)
tree30157f9cd44c58091ccc252a6cb853e81a6ed7c4
parent7916efe5b57505080b3cebf5bdb228b4eda008ea (diff)
drm: mali-dp: fix Lx_CONTROL register fields clobber
When updating the rotation fields, one of the assignments zeroes out the rest of the register fields, which include settings for chroma siting, inverse gamma, AMBA AXI caching, and alpha blending. Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com> Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
-rw-r--r--drivers/gpu/drm/arm/malidp_planes.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c
index 629f634872a4..1db8b6977efc 100644
--- a/drivers/gpu/drm/arm/malidp_planes.c
+++ b/drivers/gpu/drm/arm/malidp_planes.c
@@ -219,7 +219,8 @@ static void malidp_de_plane_update(struct drm_plane *plane,
219 219
220 /* setup the rotation and axis flip bits */ 220 /* setup the rotation and axis flip bits */
221 if (plane->state->rotation & DRM_ROTATE_MASK) 221 if (plane->state->rotation & DRM_ROTATE_MASK)
222 val = ilog2(plane->state->rotation & DRM_ROTATE_MASK) << LAYER_ROT_OFFSET; 222 val |= ilog2(plane->state->rotation & DRM_ROTATE_MASK) <<
223 LAYER_ROT_OFFSET;
223 if (plane->state->rotation & DRM_REFLECT_X) 224 if (plane->state->rotation & DRM_REFLECT_X)
224 val |= LAYER_H_FLIP; 225 val |= LAYER_H_FLIP;
225 if (plane->state->rotation & DRM_REFLECT_Y) 226 if (plane->state->rotation & DRM_REFLECT_Y)