mirror of
https://github.com/torvalds/linux.git
synced 2026-06-03 12:03:54 +02:00
drm/msm/dpu: correct DP MST interface configuration
Due to historical reasons we ended up with dummy values being specified for MST-related interfaces some of them had INTF_NONE, others had non-existing DP controller indices. Those workarounds are no longer necessary. Fix types and indices for all DP-MST related INTF instances. The only exception is INTF_3 on SC8180X, which has unique design. It can be used either with INTF_0 / DP0 or with INTF_4 / DP1. This interface is left with the dummy value until somebody implements necessary bits for that platform. Co-developed-by: Abhinav Kumar <quic_abhinavk@quicinc.com> Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com> Signed-off-by: Yongxing Mou <yongxing.mou@oss.qualcomm.com> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Patchwork: https://patchwork.freedesktop.org/patch/713988/ Link: https://lore.kernel.org/r/20260325-fix-dp-mst-interfaces-v1-1-186d1de3fa1b@oss.qualcomm.com
This commit is contained in:
parent
e224e3a167
commit
469df8c2b5
|
|
@ -377,7 +377,7 @@ static const struct dpu_intf_cfg sm8650_intf[] = {
|
|||
.name = "intf_3", .id = INTF_3,
|
||||
.base = 0x37000, .len = 0x280,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_1,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.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),
|
||||
|
|
|
|||
|
|
@ -419,7 +419,7 @@ static const struct dpu_intf_cfg sm8750_intf[] = {
|
|||
.name = "intf_3", .id = INTF_3,
|
||||
.base = 0x37000, .len = 0x4bc,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_1,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.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),
|
||||
|
|
|
|||
|
|
@ -425,7 +425,7 @@ static const struct dpu_intf_cfg glymur_intf[] = {
|
|||
}, {
|
||||
.name = "intf_3", .id = INTF_3,
|
||||
.base = 0x37000, .len = 0x400,
|
||||
.type = INTF_NONE,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.prog_fetch_lines_worst_case = 24,
|
||||
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30),
|
||||
|
|
@ -457,7 +457,7 @@ static const struct dpu_intf_cfg glymur_intf[] = {
|
|||
}, {
|
||||
.name = "intf_7", .id = INTF_7,
|
||||
.base = 0x3b000, .len = 0x400,
|
||||
.type = INTF_NONE,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_2, /* pair with intf_6 for DP MST */
|
||||
.prog_fetch_lines_worst_case = 24,
|
||||
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 18),
|
||||
|
|
@ -465,7 +465,7 @@ static const struct dpu_intf_cfg glymur_intf[] = {
|
|||
}, {
|
||||
.name = "intf_8", .id = INTF_8,
|
||||
.base = 0x3c000, .len = 0x400,
|
||||
.type = INTF_NONE,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_1, /* pair with intf_4 for DP MST */
|
||||
.prog_fetch_lines_worst_case = 24,
|
||||
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 12),
|
||||
|
|
|
|||
|
|
@ -417,7 +417,7 @@ static const struct dpu_intf_cfg kaanapali_intf[] = {
|
|||
.name = "intf_3", .id = INTF_3,
|
||||
.base = 0x190000, .len = 0x4bc,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_1,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.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),
|
||||
|
|
|
|||
|
|
@ -258,7 +258,7 @@ static const struct dpu_intf_cfg sdm845_intf[] = {
|
|||
.name = "intf_3", .id = INTF_3,
|
||||
.base = 0x6b800, .len = 0x280,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_1,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.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),
|
||||
|
|
|
|||
|
|
@ -316,7 +316,7 @@ static const struct dpu_intf_cfg sm8150_intf[] = {
|
|||
.name = "intf_3", .id = INTF_3,
|
||||
.base = 0x6b800, .len = 0x280,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_1,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.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),
|
||||
|
|
|
|||
|
|
@ -230,7 +230,7 @@ static const struct dpu_intf_cfg sm7150_intf[] = {
|
|||
.name = "intf_3", .id = INTF_3,
|
||||
.base = 0x6b800, .len = 0x280,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_1,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.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),
|
||||
|
|
|
|||
|
|
@ -185,7 +185,7 @@ static const struct dpu_intf_cfg sm6150_intf[] = {
|
|||
.name = "intf_3", .id = INTF_3,
|
||||
.base = 0x6b800, .len = 0x280,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_1,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.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),
|
||||
|
|
|
|||
|
|
@ -301,7 +301,7 @@ static const struct dpu_intf_cfg sm8250_intf[] = {
|
|||
.name = "intf_3", .id = INTF_3,
|
||||
.base = 0x6b800, .len = 0x280,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_1,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.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),
|
||||
|
|
|
|||
|
|
@ -326,7 +326,7 @@ static const struct dpu_intf_cfg sm8350_intf[] = {
|
|||
.name = "intf_3", .id = INTF_3,
|
||||
.base = 0x37000, .len = 0x280,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_1,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.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),
|
||||
|
|
|
|||
|
|
@ -288,7 +288,6 @@ static const struct dpu_dsc_cfg sc8280xp_dsc[] = {
|
|||
},
|
||||
};
|
||||
|
||||
/* TODO: INTF 3, 8 and 7 are used for MST, marked as INTF_NONE for now */
|
||||
static const struct dpu_intf_cfg sc8280xp_intf[] = {
|
||||
{
|
||||
.name = "intf_0", .id = INTF_0,
|
||||
|
|
@ -319,8 +318,8 @@ static const struct dpu_intf_cfg sc8280xp_intf[] = {
|
|||
}, {
|
||||
.name = "intf_3", .id = INTF_3,
|
||||
.base = 0x37000, .len = 0x280,
|
||||
.type = INTF_NONE,
|
||||
.controller_id = MSM_DP_CONTROLLER_0,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.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),
|
||||
|
|
@ -351,16 +350,16 @@ static const struct dpu_intf_cfg sc8280xp_intf[] = {
|
|||
}, {
|
||||
.name = "intf_7", .id = INTF_7,
|
||||
.base = 0x3b000, .len = 0x280,
|
||||
.type = INTF_NONE,
|
||||
.controller_id = MSM_DP_CONTROLLER_2,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_2, /* pair with intf_6 for DP MST */
|
||||
.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),
|
||||
}, {
|
||||
.name = "intf_8", .id = INTF_8,
|
||||
.base = 0x3c000, .len = 0x280,
|
||||
.type = INTF_NONE,
|
||||
.controller_id = MSM_DP_CONTROLLER_1,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_1, /* pair with intf_8 for DP MST */
|
||||
.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),
|
||||
|
|
|
|||
|
|
@ -339,7 +339,7 @@ static const struct dpu_intf_cfg sm8450_intf[] = {
|
|||
.name = "intf_3", .id = INTF_3,
|
||||
.base = 0x37000, .len = 0x280,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_1,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.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),
|
||||
|
|
|
|||
|
|
@ -315,7 +315,6 @@ static const struct dpu_wb_cfg sa8775p_wb[] = {
|
|||
},
|
||||
};
|
||||
|
||||
/* TODO: INTF 3, 6, 7 and 8 are used for MST, marked as INTF_NONE for now */
|
||||
static const struct dpu_intf_cfg sa8775p_intf[] = {
|
||||
{
|
||||
.name = "intf_0", .id = INTF_0,
|
||||
|
|
@ -346,7 +345,7 @@ static const struct dpu_intf_cfg sa8775p_intf[] = {
|
|||
}, {
|
||||
.name = "intf_3", .id = INTF_3,
|
||||
.base = 0x37000, .len = 0x280,
|
||||
.type = INTF_NONE,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.prog_fetch_lines_worst_case = 24,
|
||||
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30),
|
||||
|
|
@ -362,7 +361,7 @@ static const struct dpu_intf_cfg sa8775p_intf[] = {
|
|||
}, {
|
||||
.name = "intf_6", .id = INTF_6,
|
||||
.base = 0x3A000, .len = 0x280,
|
||||
.type = INTF_NONE,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.prog_fetch_lines_worst_case = 24,
|
||||
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 16),
|
||||
|
|
@ -370,7 +369,7 @@ static const struct dpu_intf_cfg sa8775p_intf[] = {
|
|||
}, {
|
||||
.name = "intf_7", .id = INTF_7,
|
||||
.base = 0x3b000, .len = 0x280,
|
||||
.type = INTF_NONE,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.prog_fetch_lines_worst_case = 24,
|
||||
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 18),
|
||||
|
|
@ -378,7 +377,7 @@ static const struct dpu_intf_cfg sa8775p_intf[] = {
|
|||
}, {
|
||||
.name = "intf_8", .id = INTF_8,
|
||||
.base = 0x3c000, .len = 0x280,
|
||||
.type = INTF_NONE,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_1, /* pair with intf_4 for DP MST */
|
||||
.prog_fetch_lines_worst_case = 24,
|
||||
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 12),
|
||||
|
|
|
|||
|
|
@ -334,7 +334,7 @@ static const struct dpu_intf_cfg sm8550_intf[] = {
|
|||
.name = "intf_3", .id = INTF_3,
|
||||
.base = 0x37000, .len = 0x280,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_1,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.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),
|
||||
|
|
|
|||
|
|
@ -334,7 +334,7 @@ static const struct dpu_intf_cfg sar2130p_intf[] = {
|
|||
.name = "intf_3", .id = INTF_3,
|
||||
.base = 0x37000, .len = 0x280,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_1,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.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),
|
||||
|
|
|
|||
|
|
@ -303,7 +303,6 @@ static const struct dpu_wb_cfg x1e80100_wb[] = {
|
|||
},
|
||||
};
|
||||
|
||||
/* TODO: INTF 3, 8 and 7 are used for MST, marked as INTF_NONE for now */
|
||||
static const struct dpu_intf_cfg x1e80100_intf[] = {
|
||||
{
|
||||
.name = "intf_0", .id = INTF_0,
|
||||
|
|
@ -334,7 +333,7 @@ static const struct dpu_intf_cfg x1e80100_intf[] = {
|
|||
}, {
|
||||
.name = "intf_3", .id = INTF_3,
|
||||
.base = 0x37000, .len = 0x280,
|
||||
.type = INTF_NONE,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_0, /* pair with intf_0 for DP MST */
|
||||
.prog_fetch_lines_worst_case = 24,
|
||||
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30),
|
||||
|
|
@ -366,7 +365,7 @@ static const struct dpu_intf_cfg x1e80100_intf[] = {
|
|||
}, {
|
||||
.name = "intf_7", .id = INTF_7,
|
||||
.base = 0x3b000, .len = 0x280,
|
||||
.type = INTF_NONE,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_2, /* pair with intf_6 for DP MST */
|
||||
.prog_fetch_lines_worst_case = 24,
|
||||
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 18),
|
||||
|
|
@ -374,7 +373,7 @@ static const struct dpu_intf_cfg x1e80100_intf[] = {
|
|||
}, {
|
||||
.name = "intf_8", .id = INTF_8,
|
||||
.base = 0x3c000, .len = 0x280,
|
||||
.type = INTF_NONE,
|
||||
.type = INTF_DP,
|
||||
.controller_id = MSM_DP_CONTROLLER_1, /* pair with intf_4 for DP MST */
|
||||
.prog_fetch_lines_worst_case = 24,
|
||||
.intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 12),
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user