aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_atomic.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2016-09-26 19:30:47 +0300
committerDaniel Vetter <daniel.vetter@ffwll.ch>2016-10-21 18:22:14 +0200
commit6e0c7c3358d4e8e9917a97348e6f77da88226cbe (patch)
treeefdc77bb795d810682447c0afde8c4751504c8a7 /drivers/gpu/drm/drm_atomic.c
parentdrm: Add drm_rotation_90_or_270() (diff)
downloadlinux-dev-6e0c7c3358d4e8e9917a97348e6f77da88226cbe.tar.xz
linux-dev-6e0c7c3358d4e8e9917a97348e6f77da88226cbe.zip
drm/atomic: Reject attempts to use multiple rotation angles at once
The rotation property should only accept exactly one rotation angle at once. Let's reject attempts to set none or multiple angles. Testcase: igt/kms_rotation_crc/bad-rotation Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1474907460-10717-3-git-send-email-ville.syrjala@linux.intel.com
Diffstat (limited to 'drivers/gpu/drm/drm_atomic.c')
-rw-r--r--drivers/gpu/drm/drm_atomic.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index 5dd70540219c..13ce95ee458e 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -706,6 +706,8 @@ int drm_atomic_plane_set_property(struct drm_plane *plane,
} else if (property == config->prop_src_h) {
state->src_h = val;
} else if (property == config->rotation_property) {
+ if (!is_power_of_2(val & DRM_ROTATE_MASK))
+ return -EINVAL;
state->rotation = val;
} else if (property == plane->zpos_property) {
state->zpos = val;