summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancesco Valla <francesco@valla.it>2025-10-03 12:33:03 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-10-23 16:24:35 +0200
commitf0edcc0ff6fd7ce51b9d9adee3f93cde3fee971c (patch)
tree7c62106a8208811c2b29ba86ee6a744fc3722db9
parent0fe5e3f5fb75c5d88dad24dece3ee75e9d87adeb (diff)
downloadlinux-f0edcc0ff6fd7ce51b9d9adee3f93cde3fee971c.tar.gz
linux-f0edcc0ff6fd7ce51b9d9adee3f93cde3fee971c.tar.bz2
linux-f0edcc0ff6fd7ce51b9d9adee3f93cde3fee971c.zip
drm/draw: fix color truncation in drm_draw_fill24
[ Upstream commit 095232711f23179053ca26bcf046ca121a91a465 ] The color parameter passed to drm_draw_fill24() was truncated to 16 bits, leading to an incorrect color drawn to the target iosys_map. Fix this behavior, widening the parameter to 32 bits. Fixes: 31fa2c1ca0b2 ("drm/panic: Move drawing functions to drm_draw") Signed-off-by: Francesco Valla <francesco@valla.it> Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com> Link: https://lore.kernel.org/r/20251003-drm_draw_fill24_fix-v1-1-8fb7c1c2a893@valla.it Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/gpu/drm/drm_draw.c2
-rw-r--r--drivers/gpu/drm/drm_draw_internal.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/drm_draw.c b/drivers/gpu/drm/drm_draw.c
index 9dc0408fbbea..5b956229c82f 100644
--- a/drivers/gpu/drm/drm_draw.c
+++ b/drivers/gpu/drm/drm_draw.c
@@ -127,7 +127,7 @@ EXPORT_SYMBOL(drm_draw_fill16);
void drm_draw_fill24(struct iosys_map *dmap, unsigned int dpitch,
unsigned int height, unsigned int width,
- u16 color)
+ u32 color)
{
unsigned int y, x;
diff --git a/drivers/gpu/drm/drm_draw_internal.h b/drivers/gpu/drm/drm_draw_internal.h
index f121ee7339dc..20cb404e23ea 100644
--- a/drivers/gpu/drm/drm_draw_internal.h
+++ b/drivers/gpu/drm/drm_draw_internal.h
@@ -47,7 +47,7 @@ void drm_draw_fill16(struct iosys_map *dmap, unsigned int dpitch,
void drm_draw_fill24(struct iosys_map *dmap, unsigned int dpitch,
unsigned int height, unsigned int width,
- u16 color);
+ u32 color);
void drm_draw_fill32(struct iosys_map *dmap, unsigned int dpitch,
unsigned int height, unsigned int width,