Changes in v2: drop the alpha formats entirely instead of advertising a
DRM_MODE_BLEND_PIXEL_NONE property, per review feedback from Thomas
Zimmermann. Leandro's Reviewed-by from v1 is not carried as the
approach changed.
Changes in v3: v2 missed the board-specific variant tables in
pl111_versatile.c (Integrator, IM-PD1, Versatile, RealView and
Versatile Express), which still exposed alpha formats and would fall
through to the WARN_ONCE default in pl111_display_enable() on those
boards. Pointed out by the sashiko AI reviewer.
---
drivers/gpu/drm/pl111/pl111_display.c | 6 ------
drivers/gpu/drm/pl111/pl111_drv.c | 16 ----------------
drivers/gpu/drm/pl111/pl111_versatile.c | 18 ------------------
3 files changed, 40 deletions(-)
diff --git a/drivers/gpu/drm/pl111/pl111_display.c
b/drivers/gpu/drm/pl111/pl111_display.c
index 5d10bc5fdf1f..e1b513d36c27 100644
--- a/drivers/gpu/drm/pl111/pl111_display.c
+++ b/drivers/gpu/drm/pl111/pl111_display.c
@@ -267,14 +267,12 @@ static void pl111_display_enable(struct
drm_simple_display_pipe *pipe,
if (priv->variant->st_bitmux_control)
cntl |= CNTL_ST_LCDBPP24_PACKED;
break;
- case DRM_FORMAT_ABGR8888:
case DRM_FORMAT_XBGR8888:
if (priv->variant->st_bitmux_control)
cntl |= CNTL_LCDBPP24 | CNTL_BGR;
else
cntl |= CNTL_LCDBPP24;
break;
- case DRM_FORMAT_ARGB8888:
case DRM_FORMAT_XRGB8888:
if (priv->variant->st_bitmux_control)
cntl |= CNTL_LCDBPP24;
@@ -297,13 +295,11 @@ static void pl111_display_enable(struct
drm_simple_display_pipe *pipe,
else
cntl |= CNTL_LCDBPP16_565 | CNTL_BGR;
break;
- case DRM_FORMAT_ABGR1555:
case DRM_FORMAT_XBGR1555:
cntl |= CNTL_LCDBPP16;
if (priv->variant->st_bitmux_control)
cntl |= CNTL_ST_1XBPP_5551 | CNTL_BGR;
break;
- case DRM_FORMAT_ARGB1555:
case DRM_FORMAT_XRGB1555:
cntl |= CNTL_LCDBPP16;
if (priv->variant->st_bitmux_control)
@@ -311,13 +307,11 @@ static void pl111_display_enable(struct
drm_simple_display_pipe *pipe,
else
cntl |= CNTL_BGR;
break;
- case DRM_FORMAT_ABGR4444:
case DRM_FORMAT_XBGR4444:
cntl |= CNTL_LCDBPP16_444;
if (priv->variant->st_bitmux_control)
cntl |= CNTL_ST_1XBPP_444 | CNTL_BGR;
break;
- case DRM_FORMAT_ARGB4444:
case DRM_FORMAT_XRGB4444:
cntl |= CNTL_LCDBPP16_444;
if (priv->variant->st_bitmux_control)
diff --git a/drivers/gpu/drm/pl111/pl111_drv.c
b/drivers/gpu/drm/pl111/pl111_drv.c
index ac7b1d12a0f5..2175ac953795 100644
--- a/drivers/gpu/drm/pl111/pl111_drv.c
+++ b/drivers/gpu/drm/pl111/pl111_drv.c
@@ -341,13 +341,9 @@ static void pl111_amba_shutdown(struct amba_device
*amba_dev)
* This early variant lacks the 565 and 444 pixel formats.
*/
static const u32 pl110_pixel_formats[] = {
- DRM_FORMAT_ABGR8888,
DRM_FORMAT_XBGR8888,
- DRM_FORMAT_ARGB8888,
DRM_FORMAT_XRGB8888,
- DRM_FORMAT_ABGR1555,
DRM_FORMAT_XBGR1555,
- DRM_FORMAT_ARGB1555,
DRM_FORMAT_XRGB1555,
};
@@ -361,19 +357,13 @@ static const struct pl111_variant_data pl110_variant = {
/* RealView, Versatile Express etc use this modern variant */
static const u32 pl111_pixel_formats[] = {
- DRM_FORMAT_ABGR8888,
DRM_FORMAT_XBGR8888,
- DRM_FORMAT_ARGB8888,
DRM_FORMAT_XRGB8888,
DRM_FORMAT_BGR565,
DRM_FORMAT_RGB565,
- DRM_FORMAT_ABGR1555,
DRM_FORMAT_XBGR1555,
- DRM_FORMAT_ARGB1555,
DRM_FORMAT_XRGB1555,
- DRM_FORMAT_ABGR4444,
DRM_FORMAT_XBGR4444,
- DRM_FORMAT_ARGB4444,
DRM_FORMAT_XRGB4444,
};
@@ -387,19 +377,13 @@ static const struct pl111_variant_data pl111_variant = {
static const u32 pl110_nomadik_pixel_formats[] = {
DRM_FORMAT_RGB888,
DRM_FORMAT_BGR888,
- DRM_FORMAT_ABGR8888,
DRM_FORMAT_XBGR8888,
- DRM_FORMAT_ARGB8888,
DRM_FORMAT_XRGB8888,
DRM_FORMAT_BGR565,
DRM_FORMAT_RGB565,
- DRM_FORMAT_ABGR1555,
DRM_FORMAT_XBGR1555,
- DRM_FORMAT_ARGB1555,
DRM_FORMAT_XRGB1555,
- DRM_FORMAT_ABGR4444,
DRM_FORMAT_XBGR4444,
- DRM_FORMAT_ARGB4444,
DRM_FORMAT_XRGB4444,
};
diff --git a/drivers/gpu/drm/pl111/pl111_versatile.c b/drivers/gpu/drm/pl111/pl111_versatile.c
index 0d8331a3909f..9a60f10231b1 100644
--- a/drivers/gpu/drm/pl111/pl111_versatile.c
+++ b/drivers/gpu/drm/pl111/pl111_versatile.c
@@ -209,9 +209,7 @@ static void pl111_versatile_enable(struct drm_device *drm,
u32 format)
drm_info(drm, "enable Versatile CLCD connectors\n");
switch (format) {
- case DRM_FORMAT_ABGR8888:
case DRM_FORMAT_XBGR8888:
- case DRM_FORMAT_ARGB8888:
case DRM_FORMAT_XRGB8888:
val |= SYS_CLCD_MODE_888;
break;
@@ -221,9 +219,7 @@ static void pl111_versatile_enable(struct drm_device *drm,
u32 format)
case DRM_FORMAT_RGB565:
val |= SYS_CLCD_MODE_565_B_LSB;
break;
- case DRM_FORMAT_ABGR1555:
case DRM_FORMAT_XBGR1555:
- case DRM_FORMAT_ARGB1555:
case DRM_FORMAT_XRGB1555:
val |= SYS_CLCD_MODE_5551;
break;
@@ -266,44 +262,30 @@ static void pl111_realview_clcd_enable(struct drm_device
*drm, u32 format)
/* PL110 pixel formats for Integrator, vanilla PL110 */
static const u32 pl110_integrator_pixel_formats[] = {
- DRM_FORMAT_ABGR8888,
DRM_FORMAT_XBGR8888,
- DRM_FORMAT_ARGB8888,
DRM_FORMAT_XRGB8888,
- DRM_FORMAT_ABGR1555,
DRM_FORMAT_XBGR1555,
- DRM_FORMAT_ARGB1555,
DRM_FORMAT_XRGB1555,
};
/* Extended PL110 pixel formats for Integrator and Versatile */
static const u32 pl110_versatile_pixel_formats[] = {
- DRM_FORMAT_ABGR8888,
DRM_FORMAT_XBGR8888,
- DRM_FORMAT_ARGB8888,
DRM_FORMAT_XRGB8888,
DRM_FORMAT_BGR565, /* Uses external PLD */
DRM_FORMAT_RGB565, /* Uses external PLD */
- DRM_FORMAT_ABGR1555,
DRM_FORMAT_XBGR1555,
- DRM_FORMAT_ARGB1555,
DRM_FORMAT_XRGB1555,
};
static const u32 pl111_realview_pixel_formats[] = {
- DRM_FORMAT_ABGR8888,
DRM_FORMAT_XBGR8888,
- DRM_FORMAT_ARGB8888,
DRM_FORMAT_XRGB8888,
DRM_FORMAT_BGR565,
DRM_FORMAT_RGB565,
- DRM_FORMAT_ABGR1555,
DRM_FORMAT_XBGR1555,
- DRM_FORMAT_ARGB1555,
DRM_FORMAT_XRGB1555,
- DRM_FORMAT_ABGR4444,
DRM_FORMAT_XBGR4444,
- DRM_FORMAT_ARGB4444,
DRM_FORMAT_XRGB4444,
};