Skip to content

Commit 2a98bad

Browse files
geertutdz
authored andcommitted
drm: shmobile: Add support for DRM_FORMAT_XRGB8888
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@glider.be> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://patchwork.freedesktop.org/patch/msgid/888cde6d1f70f1610931c4a89801060bb6765ff2.1684854992.git.geert+renesas@glider.be
1 parent d92b057 commit 2a98bad

3 files changed

Lines changed: 11 additions & 0 deletions

File tree

drivers/gpu/drm/shmobile/shmob_drm_crtc.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,7 @@ static void shmob_drm_crtc_start(struct shmob_drm_crtc *scrtc)
232232
value = LDDDSR_LS | LDDDSR_WS | LDDDSR_BS;
233233
break;
234234
case DRM_FORMAT_ARGB8888:
235+
case DRM_FORMAT_XRGB8888:
235236
default:
236237
value = LDDDSR_LS;
237238
break;

drivers/gpu/drm/shmobile/shmob_drm_kms.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ static const struct shmob_drm_format_info shmob_drm_format_infos[] = {
3939
.bpp = 32,
4040
.yuv = false,
4141
.lddfr = LDDFR_PKF_ARGB32,
42+
}, {
43+
.fourcc = DRM_FORMAT_XRGB8888,
44+
.bpp = 32,
45+
.yuv = false,
46+
.lddfr = LDDFR_PKF_ARGB32,
4247
}, {
4348
.fourcc = DRM_FORMAT_NV12,
4449
.bpp = 12,

drivers/gpu/drm/shmobile/shmob_drm_plane.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ static void __shmob_drm_plane_setup(struct shmob_drm_plane *splane,
8080
format |= LDBBSIFR_SWPL | LDBBSIFR_SWPW | LDBBSIFR_SWPB;
8181
break;
8282
case DRM_FORMAT_ARGB8888:
83+
case DRM_FORMAT_XRGB8888:
8384
default:
8485
format |= LDBBSIFR_SWPL;
8586
break;
@@ -95,6 +96,9 @@ static void __shmob_drm_plane_setup(struct shmob_drm_plane *splane,
9596
case DRM_FORMAT_ARGB8888:
9697
format |= LDBBSIFR_AL_PK | LDBBSIFR_RY | LDDFR_PKF_ARGB32;
9798
break;
99+
case DRM_FORMAT_XRGB8888:
100+
format |= LDBBSIFR_AL_1 | LDBBSIFR_RY | LDDFR_PKF_ARGB32;
101+
break;
98102
case DRM_FORMAT_NV12:
99103
case DRM_FORMAT_NV21:
100104
format |= LDBBSIFR_AL_1 | LDBBSIFR_CHRR_420;
@@ -231,6 +235,7 @@ static const uint32_t formats[] = {
231235
DRM_FORMAT_RGB565,
232236
DRM_FORMAT_RGB888,
233237
DRM_FORMAT_ARGB8888,
238+
DRM_FORMAT_XRGB8888,
234239
DRM_FORMAT_NV12,
235240
DRM_FORMAT_NV21,
236241
DRM_FORMAT_NV16,

0 commit comments

Comments
 (0)