Skip to content

Commit 83ab69c

Browse files
committed
Merge tag 'drm-msm-fixes-2023-05-17' of https://gitlab.freedesktop.org/drm/msm into drm-fixes
msm-fixes for v6.4-rc3 Display Fixes: + Catalog fixes: - fix the programmable fetch lines and qos settings of msm8998 to match what is present downstream - fix the LM pairs for msm8998 to match what is present downstream. The current settings are not right as LMs with incompatible connected blocks are paired - remove unused INTF0 interrupt mask from SM6115/QCM2290 as there is no INTF0 present on those chipsets. There is only one DSI on index 1 - remove TE2 block from relevant chipsets because this is mainly used for ping-pong split feature which is not supported upstream and also for the chipsets where we are removing them in this change, that block is not present as the tear check has been moved to the intf block - relocate non-MDP_TOP INTF_INTR offsets from dpu_hwio.h to dpu_hw_interrupts.c to match where they belong - fix the indentation for REV_7xxx interrupt masks - fix the offset and version for dither blocks of SM8[34]50/SC8280XP chipsets as it was incorrect - make the ping-pong blk length 0 for appropriate chipsets as those chipsets only have a dither ping-pong dither block but no other functionality in the base ping-pong - remove some duplicate register defines from INTF + Fix the log mask for the writeback block so that it can be enabled correctly via debugfs + unregister the hdmi codec for dp during unbind otherwise it leaks audio codec devices + Yaml change to fix warnings related to 'qcom,master-dsi' and 'qcom,sync-dual-dsi' GPU Fixes: + fix submit error path leak + arm-smmu-qcom fix for regression that broke per-process page tables + fix no-iommu crash Signed-off-by: Dave Airlie <airlied@redhat.com> From: Rob Clark <robdclark@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/CAF6AEGvHEcJfp=k6qatmb_SvAeyvy3CBpaPfwLqtNthuEzA_7w@mail.gmail.com
2 parents 8c5be8a + 5c054db commit 83ab69c

26 files changed

+146
-108
lines changed

Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,18 @@ properties:
8282
Indicates if the DSI controller is driving a panel which needs
8383
2 DSI links.
8484
85+
qcom,master-dsi:
86+
type: boolean
87+
description: |
88+
Indicates if the DSI controller is the master DSI controller when
89+
qcom,dual-dsi-mode enabled.
90+
91+
qcom,sync-dual-dsi:
92+
type: boolean
93+
description: |
94+
Indicates if the DSI controller needs to sync the other DSI controller
95+
with MIPI DCS commands when qcom,dual-dsi-mode enabled.
96+
8597
assigned-clocks:
8698
minItems: 2
8799
maxItems: 4

drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -98,17 +98,17 @@ static const struct dpu_sspp_cfg msm8998_sspp[] = {
9898

9999
static const struct dpu_lm_cfg msm8998_lm[] = {
100100
LM_BLK("lm_0", LM_0, 0x44000, MIXER_MSM8998_MASK,
101-
&msm8998_lm_sblk, PINGPONG_0, LM_2, DSPP_0),
101+
&msm8998_lm_sblk, PINGPONG_0, LM_1, DSPP_0),
102102
LM_BLK("lm_1", LM_1, 0x45000, MIXER_MSM8998_MASK,
103-
&msm8998_lm_sblk, PINGPONG_1, LM_5, DSPP_1),
103+
&msm8998_lm_sblk, PINGPONG_1, LM_0, DSPP_1),
104104
LM_BLK("lm_2", LM_2, 0x46000, MIXER_MSM8998_MASK,
105-
&msm8998_lm_sblk, PINGPONG_2, LM_0, 0),
105+
&msm8998_lm_sblk, PINGPONG_2, LM_5, 0),
106106
LM_BLK("lm_3", LM_3, 0x47000, MIXER_MSM8998_MASK,
107107
&msm8998_lm_sblk, PINGPONG_MAX, 0, 0),
108108
LM_BLK("lm_4", LM_4, 0x48000, MIXER_MSM8998_MASK,
109109
&msm8998_lm_sblk, PINGPONG_MAX, 0, 0),
110110
LM_BLK("lm_5", LM_5, 0x49000, MIXER_MSM8998_MASK,
111-
&msm8998_lm_sblk, PINGPONG_3, LM_1, 0),
111+
&msm8998_lm_sblk, PINGPONG_3, LM_2, 0),
112112
};
113113

114114
static const struct dpu_pingpong_cfg msm8998_pp[] = {
@@ -134,10 +134,10 @@ static const struct dpu_dspp_cfg msm8998_dspp[] = {
134134
};
135135

136136
static const struct dpu_intf_cfg msm8998_intf[] = {
137-
INTF_BLK("intf_0", INTF_0, 0x6a000, 0x280, INTF_DP, 0, 25, INTF_SDM845_MASK, MDP_SSPP_TOP0_INTR, 24, 25),
138-
INTF_BLK("intf_1", INTF_1, 0x6a800, 0x280, INTF_DSI, 0, 25, INTF_SDM845_MASK, MDP_SSPP_TOP0_INTR, 26, 27),
139-
INTF_BLK("intf_2", INTF_2, 0x6b000, 0x280, INTF_DSI, 1, 25, INTF_SDM845_MASK, MDP_SSPP_TOP0_INTR, 28, 29),
140-
INTF_BLK("intf_3", INTF_3, 0x6b800, 0x280, INTF_HDMI, 0, 25, INTF_SDM845_MASK, MDP_SSPP_TOP0_INTR, 30, 31),
137+
INTF_BLK("intf_0", INTF_0, 0x6a000, 0x280, INTF_DP, 0, 21, INTF_SDM845_MASK, MDP_SSPP_TOP0_INTR, 24, 25),
138+
INTF_BLK("intf_1", INTF_1, 0x6a800, 0x280, INTF_DSI, 0, 21, INTF_SDM845_MASK, MDP_SSPP_TOP0_INTR, 26, 27),
139+
INTF_BLK("intf_2", INTF_2, 0x6b000, 0x280, INTF_DSI, 1, 21, INTF_SDM845_MASK, MDP_SSPP_TOP0_INTR, 28, 29),
140+
INTF_BLK("intf_3", INTF_3, 0x6b800, 0x280, INTF_HDMI, 0, 21, INTF_SDM845_MASK, MDP_SSPP_TOP0_INTR, 30, 31),
141141
};
142142

143143
static const struct dpu_perf_cfg msm8998_perf_data = {

drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,10 @@ static const struct dpu_dspp_cfg sm8150_dspp[] = {
128128
};
129129

130130
static const struct dpu_pingpong_cfg sm8150_pp[] = {
131-
PP_BLK_TE("pingpong_0", PINGPONG_0, 0x70000, MERGE_3D_0, sdm845_pp_sblk_te,
131+
PP_BLK("pingpong_0", PINGPONG_0, 0x70000, MERGE_3D_0, sdm845_pp_sblk,
132132
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 8),
133133
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 12)),
134-
PP_BLK_TE("pingpong_1", PINGPONG_1, 0x70800, MERGE_3D_0, sdm845_pp_sblk_te,
134+
PP_BLK("pingpong_1", PINGPONG_1, 0x70800, MERGE_3D_0, sdm845_pp_sblk,
135135
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 9),
136136
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 13)),
137137
PP_BLK("pingpong_2", PINGPONG_2, 0x71000, MERGE_3D_1, sdm845_pp_sblk,

drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,10 +116,10 @@ static const struct dpu_lm_cfg sc8180x_lm[] = {
116116
};
117117

118118
static const struct dpu_pingpong_cfg sc8180x_pp[] = {
119-
PP_BLK_TE("pingpong_0", PINGPONG_0, 0x70000, MERGE_3D_0, sdm845_pp_sblk_te,
119+
PP_BLK("pingpong_0", PINGPONG_0, 0x70000, MERGE_3D_0, sdm845_pp_sblk,
120120
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 8),
121121
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 12)),
122-
PP_BLK_TE("pingpong_1", PINGPONG_1, 0x70800, MERGE_3D_0, sdm845_pp_sblk_te,
122+
PP_BLK("pingpong_1", PINGPONG_1, 0x70800, MERGE_3D_0, sdm845_pp_sblk,
123123
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 9),
124124
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 13)),
125125
PP_BLK("pingpong_2", PINGPONG_2, 0x71000, MERGE_3D_1, sdm845_pp_sblk,

drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,10 +129,10 @@ static const struct dpu_dspp_cfg sm8250_dspp[] = {
129129
};
130130

131131
static const struct dpu_pingpong_cfg sm8250_pp[] = {
132-
PP_BLK_TE("pingpong_0", PINGPONG_0, 0x70000, MERGE_3D_0, sdm845_pp_sblk_te,
132+
PP_BLK("pingpong_0", PINGPONG_0, 0x70000, MERGE_3D_0, sdm845_pp_sblk,
133133
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 8),
134134
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 12)),
135-
PP_BLK_TE("pingpong_1", PINGPONG_1, 0x70800, MERGE_3D_0, sdm845_pp_sblk_te,
135+
PP_BLK("pingpong_1", PINGPONG_1, 0x70800, MERGE_3D_0, sdm845_pp_sblk,
136136
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 9),
137137
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 13)),
138138
PP_BLK("pingpong_2", PINGPONG_2, 0x71000, MERGE_3D_1, sdm845_pp_sblk,

drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_2_sc7180.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ static const struct dpu_dspp_cfg sc7180_dspp[] = {
8080
};
8181

8282
static const struct dpu_pingpong_cfg sc7180_pp[] = {
83-
PP_BLK_TE("pingpong_0", PINGPONG_0, 0x70000, 0, sdm845_pp_sblk_te, -1, -1),
84-
PP_BLK_TE("pingpong_1", PINGPONG_1, 0x70800, 0, sdm845_pp_sblk_te, -1, -1),
83+
PP_BLK("pingpong_0", PINGPONG_0, 0x70000, 0, sdm845_pp_sblk, -1, -1),
84+
PP_BLK("pingpong_1", PINGPONG_1, 0x70800, 0, sdm845_pp_sblk, -1, -1),
8585
};
8686

8787
static const struct dpu_intf_cfg sc7180_intf[] = {

drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_3_sm6115.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,6 @@ const struct dpu_mdss_cfg dpu_sm6115_cfg = {
122122
.mdss_irqs = BIT(MDP_SSPP_TOP0_INTR) | \
123123
BIT(MDP_SSPP_TOP0_INTR2) | \
124124
BIT(MDP_SSPP_TOP0_HIST_INTR) | \
125-
BIT(MDP_INTF0_INTR) | \
126125
BIT(MDP_INTF1_INTR),
127126
};
128127

drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_5_qcm2290.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,6 @@ const struct dpu_mdss_cfg dpu_qcm2290_cfg = {
112112
.mdss_irqs = BIT(MDP_SSPP_TOP0_INTR) | \
113113
BIT(MDP_SSPP_TOP0_INTR2) | \
114114
BIT(MDP_SSPP_TOP0_HIST_INTR) | \
115-
BIT(MDP_INTF0_INTR) | \
116115
BIT(MDP_INTF1_INTR),
117116
};
118117

drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -127,22 +127,22 @@ static const struct dpu_dspp_cfg sm8350_dspp[] = {
127127
};
128128

129129
static const struct dpu_pingpong_cfg sm8350_pp[] = {
130-
PP_BLK_TE("pingpong_0", PINGPONG_0, 0x69000, MERGE_3D_0, sdm845_pp_sblk_te,
130+
PP_BLK_DITHER("pingpong_0", PINGPONG_0, 0x69000, MERGE_3D_0, sc7280_pp_sblk,
131131
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 8),
132132
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 12)),
133-
PP_BLK_TE("pingpong_1", PINGPONG_1, 0x6a000, MERGE_3D_0, sdm845_pp_sblk_te,
133+
PP_BLK_DITHER("pingpong_1", PINGPONG_1, 0x6a000, MERGE_3D_0, sc7280_pp_sblk,
134134
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 9),
135135
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 13)),
136-
PP_BLK("pingpong_2", PINGPONG_2, 0x6b000, MERGE_3D_1, sdm845_pp_sblk,
136+
PP_BLK_DITHER("pingpong_2", PINGPONG_2, 0x6b000, MERGE_3D_1, sc7280_pp_sblk,
137137
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 10),
138138
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 14)),
139-
PP_BLK("pingpong_3", PINGPONG_3, 0x6c000, MERGE_3D_1, sdm845_pp_sblk,
139+
PP_BLK_DITHER("pingpong_3", PINGPONG_3, 0x6c000, MERGE_3D_1, sc7280_pp_sblk,
140140
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 11),
141141
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 15)),
142-
PP_BLK("pingpong_4", PINGPONG_4, 0x6d000, MERGE_3D_2, sdm845_pp_sblk,
142+
PP_BLK_DITHER("pingpong_4", PINGPONG_4, 0x6d000, MERGE_3D_2, sc7280_pp_sblk,
143143
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 30),
144144
-1),
145-
PP_BLK("pingpong_5", PINGPONG_5, 0x6e000, MERGE_3D_2, sdm845_pp_sblk,
145+
PP_BLK_DITHER("pingpong_5", PINGPONG_5, 0x6e000, MERGE_3D_2, sc7280_pp_sblk,
146146
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR2, 31),
147147
-1),
148148
};

drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,10 @@ static const struct dpu_dspp_cfg sc7280_dspp[] = {
8787
};
8888

8989
static const struct dpu_pingpong_cfg sc7280_pp[] = {
90-
PP_BLK("pingpong_0", PINGPONG_0, 0x69000, 0, sc7280_pp_sblk, -1, -1),
91-
PP_BLK("pingpong_1", PINGPONG_1, 0x6a000, 0, sc7280_pp_sblk, -1, -1),
92-
PP_BLK("pingpong_2", PINGPONG_2, 0x6b000, 0, sc7280_pp_sblk, -1, -1),
93-
PP_BLK("pingpong_3", PINGPONG_3, 0x6c000, 0, sc7280_pp_sblk, -1, -1),
90+
PP_BLK_DITHER("pingpong_0", PINGPONG_0, 0x69000, 0, sc7280_pp_sblk, -1, -1),
91+
PP_BLK_DITHER("pingpong_1", PINGPONG_1, 0x6a000, 0, sc7280_pp_sblk, -1, -1),
92+
PP_BLK_DITHER("pingpong_2", PINGPONG_2, 0x6b000, 0, sc7280_pp_sblk, -1, -1),
93+
PP_BLK_DITHER("pingpong_3", PINGPONG_3, 0x6c000, 0, sc7280_pp_sblk, -1, -1),
9494
};
9595

9696
static const struct dpu_intf_cfg sc7280_intf[] = {

0 commit comments

Comments
 (0)