1 From 0b216b3988e5b7035cd5ed8a9910eacbb3420ce0 Mon Sep 17 00:00:00 2001
2 From: Dave Stevenson <dave.stevenson@raspberrypi.com>
3 Date: Thu, 12 Dec 2024 11:59:52 +0000
4 Subject: [PATCH] drm: Validate connector rotation has one bit set in the
7 Copy the same validation logic as from the plane rotation property.
9 Fixes: 8fec3ff87049 ("drm: Add a rotation parameter to connectors.")
10 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
12 drivers/gpu/drm/drm_atomic_uapi.c | 6 ++++++
13 1 file changed, 6 insertions(+)
15 --- a/drivers/gpu/drm/drm_atomic_uapi.c
16 +++ b/drivers/gpu/drm/drm_atomic_uapi.c
17 @@ -812,6 +812,12 @@ static int drm_atomic_connector_set_prop
18 } else if (property == connector->privacy_screen_sw_state_property) {
19 state->privacy_screen_sw_state = val;
20 } else if (property == connector->rotation_property) {
21 + if (!is_power_of_2(val & DRM_MODE_ROTATE_MASK)) {
22 + drm_dbg_atomic(connector->dev,
23 + "[CONNECTOR:%d:%s] bad rotation bitmask: 0x%llx\n",
24 + connector->base.id, connector->name, val);
27 state->rotation = val;
28 } else if (connector->funcs->atomic_set_property) {
29 return connector->funcs->atomic_set_property(connector,