Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/gud: Add GUD_PIXEL_FORMAT_RGB888

Add support for the RGB888 pixel format.

Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20210929191201.34456-7-noralf@tronnes.org

+9
+2
drivers/gpu/drm/gud/gud_drv.c
··· 528 528 case GUD_DRM_FORMAT_XRGB1111: 529 529 fallthrough; 530 530 case DRM_FORMAT_RGB332: 531 + fallthrough; 532 + case DRM_FORMAT_RGB888: 531 533 if (!xrgb8888_emulation_format) 532 534 xrgb8888_emulation_format = info; 533 535 break;
+4
drivers/gpu/drm/gud/gud_internal.h
··· 88 88 return GUD_PIXEL_FORMAT_RGB332; 89 89 case DRM_FORMAT_RGB565: 90 90 return GUD_PIXEL_FORMAT_RGB565; 91 + case DRM_FORMAT_RGB888: 92 + return GUD_PIXEL_FORMAT_RGB888; 91 93 case DRM_FORMAT_XRGB8888: 92 94 return GUD_PIXEL_FORMAT_XRGB8888; 93 95 case DRM_FORMAT_ARGB8888: ··· 112 110 return DRM_FORMAT_RGB332; 113 111 case GUD_PIXEL_FORMAT_RGB565: 114 112 return DRM_FORMAT_RGB565; 113 + case GUD_PIXEL_FORMAT_RGB888: 114 + return DRM_FORMAT_RGB888; 115 115 case GUD_PIXEL_FORMAT_XRGB8888: 116 116 return DRM_FORMAT_XRGB8888; 117 117 case GUD_PIXEL_FORMAT_ARGB8888:
+2
drivers/gpu/drm/gud/gud_pipe.c
··· 195 195 drm_fb_xrgb8888_to_rgb332(buf, vaddr, fb, rect); 196 196 } else if (format->format == DRM_FORMAT_RGB565) { 197 197 drm_fb_xrgb8888_to_rgb565(buf, vaddr, fb, rect, gud_is_big_endian()); 198 + } else if (format->format == DRM_FORMAT_RGB888) { 199 + drm_fb_xrgb8888_to_rgb888(buf, vaddr, fb, rect); 198 200 } else { 199 201 len = gud_xrgb8888_to_color(buf, format, vaddr, fb, rect); 200 202 }
+1
include/drm/gud.h
··· 251 251 #define GUD_PIXEL_FORMAT_XRGB1111 0x20 252 252 #define GUD_PIXEL_FORMAT_RGB332 0x30 253 253 #define GUD_PIXEL_FORMAT_RGB565 0x40 254 + #define GUD_PIXEL_FORMAT_RGB888 0x50 254 255 #define GUD_PIXEL_FORMAT_XRGB8888 0x80 255 256 #define GUD_PIXEL_FORMAT_ARGB8888 0x81 256 257