]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/msm/dpu: Add writeback support for SM6150
authorFange Zhang <quic_fangez@quicinc.com>
Tue, 14 Jan 2025 08:55:24 +0000 (16:55 +0800)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tue, 25 Feb 2025 18:07:44 +0000 (20:07 +0200)
On the SM6150 platform there is WB_2 block. Add it to the SM6150 catalog.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Fange Zhang <quic_fangez@quicinc.com>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/632337/
Link: https://lore.kernel.org/r/20250114-add-writeback-support-for-sm6150-v2-1-d707b31aad5c@quicinc.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_3_sm6150.h

index d761ed705bac30d9ffef3c0c9140e5e8a5e930ad..744012892b7c132c68627897dc49ac2da8e24a39 100644 (file)
@@ -27,6 +27,7 @@ static const struct dpu_mdp_cfg sm6150_mdp = {
                [DPU_CLK_CTRL_DMA1] = { .reg_off = 0x2b4, .bit_off = 8 },
                [DPU_CLK_CTRL_DMA2] = { .reg_off = 0x2bc, .bit_off = 8 },
                [DPU_CLK_CTRL_DMA3] = { .reg_off = 0x2c4, .bit_off = 8 },
+               [DPU_CLK_CTRL_WB2] = { .reg_off = 0x2bc, .bit_off = 16 },
        },
 };
 
@@ -162,6 +163,21 @@ static const struct dpu_pingpong_cfg sm6150_pp[] = {
        },
 };
 
+static const struct dpu_wb_cfg sm6150_wb[] = {
+       {
+               .name = "wb_2", .id = WB_2,
+               .base = 0x65000, .len = 0x2c8,
+               .features = WB_SM8250_MASK,
+               .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,
+               .maxlinewidth = 2160,
+               .intr_wb_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4),
+       },
+};
+
 static const struct dpu_intf_cfg sm6150_intf[] = {
        {
                .name = "intf_0", .id = INTF_0,
@@ -242,6 +258,8 @@ const struct dpu_mdss_cfg dpu_sm6150_cfg = {
        .dspp = sm6150_dspp,
        .pingpong_count = ARRAY_SIZE(sm6150_pp),
        .pingpong = sm6150_pp,
+       .wb_count = ARRAY_SIZE(sm6150_wb),
+       .wb = sm6150_wb,
        .intf_count = ARRAY_SIZE(sm6150_intf),
        .intf = sm6150_intf,
        .vbif_count = ARRAY_SIZE(sdm845_vbif),