drm/msm/dpu: introduce separate wb2_format arrays for rgb and yuv
authorAbhinav Kumar <quic_abhinavk@quicinc.com>
Tue, 12 Dec 2023 20:52:52 +0000 (12:52 -0800)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Thu, 14 Dec 2023 07:27:39 +0000 (09:27 +0200)
Lets rename the existing wb2_formats array wb2_formats_rgb to indicate
that it has only RGB formats and can be used on any chipset having a WB
block.

Introduce a new wb2_formats_rgb_yuv array to the catalog to
indicate support for YUV formats to writeback in addition to RGB.

Chipsets which have support for CDM block will use the newly added
wb2_formats_rgb_yuv array.

changes in v3:
- change type of wb2_formats_rgb/wb2_formats_rgb_yuv to u32
  to fix checkpatch warnings

Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/571837/
Link: https://lore.kernel.org/r/20231212205254.12422-15-quic_abhinavk@quicinc.com
[DB: fixed newer catalog entries]
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_10_0_sm8650.h
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_1_sm8450.h
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c

index 04d2a73dd942d5fad1a3eafed044dc7a59bcc730..eb5dfff2ec4f48d793f9d83aafed592d0947f04b 100644 (file)
@@ -341,8 +341,8 @@ static const struct dpu_wb_cfg sm8650_wb[] = {
                .name = "wb_2", .id = WB_2,
                .base = 0x65000, .len = 0x2c8,
                .features = WB_SM8250_MASK,
-               .format_list = wb2_formats,
-               .num_formats = ARRAY_SIZE(wb2_formats),
+               .format_list = wb2_formats_rgb,
+               .num_formats = ARRAY_SIZE(wb2_formats_rgb),
                .xin_id = 6,
                .vbif_idx = VBIF_RT,
                .maxlinewidth = 4096,
index 58b0f50518c8c2f8c09b89f51e45e2d4009c3ab2..a57d50b1f0280776bb95f55b8fce9aa8259d7041 100644 (file)
@@ -336,8 +336,8 @@ static const struct dpu_wb_cfg sm8250_wb[] = {
                .name = "wb_2", .id = WB_2,
                .base = 0x65000, .len = 0x2c8,
                .features = WB_SM8250_MASK,
-               .format_list = wb2_formats,
-               .num_formats = ARRAY_SIZE(wb2_formats),
+               .format_list = wb2_formats_rgb_yuv,
+               .num_formats = ARRAY_SIZE(wb2_formats_rgb_yuv),
                .clk_ctrl = DPU_CLK_CTRL_WB2,
                .xin_id = 6,
                .vbif_idx = VBIF_RT,
index bcfedfc8251af91b092a8288b4bea7e15611eb04..7382ebb6e5b2a0c1190e914fb593da93879c0d9a 100644 (file)
@@ -157,8 +157,8 @@ static const struct dpu_wb_cfg sc7180_wb[] = {
                .name = "wb_2", .id = WB_2,
                .base = 0x65000, .len = 0x2c8,
                .features = WB_SM8250_MASK,
-               .format_list = wb2_formats,
-               .num_formats = ARRAY_SIZE(wb2_formats),
+               .format_list = wb2_formats_rgb,
+               .num_formats = ARRAY_SIZE(wb2_formats_rgb),
                .clk_ctrl = DPU_CLK_CTRL_WB2,
                .xin_id = 6,
                .vbif_idx = VBIF_RT,
index 194239de393e4c6ae998a8e77813af1383c998c6..aced16e350daa1bf5d24078b2468b5095a40ce07 100644 (file)
@@ -303,8 +303,8 @@ static const struct dpu_wb_cfg sm8350_wb[] = {
                .name = "wb_2", .id = WB_2,
                .base = 0x65000, .len = 0x2c8,
                .features = WB_SM8250_MASK,
-               .format_list = wb2_formats,
-               .num_formats = ARRAY_SIZE(wb2_formats),
+               .format_list = wb2_formats_rgb,
+               .num_formats = ARRAY_SIZE(wb2_formats_rgb),
                .clk_ctrl = DPU_CLK_CTRL_WB2,
                .xin_id = 6,
                .vbif_idx = VBIF_RT,
index 19c2b745479661af73270080d9ac3cd12c0453eb..2f153e0b5c6a9e319657b99aa0954d9b190fe724 100644 (file)
@@ -169,8 +169,8 @@ static const struct dpu_wb_cfg sc7280_wb[] = {
                .name = "wb_2", .id = WB_2,
                .base = 0x65000, .len = 0x2c8,
                .features = WB_SM8250_MASK,
-               .format_list = wb2_formats,
-               .num_formats = ARRAY_SIZE(wb2_formats),
+               .format_list = wb2_formats_rgb_yuv,
+               .num_formats = ARRAY_SIZE(wb2_formats_rgb_yuv),
                .clk_ctrl = DPU_CLK_CTRL_WB2,
                .xin_id = 6,
                .vbif_idx = VBIF_RT,
index a8a1d65a93af324ee7fbd4be074939880f73fba4..a1779c5597ae701496f21d3a8cb513189424a484 100644 (file)
@@ -321,8 +321,8 @@ static const struct dpu_wb_cfg sm8450_wb[] = {
                .name = "wb_2", .id = WB_2,
                .base = 0x65000, .len = 0x2c8,
                .features = WB_SM8250_MASK,
-               .format_list = wb2_formats,
-               .num_formats = ARRAY_SIZE(wb2_formats),
+               .format_list = wb2_formats_rgb,
+               .num_formats = ARRAY_SIZE(wb2_formats_rgb),
                .clk_ctrl = DPU_CLK_CTRL_WB2,
                .xin_id = 6,
                .vbif_idx = VBIF_RT,
index bf56265967c0f72d90bd5f2829bdd06c312e7b47..ad48defa154f7d808c695860fd91e60bbb08f42a 100644 (file)
@@ -315,8 +315,8 @@ static const struct dpu_wb_cfg sm8550_wb[] = {
                .name = "wb_2", .id = WB_2,
                .base = 0x65000, .len = 0x2c8,
                .features = WB_SM8250_MASK,
-               .format_list = wb2_formats,
-               .num_formats = ARRAY_SIZE(wb2_formats),
+               .format_list = wb2_formats_rgb,
+               .num_formats = ARRAY_SIZE(wb2_formats_rgb),
                .xin_id = 6,
                .vbif_idx = VBIF_RT,
                .maxlinewidth = 4096,
index b304bebedb8449ef84c6ed55fa0fdb26d33147b3..54e8717403a0ac0f041fe5aadb71d18c11e208fc 100644 (file)
@@ -202,7 +202,7 @@ static const u32 rotation_v2_formats[] = {
        /* TODO add formats after validation */
 };
 
-static const uint32_t wb2_formats[] = {
+static const u32 wb2_formats_rgb[] = {
        DRM_FORMAT_RGB565,
        DRM_FORMAT_BGR565,
        DRM_FORMAT_RGB888,
@@ -236,6 +236,41 @@ static const uint32_t wb2_formats[] = {
        DRM_FORMAT_XBGR4444,
 };
 
+static const u32 wb2_formats_rgb_yuv[] = {
+       DRM_FORMAT_RGB565,
+       DRM_FORMAT_BGR565,
+       DRM_FORMAT_RGB888,
+       DRM_FORMAT_ARGB8888,
+       DRM_FORMAT_RGBA8888,
+       DRM_FORMAT_ABGR8888,
+       DRM_FORMAT_XRGB8888,
+       DRM_FORMAT_RGBX8888,
+       DRM_FORMAT_XBGR8888,
+       DRM_FORMAT_ARGB1555,
+       DRM_FORMAT_RGBA5551,
+       DRM_FORMAT_XRGB1555,
+       DRM_FORMAT_RGBX5551,
+       DRM_FORMAT_ARGB4444,
+       DRM_FORMAT_RGBA4444,
+       DRM_FORMAT_RGBX4444,
+       DRM_FORMAT_XRGB4444,
+       DRM_FORMAT_BGR565,
+       DRM_FORMAT_BGR888,
+       DRM_FORMAT_ABGR8888,
+       DRM_FORMAT_BGRA8888,
+       DRM_FORMAT_BGRX8888,
+       DRM_FORMAT_XBGR8888,
+       DRM_FORMAT_ABGR1555,
+       DRM_FORMAT_BGRA5551,
+       DRM_FORMAT_XBGR1555,
+       DRM_FORMAT_BGRX5551,
+       DRM_FORMAT_ABGR4444,
+       DRM_FORMAT_BGRA4444,
+       DRM_FORMAT_BGRX4444,
+       DRM_FORMAT_XBGR4444,
+       DRM_FORMAT_NV12,
+};
+
 /*************************************************************
  * SSPP sub blocks config
  *************************************************************/