Commit 307696d3 authored by Maxime Ripard's avatar Maxime Ripard

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: default avatarNoralf Trønnes <noralf@tronnes.org>
Signed-off-by: default avatarMaxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/cf4de0cdef20aac6c654b7b73c2ab3e317c46803.1560783090.git-series.maxime.ripard@bootlin.com
parent 46cc2d76
...@@ -845,7 +845,8 @@ bool drm_client_panel_rotation(struct drm_mode_set *modeset, unsigned int *rotat ...@@ -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 * depending on the hardware this may require the framebuffer
* to be in a specific tiling format. * 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; return false;
for (i = 0; i < plane->rotation_property->num_values; i++) for (i = 0; i < plane->rotation_property->num_values; i++)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment