drm/msm/dpu: use PINGPONG_NONE for LMs with no PP attached
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Fri, 19 May 2023 23:40:24 +0000 (02:40 +0300)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 22 May 2023 07:14:19 +0000 (10:14 +0300)
On msm8998/sdm845 some LM blocks do not have corresponding PINGPONG
block. Currently the driver uses PINGPONG_MAX for such cases. Switch
that to use PINGPONG_NONE instead, which is more logical.

Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/538205/
Link: https://lore.kernel.org/r/20230519234025.2864377-4-dmitry.baryshkov@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h
drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c

index 37a52b4..3c732a0 100644 (file)
@@ -104,9 +104,9 @@ static const struct dpu_lm_cfg msm8998_lm[] = {
        LM_BLK("lm_2", LM_2, 0x46000, MIXER_MSM8998_MASK,
                &msm8998_lm_sblk, PINGPONG_2, LM_5, 0),
        LM_BLK("lm_3", LM_3, 0x47000, MIXER_MSM8998_MASK,
-               &msm8998_lm_sblk, PINGPONG_MAX, 0, 0),
+               &msm8998_lm_sblk, PINGPONG_NONE, 0, 0),
        LM_BLK("lm_4", LM_4, 0x48000, MIXER_MSM8998_MASK,
-               &msm8998_lm_sblk, PINGPONG_MAX, 0, 0),
+               &msm8998_lm_sblk, PINGPONG_NONE, 0, 0),
        LM_BLK("lm_5", LM_5, 0x49000, MIXER_MSM8998_MASK,
                &msm8998_lm_sblk, PINGPONG_3, LM_2, 0),
 };
index 0b72725..36ea1af 100644 (file)
@@ -102,9 +102,9 @@ static const struct dpu_lm_cfg sdm845_lm[] = {
        LM_BLK("lm_2", LM_2, 0x46000, MIXER_SDM845_MASK,
                &sdm845_lm_sblk, PINGPONG_2, LM_5, 0),
        LM_BLK("lm_3", LM_3, 0x0, MIXER_SDM845_MASK,
-               &sdm845_lm_sblk, PINGPONG_MAX, 0, 0),
+               &sdm845_lm_sblk, PINGPONG_NONE, 0, 0),
        LM_BLK("lm_4", LM_4, 0x0, MIXER_SDM845_MASK,
-               &sdm845_lm_sblk, PINGPONG_MAX, 0, 0),
+               &sdm845_lm_sblk, PINGPONG_NONE, 0, 0),
        LM_BLK("lm_5", LM_5, 0x49000, MIXER_SDM845_MASK,
                &sdm845_lm_sblk, PINGPONG_3, LM_2, 0),
 };
index 1cb5699..677048c 100644 (file)
@@ -529,7 +529,7 @@ struct dpu_sspp_cfg {
  * @base               register offset of this block
  * @features           bit mask identifying sub-blocks/features
  * @sblk:              LM Sub-blocks information
- * @pingpong:          ID of connected PingPong, PINGPONG_MAX if unsupported
+ * @pingpong:          ID of connected PingPong, PINGPONG_NONE if unsupported
  * @lm_pair_mask:      Bitmask of LMs that can be controlled by same CTL
  */
 struct dpu_lm_cfg {
index 1913a19..02a0f48 100644 (file)
@@ -191,7 +191,8 @@ enum dpu_dsc {
 };
 
 enum dpu_pingpong {
-       PINGPONG_0 = 1,
+       PINGPONG_NONE,
+       PINGPONG_0,
        PINGPONG_1,
        PINGPONG_2,
        PINGPONG_3,
index d5a0662..bf7b8e7 100644 (file)
@@ -117,7 +117,7 @@ int dpu_rm_init(struct dpu_rm *rm,
                struct dpu_hw_mixer *hw;
                const struct dpu_lm_cfg *lm = &cat->mixer[i];
 
-               if (lm->pingpong == PINGPONG_MAX) {
+               if (lm->pingpong == PINGPONG_NONE) {
                        DPU_DEBUG("skip mixer %d without pingpong\n", lm->id);
                        continue;
                }