Commit 76c40f14 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov
Browse files

drm/msm/dpu: use PINGPONG_NONE for LMs with no PP attached



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: default avatarMarijn Suijten <marijn.suijten@somainline.org>
Signed-off-by: default avatarDmitry 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: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
parent f89fdc86
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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),
};
+2 −2
Original line number Diff line number Diff line
@@ -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),
};
+1 −1
Original line number Diff line number Diff line
@@ -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 {
+2 −1
Original line number Diff line number Diff line
@@ -191,7 +191,8 @@ enum dpu_dsc {
};

enum dpu_pingpong {
	PINGPONG_0 = 1,
	PINGPONG_NONE,
	PINGPONG_0,
	PINGPONG_1,
	PINGPONG_2,
	PINGPONG_3,
+1 −1
Original line number Diff line number Diff line
@@ -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;
		}