diff options
author | Maxime Ripard <maxime.ripard@bootlin.com> | 2019-06-19 13:17:48 +0300 |
---|---|---|
committer | Maxime Ripard <maxime.ripard@bootlin.com> | 2019-06-19 13:17:48 +0300 |
commit | 307696d3b73406a266191b3fb977ac6e70b34e18 (patch) | |
tree | 212f4043e3bb22b24facfac99dd25f736e1a096b /drivers/gpu/drm/drm_client_modeset.c | |
parent | 46cc2d76a74a77e7abc94aa0aa378a8efaf82aa5 (diff) | |
download | linux-307696d3b73406a266191b3fb977ac6e70b34e18.tar.xz |
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.c | 3 |
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++) |