Hi Geert, Thank you for the patch. On Fri, Mar 31, 2023 at 04:48:08PM +0200, Geert Uytterhoeven wrote: > DRM_FORMAT_XRGB8888 aka XR24 is the modus francus of DRM, and should be > supported by all drivers. > > The handling for DRM_FORMAT_XRGB8888 is similar to DRM_FORMAT_ARGB8888, > just ignore the alpha channel. > > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/shmobile/shmob_drm_crtc.c | 1 + > drivers/gpu/drm/shmobile/shmob_drm_kms.c | 5 +++++ > drivers/gpu/drm/shmobile/shmob_drm_plane.c | 5 +++++ > 3 files changed, 11 insertions(+) > > diff --git a/drivers/gpu/drm/shmobile/shmob_drm_crtc.c b/drivers/gpu/drm/shmobile/shmob_drm_crtc.c > index 713a7612244c647a..08dc1428aa16caf0 100644 > --- a/drivers/gpu/drm/shmobile/shmob_drm_crtc.c > +++ b/drivers/gpu/drm/shmobile/shmob_drm_crtc.c > @@ -232,6 +232,7 @@ static void shmob_drm_crtc_start(struct shmob_drm_crtc *scrtc) > value = LDDDSR_LS | LDDDSR_WS | LDDDSR_BS; > break; > case DRM_FORMAT_ARGB8888: > + case DRM_FORMAT_XRGB8888: > default: > value = LDDDSR_LS; > break; > diff --git a/drivers/gpu/drm/shmobile/shmob_drm_kms.c b/drivers/gpu/drm/shmobile/shmob_drm_kms.c > index 3c5fe3bc183c7c13..99381cc0abf3ae1f 100644 > --- a/drivers/gpu/drm/shmobile/shmob_drm_kms.c > +++ b/drivers/gpu/drm/shmobile/shmob_drm_kms.c > @@ -39,6 +39,11 @@ static const struct shmob_drm_format_info shmob_drm_format_infos[] = { > .bpp = 32, > .yuv = false, > .lddfr = LDDFR_PKF_ARGB32, > + }, { > + .fourcc = DRM_FORMAT_XRGB8888, > + .bpp = 32, > + .yuv = false, > + .lddfr = LDDFR_PKF_ARGB32, > }, { > .fourcc = DRM_FORMAT_NV12, > .bpp = 12, > diff --git a/drivers/gpu/drm/shmobile/shmob_drm_plane.c b/drivers/gpu/drm/shmobile/shmob_drm_plane.c > index 604ae23825daaafd..850986cee848226a 100644 > --- a/drivers/gpu/drm/shmobile/shmob_drm_plane.c > +++ b/drivers/gpu/drm/shmobile/shmob_drm_plane.c > @@ -80,6 +80,7 @@ static void __shmob_drm_plane_setup(struct shmob_drm_plane *splane, > format |= LDBBSIFR_SWPL | LDBBSIFR_SWPW | LDBBSIFR_SWPB; > break; > case DRM_FORMAT_ARGB8888: > + case DRM_FORMAT_XRGB8888: > default: > format |= LDBBSIFR_SWPL; > break; > @@ -95,6 +96,9 @@ static void __shmob_drm_plane_setup(struct shmob_drm_plane *splane, > case DRM_FORMAT_ARGB8888: > format |= LDBBSIFR_AL_PK | LDBBSIFR_RY | LDDFR_PKF_ARGB32; > break; > + case DRM_FORMAT_XRGB8888: > + format |= LDBBSIFR_AL_1 | LDBBSIFR_RY | LDDFR_PKF_ARGB32; > + break; > case DRM_FORMAT_NV12: > case DRM_FORMAT_NV21: > format |= LDBBSIFR_AL_1 | LDBBSIFR_CHRR_420; > @@ -231,6 +235,7 @@ static const uint32_t formats[] = { > DRM_FORMAT_RGB565, > DRM_FORMAT_RGB888, > DRM_FORMAT_ARGB8888, > + DRM_FORMAT_XRGB8888, > DRM_FORMAT_NV12, > DRM_FORMAT_NV21, > DRM_FORMAT_NV16, -- Regards, Laurent Pinchart