summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/drm_client_modeset.c
diff options
context:
space:
mode:
authorMaxime Ripard <maxime.ripard@bootlin.com>2019-06-19 12:17:48 +0200
committerMaxime Ripard <maxime.ripard@bootlin.com>2019-06-19 12:17:48 +0200
commit307696d3b73406a266191b3fb977ac6e70b34e18 (patch)
tree212f4043e3bb22b24facfac99dd25f736e1a096b /drivers/gpu/drm/drm_client_modeset.c
parent46cc2d76a74a77e7abc94aa0aa378a8efaf82aa5 (diff)
drm/client: Restrict the rotation check to the rotation itself
The drm_client_rotation has a check on the rotation value, but the reflections are also stored in the same variable, and the check doesn't take this into account. Therefore, even though we might have a valid rotation, if we're also using a reflection parameter, the test will fail for no particular reason. Reviewed-by: Noralf Trønnes <noralf@tronnes.org> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Link: https://patchwork.freedesktop.org/patch/msgid/cf4de0cdef20aac6c654b7b73c2ab3e317c46803.1560783090.git-series.maxime.ripard@bootlin.com
Diffstat (limited to 'drivers/gpu/drm/drm_client_modeset.c')
-rw-r--r--drivers/gpu/drm/drm_client_modeset.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c
index 8264c3a732b0..b4e5fb0a17cf 100644
--- a/drivers/gpu/drm/drm_client_modeset.c
+++ b/drivers/gpu/drm/drm_client_modeset.c
@@ -845,7 +845,8 @@ bool drm_client_panel_rotation(struct drm_mode_set *modeset, unsigned int *rotat
* depending on the hardware this may require the framebuffer
* to be in a specific tiling format.
*/
- if (*rotation != DRM_MODE_ROTATE_180 || !plane->rotation_property)
+ if ((*rotation & DRM_MODE_ROTATE_MASK) != DRM_MODE_ROTATE_180 ||
+ !plane->rotation_property)
return false;
for (i = 0; i < plane->rotation_property->num_values; i++)