Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/msm/dpu: provide DSPP and correct LM config for SDM670

On SDM670 the DPU has two DSPP blocks compared to 4 DSPP blocks on
SDM845. Currently SDM670 just reuses LMs and DSPPs from SDM845. Define
platform-specific configuration for those blocks.

Fixes: e140b7e496b7 ("drm/msm/dpu: Add hw revision 4.1 (SDM670)")
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/629951/
Link: https://lore.kernel.org/r/20241220-dpu-fix-catalog-v2-1-38fa961ea992@linaro.org

+52 -2
+52 -2
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_1_sdm670.h
··· 65 65 }, 66 66 }; 67 67 68 + static const struct dpu_lm_cfg sdm670_lm[] = { 69 + { 70 + .name = "lm_0", .id = LM_0, 71 + .base = 0x44000, .len = 0x320, 72 + .features = MIXER_SDM845_MASK, 73 + .sblk = &sdm845_lm_sblk, 74 + .lm_pair = LM_1, 75 + .pingpong = PINGPONG_0, 76 + .dspp = DSPP_0, 77 + }, { 78 + .name = "lm_1", .id = LM_1, 79 + .base = 0x45000, .len = 0x320, 80 + .features = MIXER_SDM845_MASK, 81 + .sblk = &sdm845_lm_sblk, 82 + .lm_pair = LM_0, 83 + .pingpong = PINGPONG_1, 84 + .dspp = DSPP_1, 85 + }, { 86 + .name = "lm_2", .id = LM_2, 87 + .base = 0x46000, .len = 0x320, 88 + .features = MIXER_SDM845_MASK, 89 + .sblk = &sdm845_lm_sblk, 90 + .lm_pair = LM_5, 91 + .pingpong = PINGPONG_2, 92 + }, { 93 + .name = "lm_5", .id = LM_5, 94 + .base = 0x49000, .len = 0x320, 95 + .features = MIXER_SDM845_MASK, 96 + .sblk = &sdm845_lm_sblk, 97 + .lm_pair = LM_2, 98 + .pingpong = PINGPONG_3, 99 + }, 100 + }; 101 + 102 + static const struct dpu_dspp_cfg sdm670_dspp[] = { 103 + { 104 + .name = "dspp_0", .id = DSPP_0, 105 + .base = 0x54000, .len = 0x1800, 106 + .features = DSPP_SC7180_MASK, 107 + .sblk = &sdm845_dspp_sblk, 108 + }, { 109 + .name = "dspp_1", .id = DSPP_1, 110 + .base = 0x56000, .len = 0x1800, 111 + .features = DSPP_SC7180_MASK, 112 + .sblk = &sdm845_dspp_sblk, 113 + }, 114 + }; 115 + 68 116 static const struct dpu_dsc_cfg sdm670_dsc[] = { 69 117 { 70 118 .name = "dsc_0", .id = DSC_0, ··· 136 88 .ctl = sdm845_ctl, 137 89 .sspp_count = ARRAY_SIZE(sdm670_sspp), 138 90 .sspp = sdm670_sspp, 139 - .mixer_count = ARRAY_SIZE(sdm845_lm), 140 - .mixer = sdm845_lm, 91 + .mixer_count = ARRAY_SIZE(sdm670_lm), 92 + .mixer = sdm670_lm, 93 + .dspp_count = ARRAY_SIZE(sdm670_dspp), 94 + .dspp = sdm670_dspp, 141 95 .pingpong_count = ARRAY_SIZE(sdm845_pp), 142 96 .pingpong = sdm845_pp, 143 97 .dsc_count = ARRAY_SIZE(sdm670_dsc),