Use new helper defined to program UBWC version to the hardware.

Reviewed-by: Konrad Dybcio <[email protected]>
Signed-off-by: Dmitry Baryshkov <[email protected]>
---
 drivers/gpu/drm/msm/adreno/a8xx_gpu.c |  8 +++-----
 drivers/gpu/drm/msm/msm_mdss.c        | 16 +---------------
 2 files changed, 4 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/msm/adreno/a8xx_gpu.c 
b/drivers/gpu/drm/msm/adreno/a8xx_gpu.c
index b1887e0cf698..6dc1d81fcaeb 100644
--- a/drivers/gpu/drm/msm/adreno/a8xx_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/a8xx_gpu.c
@@ -272,35 +272,33 @@ static void a8xx_set_ubwc_config(struct msm_gpu *gpu)
        bool rgb565_predicator = false, amsbc = false;
        bool ubwc_mode = qcom_ubwc_get_ubwc_mode(cfg);
        u32 ubwc_version = cfg->ubwc_enc_version;
-       u32 hbb, hbb_hi, hbb_lo, mode = 1;
+       u32 hbb, hbb_hi, hbb_lo, mode;
        u8 uavflagprd_inv = 2;
 
        switch (ubwc_version) {
        case UBWC_6_0:
                yuvnotcomptofc = true;
-               mode = 5;
                break;
        case UBWC_5_0:
                amsbc = true;
                rgb565_predicator = true;
-               mode = 4;
                break;
        case UBWC_4_0:
                amsbc = true;
                rgb565_predicator = true;
                fp16compoptdis = true;
                rgba8888_lossless = true;
-               mode = 2;
                break;
        case UBWC_3_0:
                amsbc = true;
-               mode = 1;
                break;
        default:
                dev_err(&gpu->pdev->dev, "Unknown UBWC version: 0x%x\n", 
ubwc_version);
                break;
        }
 
+       mode = qcom_ubwc_version_tag(cfg);
+
        /*
         * We subtract 13 from the highest bank bit (13 is the minimum value
         * allowed by hw) and write the lowest two bits of the remaining value
diff --git a/drivers/gpu/drm/msm/msm_mdss.c b/drivers/gpu/drm/msm/msm_mdss.c
index 9f81f43283b9..798a23fbc906 100644
--- a/drivers/gpu/drm/msm/msm_mdss.c
+++ b/drivers/gpu/drm/msm/msm_mdss.c
@@ -204,7 +204,7 @@ static void msm_mdss_setup_ubwc_v6(struct msm_mdss 
*msm_mdss)
        const struct qcom_ubwc_cfg_data *data = msm_mdss->mdss_data;
        u32 value = MDSS_UBWC_STATIC_UBWC_SWIZZLE(data->ubwc_swizzle) |
                    MDSS_UBWC_STATIC_HIGHEST_BANK_BIT(data->highest_bank_bit - 
13);
-       u32 ver, prediction_mode;
+       u32 prediction_mode;
 
        if (data->ubwc_bank_spread)
                value |= MDSS_UBWC_STATIC_UBWC_BANK_SPREAD;
@@ -222,20 +222,6 @@ static void msm_mdss_setup_ubwc_v6(struct msm_mdss 
*msm_mdss)
        else
                prediction_mode = 1;
 
-       if (data->ubwc_enc_version >= UBWC_6_0)
-               ver = 5;
-       else if (data->ubwc_enc_version >= UBWC_5_0)
-               ver = 4;
-       else if (data->ubwc_enc_version >= UBWC_4_3)
-               ver = 3;
-       else if (data->ubwc_enc_version >= UBWC_4_0)
-               ver = 2;
-       else if (data->ubwc_enc_version >= UBWC_3_0)
-               ver = 1;
-       else /* UBWC 1.0 and 2.0 */
-               ver = 0;
-
-       writel_relaxed(ver, msm_mdss->mmio + REG_MDSS_UBWC_CTRL_2);
        writel_relaxed(prediction_mode, msm_mdss->mmio + 
REG_MDSS_UBWC_PREDICTION_MODE);
 }
 

-- 
2.47.3

Reply via email to