]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/msm/dpu: make dpu_hw_ctl_clear_all_blendstages clear necessary LMs
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Sun, 4 Jul 2021 23:05:19 +0000 (02:05 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Sep 2021 09:47:53 +0000 (11:47 +0200)
[ Upstream commit a41cdb693595ae1904dd793fc15d6954f4295e27 ]

dpu_hw_ctl_clear_all_blendstages() clears settings for the few first LMs
instead of mixers actually used for the CTL. Change it to clear
necessary data, using provided mixer ids.

Fixes: 25fdd5933e4c ("drm/msm: Add SDM845 DPU support")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20210704230519.4081467-1-dmitry.baryshkov@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c

index 79bafea66354288810bdb9fd9cd9e12e5e2d0bb4..a40ea5c6857284b6204542256e75184412753b12 100644 (file)
@@ -296,10 +296,12 @@ static void dpu_hw_ctl_clear_all_blendstages(struct dpu_hw_ctl *ctx)
        int i;
 
        for (i = 0; i < ctx->mixer_count; i++) {
-               DPU_REG_WRITE(c, CTL_LAYER(LM_0 + i), 0);
-               DPU_REG_WRITE(c, CTL_LAYER_EXT(LM_0 + i), 0);
-               DPU_REG_WRITE(c, CTL_LAYER_EXT2(LM_0 + i), 0);
-               DPU_REG_WRITE(c, CTL_LAYER_EXT3(LM_0 + i), 0);
+               enum dpu_lm mixer_id = ctx->mixer_hw_caps[i].id;
+
+               DPU_REG_WRITE(c, CTL_LAYER(mixer_id), 0);
+               DPU_REG_WRITE(c, CTL_LAYER_EXT(mixer_id), 0);
+               DPU_REG_WRITE(c, CTL_LAYER_EXT2(mixer_id), 0);
+               DPU_REG_WRITE(c, CTL_LAYER_EXT3(mixer_id), 0);
        }
 }