Skip to content

Commit 0b78be6

Browse files
committed
drm/msm/dpu: fix sc7280 and sc7180 PINGPONG done interrupts
During IRQ conversion we have lost the PP_DONE interrupts for sc7280 platform. This was left unnoticed, because this interrupt is only used for CMD outputs and probably no sc7[12]80 systems use DSI CMD panels. Fixes: 667e998 ("drm/msm/dpu: replace IRQ lookup with the data in hw catalog") Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com> Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org> Patchwork: https://patchwork.freedesktop.org/patch/542175/ Link: https://lore.kernel.org/r/20230613001004.3426676-2-dmitry.baryshkov@linaro.org
1 parent fa0048a commit 0b78be6

2 files changed

Lines changed: 18 additions & 6 deletions

File tree

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

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

8282
static const struct dpu_pingpong_cfg sc7180_pp[] = {
83-
PP_BLK("pingpong_0", PINGPONG_0, 0x70000, PINGPONG_SM8150_MASK, 0, sdm845_pp_sblk, -1, -1),
84-
PP_BLK("pingpong_1", PINGPONG_1, 0x70800, PINGPONG_SM8150_MASK, 0, sdm845_pp_sblk, -1, -1),
83+
PP_BLK("pingpong_0", PINGPONG_0, 0x70000, PINGPONG_SM8150_MASK, 0, sdm845_pp_sblk,
84+
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 8),
85+
-1),
86+
PP_BLK("pingpong_1", PINGPONG_1, 0x70800, PINGPONG_SM8150_MASK, 0, sdm845_pp_sblk,
87+
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 9),
88+
-1),
8589
};
8690

8791
static const struct dpu_intf_cfg sc7180_intf[] = {

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

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

9090
static const struct dpu_pingpong_cfg sc7280_pp[] = {
91-
PP_BLK_DITHER("pingpong_0", PINGPONG_0, 0x69000, 0, sc7280_pp_sblk, -1, -1),
92-
PP_BLK_DITHER("pingpong_1", PINGPONG_1, 0x6a000, 0, sc7280_pp_sblk, -1, -1),
93-
PP_BLK_DITHER("pingpong_2", PINGPONG_2, 0x6b000, 0, sc7280_pp_sblk, -1, -1),
94-
PP_BLK_DITHER("pingpong_3", PINGPONG_3, 0x6c000, 0, sc7280_pp_sblk, -1, -1),
91+
PP_BLK_DITHER("pingpong_0", PINGPONG_0, 0x69000, 0, sc7280_pp_sblk,
92+
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 8),
93+
-1),
94+
PP_BLK_DITHER("pingpong_1", PINGPONG_1, 0x6a000, 0, sc7280_pp_sblk,
95+
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 9),
96+
-1),
97+
PP_BLK_DITHER("pingpong_2", PINGPONG_2, 0x6b000, 0, sc7280_pp_sblk,
98+
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 10),
99+
-1),
100+
PP_BLK_DITHER("pingpong_3", PINGPONG_3, 0x6c000, 0, sc7280_pp_sblk,
101+
DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 11),
102+
-1),
95103
};
96104

97105
/* NOTE: sc7280 only has one DSC hard slice encoder */

0 commit comments

Comments
 (0)