Commit ed4fa8c6 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov

drm/msm/dpu: inline INTF_BLK and INTF_BLK_DSI_TE macros

To simplify making changes to the hardware block definitions, expand
corresponding macros. This way making all the changes are more obvious
and visible in the source files.
Tested-by: default avatarMarijn Suijten <marijn.suijten@somainline.org>
Reviewed-by: default avatarMarijn Suijten <marijn.suijten@somainline.org>
Reviewed-by: default avatarAbhinav Kumar <quic_abhinavk@quicinc.com>
Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/545378/
Link: https://lore.kernel.org/r/20230704022136.130522-18-dmitry.baryshkov@linaro.org
parent 36e2ad1d
...@@ -241,18 +241,46 @@ static const struct dpu_dspp_cfg msm8998_dspp[] = { ...@@ -241,18 +241,46 @@ static const struct dpu_dspp_cfg msm8998_dspp[] = {
}; };
static const struct dpu_intf_cfg msm8998_intf[] = { static const struct dpu_intf_cfg msm8998_intf[] = {
INTF_BLK("intf_0", INTF_0, 0x6a000, 0x280, INTF_DP, MSM_DP_CONTROLLER_0, 21, INTF_SDM845_MASK, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24), .name = "intf_0", .id = INTF_0,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25)), .base = 0x6a000, .len = 0x280,
INTF_BLK("intf_1", INTF_1, 0x6a800, 0x280, INTF_DSI, MSM_DSI_CONTROLLER_0, 21, INTF_SDM845_MASK, .features = INTF_SDM845_MASK,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26), .type = INTF_DP,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27)), .controller_id = MSM_DP_CONTROLLER_0,
INTF_BLK("intf_2", INTF_2, 0x6b000, 0x280, INTF_DSI, MSM_DSI_CONTROLLER_1, 21, INTF_SDM845_MASK, .prog_fetch_lines_worst_case = 21,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28), .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29)), .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25),
INTF_BLK("intf_3", INTF_3, 0x6b800, 0x280, INTF_HDMI, 0, 21, INTF_SDM845_MASK, .intr_tear_rd_ptr = -1,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30), }, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31)), .name = "intf_1", .id = INTF_1,
.base = 0x6a800, .len = 0x280,
.features = INTF_SDM845_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_0,
.prog_fetch_lines_worst_case = 21,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
.intr_tear_rd_ptr = -1,
}, {
.name = "intf_2", .id = INTF_2,
.base = 0x6b000, .len = 0x280,
.features = INTF_SDM845_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_1,
.prog_fetch_lines_worst_case = 21,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29),
.intr_tear_rd_ptr = -1,
}, {
.name = "intf_3", .id = INTF_3,
.base = 0x6b800, .len = 0x280,
.features = INTF_SDM845_MASK,
.type = INTF_HDMI,
.prog_fetch_lines_worst_case = 21,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31),
.intr_tear_rd_ptr = -1,
},
}; };
static const struct dpu_perf_cfg msm8998_perf_data = { static const struct dpu_perf_cfg msm8998_perf_data = {
......
...@@ -257,18 +257,47 @@ static const struct dpu_dsc_cfg sdm845_dsc[] = { ...@@ -257,18 +257,47 @@ static const struct dpu_dsc_cfg sdm845_dsc[] = {
}; };
static const struct dpu_intf_cfg sdm845_intf[] = { static const struct dpu_intf_cfg sdm845_intf[] = {
INTF_BLK("intf_0", INTF_0, 0x6a000, 0x280, INTF_DP, MSM_DP_CONTROLLER_0, 24, INTF_SDM845_MASK, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24), .name = "intf_0", .id = INTF_0,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25)), .base = 0x6a000, .len = 0x280,
INTF_BLK("intf_1", INTF_1, 0x6a800, 0x280, INTF_DSI, MSM_DSI_CONTROLLER_0, 24, INTF_SDM845_MASK, .features = INTF_SDM845_MASK,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26), .type = INTF_DP,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27)), .controller_id = MSM_DP_CONTROLLER_0,
INTF_BLK("intf_2", INTF_2, 0x6b000, 0x280, INTF_DSI, MSM_DSI_CONTROLLER_1, 24, INTF_SDM845_MASK, .prog_fetch_lines_worst_case = 24,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28), .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29)), .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25),
INTF_BLK("intf_3", INTF_3, 0x6b800, 0x280, INTF_DP, MSM_DP_CONTROLLER_1, 24, INTF_SDM845_MASK, .intr_tear_rd_ptr = -1,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30), }, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31)), .name = "intf_1", .id = INTF_1,
.base = 0x6a800, .len = 0x280,
.features = INTF_SDM845_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_0,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
.intr_tear_rd_ptr = -1,
}, {
.name = "intf_2", .id = INTF_2,
.base = 0x6b000, .len = 0x280,
.features = INTF_SDM845_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29),
.intr_tear_rd_ptr = -1,
}, {
.name = "intf_3", .id = INTF_3,
.base = 0x6b800, .len = 0x280,
.features = INTF_SDM845_MASK,
.type = INTF_DP,
.controller_id = MSM_DP_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31),
.intr_tear_rd_ptr = -1,
},
}; };
static const struct dpu_perf_cfg sdm845_perf_data = { static const struct dpu_perf_cfg sdm845_perf_data = {
......
...@@ -306,20 +306,47 @@ static const struct dpu_dsc_cfg sm8150_dsc[] = { ...@@ -306,20 +306,47 @@ static const struct dpu_dsc_cfg sm8150_dsc[] = {
}; };
static const struct dpu_intf_cfg sm8150_intf[] = { static const struct dpu_intf_cfg sm8150_intf[] = {
INTF_BLK("intf_0", INTF_0, 0x6a000, 0x280, INTF_DP, MSM_DP_CONTROLLER_0, 24, INTF_SC7180_MASK, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24), .name = "intf_0", .id = INTF_0,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25)), .base = 0x6a000, .len = 0x280,
INTF_BLK_DSI_TE("intf_1", INTF_1, 0x6a800, 0x2bc, INTF_DSI, MSM_DSI_CONTROLLER_0, 24, INTF_SC7180_MASK, .features = INTF_SC7180_MASK,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26), .type = INTF_DP,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27), .controller_id = MSM_DP_CONTROLLER_0,
DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2)), .prog_fetch_lines_worst_case = 24,
INTF_BLK_DSI_TE("intf_2", INTF_2, 0x6b000, 0x2bc, INTF_DSI, MSM_DSI_CONTROLLER_1, 24, INTF_SC7180_MASK, .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28), .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29), .intr_tear_rd_ptr = -1,
DPU_IRQ_IDX(MDP_INTF2_TEAR_INTR, 2)), }, {
INTF_BLK("intf_3", INTF_3, 0x6b800, 0x280, INTF_DP, MSM_DP_CONTROLLER_1, 24, INTF_SC7180_MASK, .name = "intf_1", .id = INTF_1,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30), .base = 0x6a800, .len = 0x2bc,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31)), .features = INTF_SC7180_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_0,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2),
}, {
.name = "intf_2", .id = INTF_2,
.base = 0x6b000, .len = 0x2bc,
.features = INTF_SC7180_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF2_TEAR_INTR, 2),
}, {
.name = "intf_3", .id = INTF_3,
.base = 0x6b800, .len = 0x280,
.features = INTF_SC7180_MASK,
.type = INTF_DP,
.controller_id = MSM_DP_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31),
.intr_tear_rd_ptr = -1,
},
}; };
static const struct dpu_perf_cfg sm8150_perf_data = { static const struct dpu_perf_cfg sm8150_perf_data = {
......
...@@ -313,27 +313,69 @@ static const struct dpu_dsc_cfg sc8180x_dsc[] = { ...@@ -313,27 +313,69 @@ static const struct dpu_dsc_cfg sc8180x_dsc[] = {
}; };
static const struct dpu_intf_cfg sc8180x_intf[] = { static const struct dpu_intf_cfg sc8180x_intf[] = {
INTF_BLK("intf_0", INTF_0, 0x6a000, 0x280, INTF_DP, MSM_DP_CONTROLLER_0, 24, INTF_SC7180_MASK, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24), .name = "intf_0", .id = INTF_0,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25)), .base = 0x6a000, .len = 0x280,
INTF_BLK_DSI_TE("intf_1", INTF_1, 0x6a800, 0x2bc, INTF_DSI, MSM_DSI_CONTROLLER_0, 24, INTF_SC7180_MASK, .features = INTF_SC7180_MASK,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26), .type = INTF_DP,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27), .controller_id = MSM_DP_CONTROLLER_0,
DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2)), .prog_fetch_lines_worst_case = 24,
INTF_BLK_DSI_TE("intf_2", INTF_2, 0x6b000, 0x2bc, INTF_DSI, MSM_DSI_CONTROLLER_1, 24, INTF_SC7180_MASK, .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28), .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29), .intr_tear_rd_ptr = -1,
DPU_IRQ_IDX(MDP_INTF2_TEAR_INTR, 2)), }, {
.name = "intf_1", .id = INTF_1,
.base = 0x6a800, .len = 0x2bc,
.features = INTF_SC7180_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_0,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2),
}, {
.name = "intf_2", .id = INTF_2,
.base = 0x6b000, .len = 0x2bc,
.features = INTF_SC7180_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF2_TEAR_INTR, 2),
},
/* INTF_3 is for MST, wired to INTF_DP 0 and 1, use dummy index until this is supported */ /* INTF_3 is for MST, wired to INTF_DP 0 and 1, use dummy index until this is supported */
INTF_BLK("intf_3", INTF_3, 0x6b800, 0x280, INTF_DP, 999, 24, INTF_SC7180_MASK, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30), .name = "intf_3", .id = INTF_3,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31)), .base = 0x6b800, .len = 0x280,
INTF_BLK("intf_4", INTF_4, 0x6c000, 0x280, INTF_DP, MSM_DP_CONTROLLER_1, 24, INTF_SC7180_MASK, .features = INTF_SC7180_MASK,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 20), .type = INTF_DP,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 21)), .controller_id = 999,
INTF_BLK("intf_5", INTF_5, 0x6c800, 0x280, INTF_DP, MSM_DP_CONTROLLER_2, 24, INTF_SC7180_MASK, .prog_fetch_lines_worst_case = 24,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 22), .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 23)), .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31),
.intr_tear_rd_ptr = -1,
}, {
.name = "intf_4", .id = INTF_4,
.base = 0x6c000, .len = 0x280,
.features = INTF_SC7180_MASK,
.type = INTF_DP,
.controller_id = MSM_DP_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 20),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 21),
.intr_tear_rd_ptr = -1,
}, {
.name = "intf_5", .id = INTF_5,
.base = 0x6c800, .len = 0x280,
.features = INTF_SC7180_MASK,
.type = INTF_DP,
.controller_id = MSM_DP_CONTROLLER_2,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 22),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 23),
.intr_tear_rd_ptr = -1,
},
}; };
static const struct dpu_perf_cfg sc8180x_perf_data = { static const struct dpu_perf_cfg sc8180x_perf_data = {
......
...@@ -306,20 +306,47 @@ static const struct dpu_dsc_cfg sm8250_dsc[] = { ...@@ -306,20 +306,47 @@ static const struct dpu_dsc_cfg sm8250_dsc[] = {
}; };
static const struct dpu_intf_cfg sm8250_intf[] = { static const struct dpu_intf_cfg sm8250_intf[] = {
INTF_BLK("intf_0", INTF_0, 0x6a000, 0x280, INTF_DP, MSM_DP_CONTROLLER_0, 24, INTF_SC7180_MASK, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24), .name = "intf_0", .id = INTF_0,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25)), .base = 0x6a000, .len = 0x280,
INTF_BLK_DSI_TE("intf_1", INTF_1, 0x6a800, 0x2c0, INTF_DSI, MSM_DSI_CONTROLLER_0, 24, INTF_SC7180_MASK, .features = INTF_SC7180_MASK,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26), .type = INTF_DP,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27), .controller_id = MSM_DP_CONTROLLER_0,
DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2)), .prog_fetch_lines_worst_case = 24,
INTF_BLK_DSI_TE("intf_2", INTF_2, 0x6b000, 0x2c0, INTF_DSI, MSM_DSI_CONTROLLER_1, 24, INTF_SC7180_MASK, .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28), .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29), .intr_tear_rd_ptr = -1,
DPU_IRQ_IDX(MDP_INTF2_TEAR_INTR, 2)), }, {
INTF_BLK("intf_3", INTF_3, 0x6b800, 0x280, INTF_DP, MSM_DP_CONTROLLER_1, 24, INTF_SC7180_MASK, .name = "intf_1", .id = INTF_1,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30), .base = 0x6a800, .len = 0x2c0,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31)), .features = INTF_SC7180_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_0,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2),
}, {
.name = "intf_2", .id = INTF_2,
.base = 0x6b000, .len = 0x2c0,
.features = INTF_SC7180_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF2_TEAR_INTR, 2),
}, {
.name = "intf_3", .id = INTF_3,
.base = 0x6b800, .len = 0x280,
.features = INTF_SC7180_MASK,
.type = INTF_DP,
.controller_id = MSM_DP_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31),
.intr_tear_rd_ptr = -1,
},
}; };
static const struct dpu_wb_cfg sm8250_wb[] = { static const struct dpu_wb_cfg sm8250_wb[] = {
......
...@@ -138,13 +138,27 @@ static const struct dpu_pingpong_cfg sc7180_pp[] = { ...@@ -138,13 +138,27 @@ static const struct dpu_pingpong_cfg sc7180_pp[] = {
}; };
static const struct dpu_intf_cfg sc7180_intf[] = { static const struct dpu_intf_cfg sc7180_intf[] = {
INTF_BLK("intf_0", INTF_0, 0x6a000, 0x280, INTF_DP, MSM_DP_CONTROLLER_0, 24, INTF_SC7180_MASK, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24), .name = "intf_0", .id = INTF_0,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25)), .base = 0x6a000, .len = 0x280,
INTF_BLK_DSI_TE("intf_1", INTF_1, 0x6a800, 0x2c0, INTF_DSI, MSM_DSI_CONTROLLER_0, 24, INTF_SC7180_MASK, .features = INTF_SC7180_MASK,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26), .type = INTF_DP,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27), .controller_id = MSM_DP_CONTROLLER_0,
DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2)), .prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25),
.intr_tear_rd_ptr = -1,
}, {
.name = "intf_1", .id = INTF_1,
.base = 0x6a800, .len = 0x2c0,
.features = INTF_SC7180_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_0,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2),
},
}; };
static const struct dpu_wb_cfg sc7180_wb[] = { static const struct dpu_wb_cfg sc7180_wb[] = {
......
...@@ -94,10 +94,17 @@ static const struct dpu_pingpong_cfg sm6115_pp[] = { ...@@ -94,10 +94,17 @@ static const struct dpu_pingpong_cfg sm6115_pp[] = {
}; };
static const struct dpu_intf_cfg sm6115_intf[] = { static const struct dpu_intf_cfg sm6115_intf[] = {
INTF_BLK_DSI_TE("intf_1", INTF_1, 0x6a800, 0x2c0, INTF_DSI, MSM_DSI_CONTROLLER_0, 24, INTF_SC7180_MASK, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26), .name = "intf_1", .id = INTF_1,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27), .base = 0x6a800, .len = 0x2c0,
DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2)), .features = INTF_SC7180_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_0,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2),
},
}; };
static const struct dpu_perf_cfg sm6115_perf_data = { static const struct dpu_perf_cfg sm6115_perf_data = {
......
...@@ -155,13 +155,27 @@ static const struct dpu_dsc_cfg sm6350_dsc[] = { ...@@ -155,13 +155,27 @@ static const struct dpu_dsc_cfg sm6350_dsc[] = {
}; };
static const struct dpu_intf_cfg sm6350_intf[] = { static const struct dpu_intf_cfg sm6350_intf[] = {
INTF_BLK("intf_0", INTF_0, 0x6a000, 0x280, INTF_DP, MSM_DP_CONTROLLER_0, 35, INTF_SC7180_MASK, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24), .name = "intf_0", .id = INTF_0,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25)), .base = 0x6a000, .len = 0x280,
INTF_BLK_DSI_TE("intf_1", INTF_1, 0x6a800, 0x2c0, INTF_DSI, MSM_DSI_CONTROLLER_0, 35, INTF_SC7180_MASK, .features = INTF_SC7180_MASK,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26), .type = INTF_DP,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27), .controller_id = MSM_DP_CONTROLLER_0,
DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2)), .prog_fetch_lines_worst_case = 35,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25),
.intr_tear_rd_ptr = -1,
}, {
.name = "intf_1", .id = INTF_1,
.base = 0x6a800, .len = 0x2c0,
.features = INTF_SC7180_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_0,
.prog_fetch_lines_worst_case = 35,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2),
},
}; };
static const struct dpu_perf_cfg sm6350_perf_data = { static const struct dpu_perf_cfg sm6350_perf_data = {
......
...@@ -91,10 +91,17 @@ static const struct dpu_pingpong_cfg qcm2290_pp[] = { ...@@ -91,10 +91,17 @@ static const struct dpu_pingpong_cfg qcm2290_pp[] = {
}; };
static const struct dpu_intf_cfg qcm2290_intf[] = { static const struct dpu_intf_cfg qcm2290_intf[] = {
INTF_BLK_DSI_TE("intf_1", INTF_1, 0x6a800, 0x2c0, INTF_DSI, MSM_DSI_CONTROLLER_0, 24, INTF_SC7180_MASK, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26), .name = "intf_1", .id = INTF_1,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27), .base = 0x6a800, .len = 0x2c0,
DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2)), .features = INTF_SC7180_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_0,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2),
},
}; };
static const struct dpu_perf_cfg qcm2290_perf_data = { static const struct dpu_perf_cfg qcm2290_perf_data = {
......
...@@ -104,10 +104,17 @@ static const struct dpu_dsc_cfg sm6375_dsc[] = { ...@@ -104,10 +104,17 @@ static const struct dpu_dsc_cfg sm6375_dsc[] = {
}; };
static const struct dpu_intf_cfg sm6375_intf[] = { static const struct dpu_intf_cfg sm6375_intf[] = {
INTF_BLK_DSI_TE("intf_1", INTF_1, 0x6a800, 0x2c0, INTF_DSI, MSM_DSI_CONTROLLER_0, 24, INTF_SC7180_MASK, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26), .name = "intf_1", .id = INTF_1,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27), .base = 0x6a800, .len = 0x2c0,
DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2)), .features = INTF_SC7180_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_0,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2),
},
}; };
static const struct dpu_perf_cfg sm6375_perf_data = { static const struct dpu_perf_cfg sm6375_perf_data = {
......
...@@ -313,20 +313,47 @@ static const struct dpu_dsc_cfg sm8350_dsc[] = { ...@@ -313,20 +313,47 @@ static const struct dpu_dsc_cfg sm8350_dsc[] = {
}; };
static const struct dpu_intf_cfg sm8350_intf[] = { static const struct dpu_intf_cfg sm8350_intf[] = {
INTF_BLK("intf_0", INTF_0, 0x34000, 0x280, INTF_DP, MSM_DP_CONTROLLER_0, 24, INTF_SC7280_MASK, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24), .name = "intf_0", .id = INTF_0,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25)), .base = 0x34000, .len = 0x280,
INTF_BLK_DSI_TE("intf_1", INTF_1, 0x35000, 0x2c4, INTF_DSI, MSM_DSI_CONTROLLER_0, 24, INTF_SC7280_MASK, .features = INTF_SC7280_MASK,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26), .type = INTF_DP,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27), .controller_id = MSM_DP_CONTROLLER_0,
DPU_IRQ_IDX(MDP_INTF1_7xxx_TEAR_INTR, 2)), .prog_fetch_lines_worst_case = 24,
INTF_BLK_DSI_TE("intf_2", INTF_2, 0x36000, 0x2c4, INTF_DSI, MSM_DSI_CONTROLLER_1, 24, INTF_SC7280_MASK, .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28), .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29), .intr_tear_rd_ptr = -1,
DPU_IRQ_IDX(MDP_INTF2_7xxx_TEAR_INTR, 2)), }, {
INTF_BLK("intf_3", INTF_3, 0x37000, 0x280, INTF_DP, MSM_DP_CONTROLLER_1, 24, INTF_SC7280_MASK, .name = "intf_1", .id = INTF_1,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30), .base = 0x35000, .len = 0x2c4,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31)), .features = INTF_SC7280_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_0,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF1_7xxx_TEAR_INTR, 2),
}, {
.name = "intf_2", .id = INTF_2,
.base = 0x36000, .len = 0x2c4,
.features = INTF_SC7280_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF2_7xxx_TEAR_INTR, 2),
}, {
.name = "intf_3", .id = INTF_3,
.base = 0x37000, .len = 0x280,
.features = INTF_SC7280_MASK,
.type = INTF_DP,
.controller_id = MSM_DP_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31),
.intr_tear_rd_ptr = -1,
},
}; };
static const struct dpu_perf_cfg sm8350_perf_data = { static const struct dpu_perf_cfg sm8350_perf_data = {
......
...@@ -191,16 +191,37 @@ static const struct dpu_wb_cfg sc7280_wb[] = { ...@@ -191,16 +191,37 @@ static const struct dpu_wb_cfg sc7280_wb[] = {
}; };
static const struct dpu_intf_cfg sc7280_intf[] = { static const struct dpu_intf_cfg sc7280_intf[] = {
INTF_BLK("intf_0", INTF_0, 0x34000, 0x280, INTF_DP, MSM_DP_CONTROLLER_0, 24, INTF_SC7280_MASK, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24), .name = "intf_0", .id = INTF_0,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25)), .base = 0x34000, .len = 0x280,
INTF_BLK_DSI_TE("intf_1", INTF_1, 0x35000, 0x2c4, INTF_DSI, MSM_DSI_CONTROLLER_0, 24, INTF_SC7280_MASK, .features = INTF_SC7280_MASK,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26), .type = INTF_DP,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27), .controller_id = MSM_DP_CONTROLLER_0,
DPU_IRQ_IDX(MDP_INTF1_7xxx_TEAR_INTR, 2)), .prog_fetch_lines_worst_case = 24,
INTF_BLK("intf_5", INTF_5, 0x39000, 0x280, INTF_DP, MSM_DP_CONTROLLER_1, 24, INTF_SC7280_MASK, .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 22), .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 23)), .intr_tear_rd_ptr = -1,
}, {
.name = "intf_1", .id = INTF_1,
.base = 0x35000, .len = 0x2c4,
.features = INTF_SC7280_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_0,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF1_7xxx_TEAR_INTR, 2),
}, {
.name = "intf_5", .id = INTF_5,
.base = 0x39000, .len = 0x280,
.features = INTF_SC7280_MASK,
.type = INTF_DP,
.controller_id = MSM_DP_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 22),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 23),
.intr_tear_rd_ptr = -1,
},
}; };
static const struct dpu_perf_cfg sc7280_perf_data = { static const struct dpu_perf_cfg sc7280_perf_data = {
......
...@@ -328,35 +328,97 @@ static const struct dpu_dsc_cfg sc8280xp_dsc[] = { ...@@ -328,35 +328,97 @@ static const struct dpu_dsc_cfg sc8280xp_dsc[] = {
/* TODO: INTF 3, 8 and 7 are used for MST, marked as INTF_NONE for now */ /* TODO: INTF 3, 8 and 7 are used for MST, marked as INTF_NONE for now */
static const struct dpu_intf_cfg sc8280xp_intf[] = { static const struct dpu_intf_cfg sc8280xp_intf[] = {
INTF_BLK("intf_0", INTF_0, 0x34000, 0x280, INTF_DP, MSM_DP_CONTROLLER_0, 24, INTF_SC7280_MASK, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24), .name = "intf_0", .id = INTF_0,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25)), .base = 0x34000, .len = 0x280,
INTF_BLK_DSI_TE("intf_1", INTF_1, 0x35000, 0x300, INTF_DSI, MSM_DSI_CONTROLLER_0, 24, INTF_SC7280_MASK, .features = INTF_SC7280_MASK,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26), .type = INTF_DP,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27), .controller_id = MSM_DP_CONTROLLER_0,
DPU_IRQ_IDX(MDP_INTF1_7xxx_TEAR_INTR, 2)), .prog_fetch_lines_worst_case = 24,
INTF_BLK_DSI_TE("intf_2", INTF_2, 0x36000, 0x300, INTF_DSI, MSM_DSI_CONTROLLER_1, 24, INTF_SC7280_MASK, .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28), .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29), .intr_tear_rd_ptr = -1,
DPU_IRQ_IDX(MDP_INTF2_7xxx_TEAR_INTR, 2)), }, {
INTF_BLK("intf_3", INTF_3, 0x37000, 0x280, INTF_NONE, MSM_DP_CONTROLLER_0, 24, INTF_SC7280_MASK, .name = "intf_1", .id = INTF_1,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30), .base = 0x35000, .len = 0x300,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31)), .features = INTF_SC7280_MASK,
INTF_BLK("intf_4", INTF_4, 0x38000, 0x280, INTF_DP, MSM_DP_CONTROLLER_1, 24, INTF_SC7280_MASK, .type = INTF_DSI,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 20), .controller_id = MSM_DSI_CONTROLLER_0,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 21)), .prog_fetch_lines_worst_case = 24,
INTF_BLK("intf_5", INTF_5, 0x39000, 0x280, INTF_DP, MSM_DP_CONTROLLER_3, 24, INTF_SC7280_MASK, .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 22), .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 23)), .intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF1_7xxx_TEAR_INTR, 2),
INTF_BLK("intf_6", INTF_6, 0x3a000, 0x280, INTF_DP, MSM_DP_CONTROLLER_2, 24, INTF_SC7280_MASK, }, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 16), .name = "intf_2", .id = INTF_2,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 17)), .base = 0x36000, .len = 0x300,
INTF_BLK("intf_7", INTF_7, 0x3b000, 0x280, INTF_NONE, MSM_DP_CONTROLLER_2, 24, INTF_SC7280_MASK, .features = INTF_SC7280_MASK,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 18), .type = INTF_DSI,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 19)), .controller_id = MSM_DSI_CONTROLLER_1,
INTF_BLK("intf_8", INTF_8, 0x3c000, 0x280, INTF_NONE, MSM_DP_CONTROLLER_1, 24, INTF_SC7280_MASK, .prog_fetch_lines_worst_case = 24,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 12), .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 13)), .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF2_7xxx_TEAR_INTR, 2),
}, {
.name = "intf_3", .id = INTF_3,
.base = 0x37000, .len = 0x280,
.features = INTF_SC7280_MASK,
.type = INTF_NONE,
.controller_id = MSM_DP_CONTROLLER_0,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31),
.intr_tear_rd_ptr = -1,
}, {
.name = "intf_4", .id = INTF_4,
.base = 0x38000, .len = 0x280,
.features = INTF_SC7280_MASK,
.type = INTF_DP,
.controller_id = MSM_DP_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 20),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 21),
.intr_tear_rd_ptr = -1,
}, {
.name = "intf_5", .id = INTF_5,
.base = 0x39000, .len = 0x280,
.features = INTF_SC7280_MASK,
.type = INTF_DP,
.controller_id = MSM_DP_CONTROLLER_3,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 22),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 23),
.intr_tear_rd_ptr = -1,
}, {
.name = "intf_6", .id = INTF_6,
.base = 0x3a000, .len = 0x280,
.features = INTF_SC7280_MASK,
.type = INTF_DP,
.controller_id = MSM_DP_CONTROLLER_2,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 16),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 17),
.intr_tear_rd_ptr = -1,
}, {
.name = "intf_7", .id = INTF_7,
.base = 0x3b000, .len = 0x280,
.features = INTF_SC7280_MASK,
.type = INTF_NONE,
.controller_id = MSM_DP_CONTROLLER_2,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 18),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 19),
.intr_tear_rd_ptr = -1,
}, {
.name = "intf_8", .id = INTF_8,
.base = 0x3c000, .len = 0x280,
.features = INTF_SC7280_MASK,
.type = INTF_NONE,
.controller_id = MSM_DP_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 12),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 13),
.intr_tear_rd_ptr = -1,
},
}; };
static const struct dpu_perf_cfg sc8280xp_perf_data = { static const struct dpu_perf_cfg sc8280xp_perf_data = {
......
...@@ -337,20 +337,47 @@ static const struct dpu_dsc_cfg sm8450_dsc[] = { ...@@ -337,20 +337,47 @@ static const struct dpu_dsc_cfg sm8450_dsc[] = {
}; };
static const struct dpu_intf_cfg sm8450_intf[] = { static const struct dpu_intf_cfg sm8450_intf[] = {
INTF_BLK("intf_0", INTF_0, 0x34000, 0x280, INTF_DP, MSM_DP_CONTROLLER_0, 24, INTF_SC7280_MASK, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24), .name = "intf_0", .id = INTF_0,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25)), .base = 0x34000, .len = 0x280,
INTF_BLK_DSI_TE("intf_1", INTF_1, 0x35000, 0x300, INTF_DSI, MSM_DSI_CONTROLLER_0, 24, INTF_SC7280_MASK, .features = INTF_SC7280_MASK,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26), .type = INTF_DP,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27), .controller_id = MSM_DP_CONTROLLER_0,
DPU_IRQ_IDX(MDP_INTF1_7xxx_TEAR_INTR, 2)), .prog_fetch_lines_worst_case = 24,
INTF_BLK_DSI_TE("intf_2", INTF_2, 0x36000, 0x300, INTF_DSI, MSM_DSI_CONTROLLER_1, 24, INTF_SC7280_MASK, .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28), .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29), .intr_tear_rd_ptr = -1,
DPU_IRQ_IDX(MDP_INTF2_7xxx_TEAR_INTR, 2)), }, {
INTF_BLK("intf_3", INTF_3, 0x37000, 0x280, INTF_DP, MSM_DP_CONTROLLER_1, 24, INTF_SC7280_MASK, .name = "intf_1", .id = INTF_1,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30), .base = 0x35000, .len = 0x300,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31)), .features = INTF_SC7280_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_0,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF1_7xxx_TEAR_INTR, 2),
}, {
.name = "intf_2", .id = INTF_2,
.base = 0x36000, .len = 0x300,
.features = INTF_SC7280_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF2_7xxx_TEAR_INTR, 2),
}, {
.name = "intf_3", .id = INTF_3,
.base = 0x37000, .len = 0x280,
.features = INTF_SC7280_MASK,
.type = INTF_DP,
.controller_id = MSM_DP_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31),
.intr_tear_rd_ptr = -1,
},
}; };
static const struct dpu_perf_cfg sm8450_perf_data = { static const struct dpu_perf_cfg sm8450_perf_data = {
......
...@@ -351,20 +351,47 @@ static const struct dpu_dsc_cfg sm8550_dsc[] = { ...@@ -351,20 +351,47 @@ static const struct dpu_dsc_cfg sm8550_dsc[] = {
}; };
static const struct dpu_intf_cfg sm8550_intf[] = { static const struct dpu_intf_cfg sm8550_intf[] = {
INTF_BLK("intf_0", INTF_0, 0x34000, 0x280, INTF_DP, MSM_DP_CONTROLLER_0, 24, INTF_SC7280_MASK, {
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24), .name = "intf_0", .id = INTF_0,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25)), .base = 0x34000, .len = 0x280,
INTF_BLK_DSI_TE("intf_1", INTF_1, 0x35000, 0x300, INTF_DSI, MSM_DSI_CONTROLLER_0, 24, INTF_SC7280_MASK, .features = INTF_SC7280_MASK,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26), .type = INTF_DP,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27), .controller_id = MSM_DP_CONTROLLER_0,
DPU_IRQ_IDX(MDP_INTF1_7xxx_TEAR_INTR, 2)), .prog_fetch_lines_worst_case = 24,
INTF_BLK_DSI_TE("intf_2", INTF_2, 0x36000, 0x300, INTF_DSI, MSM_DSI_CONTROLLER_1, 24, INTF_SC7280_MASK, .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28), .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25),
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29), .intr_tear_rd_ptr = -1,
DPU_IRQ_IDX(MDP_INTF2_7xxx_TEAR_INTR, 2)), }, {
INTF_BLK("intf_3", INTF_3, 0x37000, 0x280, INTF_DP, MSM_DP_CONTROLLER_1, 24, INTF_SC7280_MASK, .name = "intf_1", .id = INTF_1,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30), .base = 0x35000, .len = 0x300,
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31)), .features = INTF_SC7280_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_0,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF1_7xxx_TEAR_INTR, 2),
}, {
.name = "intf_2", .id = INTF_2,
.base = 0x36000, .len = 0x300,
.features = INTF_SC7280_MASK,
.type = INTF_DSI,
.controller_id = MSM_DSI_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29),
.intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF2_7xxx_TEAR_INTR, 2),
}, {
.name = "intf_3", .id = INTF_3,
.base = 0x37000, .len = 0x280,
.features = INTF_SC7280_MASK,
.type = INTF_DP,
.controller_id = MSM_DP_CONTROLLER_1,
.prog_fetch_lines_worst_case = 24,
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30),
.intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31),
.intr_tear_rd_ptr = -1,
},
}; };
static const struct dpu_perf_cfg sm8550_perf_data = { static const struct dpu_perf_cfg sm8550_perf_data = {
......
...@@ -463,36 +463,6 @@ static const struct dpu_dsc_sub_blks dsc_sblk_1 = { ...@@ -463,36 +463,6 @@ static const struct dpu_dsc_sub_blks dsc_sblk_1 = {
.ctl = {.base = 0xF80, .len = 0x10}, .ctl = {.base = 0xF80, .len = 0x10},
}; };
/*************************************************************
* INTF sub blocks config
*************************************************************/
#define INTF_BLK(_name, _id, _base, _len, _type, _ctrl_id, _progfetch, _features, _underrun, _vsync) \
{\
.name = _name, .id = _id, \
.base = _base, .len = _len, \
.features = _features, \
.type = _type, \
.controller_id = _ctrl_id, \
.prog_fetch_lines_worst_case = _progfetch, \
.intr_underrun = _underrun, \
.intr_vsync = _vsync, \
.intr_tear_rd_ptr = -1, \
}
/* DSI Interface sub-block with TEAR registers (since DPU 5.0.0) */
#define INTF_BLK_DSI_TE(_name, _id, _base, _len, _type, _ctrl_id, _progfetch, _features, _underrun, _vsync, _tear_rd_ptr) \
{\
.name = _name, .id = _id, \
.base = _base, .len = _len, \
.features = _features, \
.type = _type, \
.controller_id = _ctrl_id, \
.prog_fetch_lines_worst_case = _progfetch, \
.intr_underrun = _underrun, \
.intr_vsync = _vsync, \
.intr_tear_rd_ptr = _tear_rd_ptr, \
}
/************************************************************* /*************************************************************
* VBIF sub blocks config * VBIF sub blocks config
*************************************************************/ *************************************************************/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment