drm/msm/dpu: add CWB support to dpu_hw_wb
authorEsha Bharadwaj <quic_ebharadw@quicinc.com>
Tue, 17 Dec 2024 00:43:24 +0000 (16:43 -0800)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tue, 24 Dec 2024 20:06:11 +0000 (22:06 +0200)
Adjust the WB_MUX configuration to account for using dedicated CWB
pingpong blocks.

Signed-off-by: Esha Bharadwaj <quic_ebharadw@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/629248/
Link: https://lore.kernel.org/r/20241216-concurrent-wb-v4-13-fe220297a7f0@quicinc.com
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c

index fb9f909577624959560abddbab8d03b0b1ea11a1..4853e516c48733231de240b9c32ad51d4cf18f0d 100644 (file)
@@ -173,7 +173,9 @@ static void dpu_hw_wb_bind_pingpong_blk(
        mux_cfg = DPU_REG_READ(c, WB_MUX);
        mux_cfg &= ~0xf;
 
-       if (pp)
+       if (pp >= PINGPONG_CWB_0)
+               mux_cfg |= (pp < PINGPONG_CWB_2) ? 0xd : 0xb;
+       else if (pp)
                mux_cfg |= (pp - PINGPONG_0) & 0x7;
        else
                mux_cfg |= 0xf;