drm/msm/dpu: enable writeback on SM8450
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Sun, 3 Dec 2023 00:27:43 +0000 (03:27 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 5 Feb 2024 20:14:29 +0000 (20:14 +0000)
[ Upstream commit eaa647cdbf2e357b4a14903f2f1e47ed9c4f8df3 ]

Enable WB2 hardware block, enabling writeback support on this platform.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/570187/
Link: https://lore.kernel.org/r/20231203002743.1291956-4-dmitry.baryshkov@linaro.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_8_1_sm8450.h

index 1b12178..8a19cfa 100644 (file)
@@ -32,6 +32,7 @@ static const struct dpu_mdp_cfg sm8450_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 },
                [DPU_CLK_CTRL_REG_DMA] = { .reg_off = 0x2bc, .bit_off = 20 },
        },
 };
@@ -326,6 +327,21 @@ static const struct dpu_dsc_cfg sm8450_dsc[] = {
        },
 };
 
+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),
+               .clk_ctrl = DPU_CLK_CTRL_WB2,
+               .xin_id = 6,
+               .vbif_idx = VBIF_RT,
+               .maxlinewidth = 4096,
+               .intr_wb_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4),
+       },
+};
+
 static const struct dpu_intf_cfg sm8450_intf[] = {
        {
                .name = "intf_0", .id = INTF_0,
@@ -423,6 +439,8 @@ const struct dpu_mdss_cfg dpu_sm8450_cfg = {
        .dsc = sm8450_dsc,
        .merge_3d_count = ARRAY_SIZE(sm8450_merge_3d),
        .merge_3d = sm8450_merge_3d,
+       .wb_count = ARRAY_SIZE(sm8450_wb),
+       .wb = sm8450_wb,
        .intf_count = ARRAY_SIZE(sm8450_intf),
        .intf = sm8450_intf,
        .vbif_count = ARRAY_SIZE(sdm845_vbif),