From: Yuanjie Yang <[email protected]>

Add support for Kaanapali WB, which introduce register
relocations, use the updated registeri definition to ensure
compatibility.

Co-developed-by: Yongxing Mou <[email protected]>
Signed-off-by: Yongxing Mou <[email protected]>
Reviewed-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Yuanjie Yang <[email protected]>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c
index 478a091aeccf..4da4bd6a997c 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c
@@ -148,6 +148,15 @@ static void dpu_hw_wb_setup_qos_lut(struct dpu_hw_wb *ctx,
                              cfg);
 }
 
+static void dpu_hw_wb_setup_qos_lut_v13(struct dpu_hw_wb *ctx,
+                                       struct dpu_hw_qos_cfg *cfg)
+{
+       if (!ctx || !cfg)
+               return;
+
+       dpu_hw_setup_qos_lut_v13(&ctx->hw, cfg);
+}
+
 static void dpu_hw_wb_setup_cdp(struct dpu_hw_wb *ctx,
                                const struct msm_format *fmt,
                                bool enable)
@@ -202,8 +211,12 @@ static void _setup_wb_ops(struct dpu_hw_wb_ops *ops,
        if (test_bit(DPU_WB_XY_ROI_OFFSET, &features))
                ops->setup_roi = dpu_hw_wb_roi;
 
-       if (test_bit(DPU_WB_QOS, &features))
-               ops->setup_qos_lut = dpu_hw_wb_setup_qos_lut;
+       if (test_bit(DPU_WB_QOS, &features)) {
+               if (mdss_rev->core_major_ver >= 13)
+                       ops->setup_qos_lut = dpu_hw_wb_setup_qos_lut_v13;
+               else
+                       ops->setup_qos_lut = dpu_hw_wb_setup_qos_lut;
+       }
 
        if (test_bit(DPU_WB_CDP, &features))
                ops->setup_cdp = dpu_hw_wb_setup_cdp;
-- 
2.34.1

Reply via email to