]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/mediatek: Add new color format MACROs in OVL
authorHsiao Chien Sung <shawn.sung@mediatek.com>
Wed, 19 Jun 2024 16:38:49 +0000 (00:38 +0800)
committerChun-Kuang Hu <chunkuang.hu@kernel.org>
Thu, 20 Jun 2024 13:57:36 +0000 (13:57 +0000)
Define new color formats to hide the bit operation in the MACROs to make
the switch statement more concise.
Change the MACROs to align the naming rule in DRM.

Reviewed-by: CK Hu <ck.hu@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Hsiao Chien Sung <shawn.sung@mediatek.com>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20240620-igt-v3-9-a9d62d2e2c7e@mediatek.com/
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
drivers/gpu/drm/mediatek/mtk_disp_ovl.c

index 26b598b9f71f2cf4c94b22a6f2f85981dec229a8..33c332b2938137a114302aea741756140d89e993 100644 (file)
 #define OVL_CON_BYTE_SWAP      BIT(24)
 #define OVL_CON_MTX_YUV_TO_RGB (6 << 16)
 #define OVL_CON_CLRFMT_RGB     (1 << 12)
-#define OVL_CON_CLRFMT_RGBA8888        (2 << 12)
-#define OVL_CON_CLRFMT_ARGB8888        (3 << 12)
+#define OVL_CON_CLRFMT_ARGB8888        (2 << 12)
+#define OVL_CON_CLRFMT_RGBA8888        (3 << 12)
+#define OVL_CON_CLRFMT_ABGR8888        (OVL_CON_CLRFMT_RGBA8888 | OVL_CON_BYTE_SWAP)
+#define OVL_CON_CLRFMT_BGRA8888        (OVL_CON_CLRFMT_ARGB8888 | OVL_CON_BYTE_SWAP)
 #define OVL_CON_CLRFMT_UYVY    (4 << 12)
 #define OVL_CON_CLRFMT_YUYV    (5 << 12)
 #define OVL_CON_CLRFMT_RGB565(ovl)     ((ovl)->data->fmt_rgb565_is_0 ? \
@@ -377,18 +379,18 @@ static unsigned int ovl_fmt_convert(struct mtk_disp_ovl *ovl, unsigned int fmt)
                return OVL_CON_CLRFMT_RGB888(ovl) | OVL_CON_BYTE_SWAP;
        case DRM_FORMAT_RGBX8888:
        case DRM_FORMAT_RGBA8888:
-               return OVL_CON_CLRFMT_ARGB8888;
+               return OVL_CON_CLRFMT_RGBA8888;
        case DRM_FORMAT_BGRX8888:
        case DRM_FORMAT_BGRA8888:
        case DRM_FORMAT_BGRA1010102:
-               return OVL_CON_CLRFMT_ARGB8888 | OVL_CON_BYTE_SWAP;
+               return OVL_CON_CLRFMT_BGRA8888;
        case DRM_FORMAT_XRGB8888:
        case DRM_FORMAT_ARGB8888:
        case DRM_FORMAT_ARGB2101010:
-               return OVL_CON_CLRFMT_RGBA8888;
+               return OVL_CON_CLRFMT_ARGB8888;
        case DRM_FORMAT_XBGR8888:
        case DRM_FORMAT_ABGR8888:
-               return OVL_CON_CLRFMT_RGBA8888 | OVL_CON_BYTE_SWAP;
+               return OVL_CON_CLRFMT_ABGR8888;
        case DRM_FORMAT_UYVY:
                return OVL_CON_CLRFMT_UYVY | OVL_CON_MTX_YUV_TO_RGB;
        case DRM_FORMAT_YUYV: