dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 resend 2] drm/armada: Fix off-by-one error in armada_overlay_get_property()
@ 2023-07-17 13:25 Geert Uytterhoeven
  2023-07-29 19:14 ` Javier Martinez Canillas
  0 siblings, 1 reply; 2+ messages in thread
From: Geert Uytterhoeven @ 2023-07-17 13:25 UTC (permalink / raw)
  To: Russell King, David Airlie, Daniel Vetter
  Cc: Geert Uytterhoeven, Russell King, linux-kernel, dri-devel

As ffs() returns one more than the index of the first bit set (zero
means no bits set), the color key mode value is shifted one position too
much.

Fix this by using FIELD_GET() instead.

Fixes: c96103b6c49ff9a8 ("drm/armada: move colorkey properties into overlay plane state")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
---
Compile-tested only.

v2:
  - Add Reviewed-by.
---
 drivers/gpu/drm/armada/armada_overlay.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/armada/armada_overlay.c b/drivers/gpu/drm/armada/armada_overlay.c
index f21eb8fb76d87285..3b9bd8ecda137f6d 100644
--- a/drivers/gpu/drm/armada/armada_overlay.c
+++ b/drivers/gpu/drm/armada/armada_overlay.c
@@ -4,6 +4,8 @@
  *  Rewritten from the dovefb driver, and Armada510 manuals.
  */
 
+#include <linux/bitfield.h>
+
 #include <drm/armada_drm.h>
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
@@ -445,8 +447,8 @@ static int armada_overlay_get_property(struct drm_plane *plane,
 			     drm_to_overlay_state(state)->colorkey_ug,
 			     drm_to_overlay_state(state)->colorkey_vb, 0);
 	} else if (property == priv->colorkey_mode_prop) {
-		*val = (drm_to_overlay_state(state)->colorkey_mode &
-			CFG_CKMODE_MASK) >> ffs(CFG_CKMODE_MASK);
+		*val = FIELD_GET(CFG_CKMODE_MASK,
+				 drm_to_overlay_state(state)->colorkey_mode);
 	} else if (property == priv->brightness_prop) {
 		*val = drm_to_overlay_state(state)->brightness + 256;
 	} else if (property == priv->contrast_prop) {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v2 resend 2] drm/armada: Fix off-by-one error in armada_overlay_get_property()
  2023-07-17 13:25 [PATCH v2 resend 2] drm/armada: Fix off-by-one error in armada_overlay_get_property() Geert Uytterhoeven
@ 2023-07-29 19:14 ` Javier Martinez Canillas
  0 siblings, 0 replies; 2+ messages in thread
From: Javier Martinez Canillas @ 2023-07-29 19:14 UTC (permalink / raw)
  To: Geert Uytterhoeven, Russell King, David Airlie, Daniel Vetter
  Cc: dri-devel, Russell King, linux-kernel, Geert Uytterhoeven

Geert Uytterhoeven <geert+renesas@glider.be> writes:

> As ffs() returns one more than the index of the first bit set (zero
> means no bits set), the color key mode value is shifted one position too
> much.
>
> Fix this by using FIELD_GET() instead.
>
> Fixes: c96103b6c49ff9a8 ("drm/armada: move colorkey properties into overlay plane state")
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
> ---
> Compile-tested only.
>
> v2:
>   - Add Reviewed-by.
> ---

Pushed to drm-misc (drm-misc-next). Thanks!

-- 
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-07-29 19:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-17 13:25 [PATCH v2 resend 2] drm/armada: Fix off-by-one error in armada_overlay_get_property() Geert Uytterhoeven
2023-07-29 19:14 ` Javier Martinez Canillas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).