In order to simplify handling of UBWC minor revisions (like 3.1 or 4.3)
use version ranges instead of a case switch.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
 drivers/gpu/drm/msm/adreno/a8xx_gpu.c | 32 +++++++++++++++-----------------
 1 file changed, 15 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/msm/adreno/a8xx_gpu.c 
b/drivers/gpu/drm/msm/adreno/a8xx_gpu.c
index 5c73a9ebb22b..29d559fe4683 100644
--- a/drivers/gpu/drm/msm/adreno/a8xx_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/a8xx_gpu.c
@@ -286,26 +286,24 @@ static void a8xx_set_ubwc_config(struct msm_gpu *gpu)
        u32 hbb, hbb_hi, hbb_lo, mode;
        u8 uavflagprd_inv = 2;
 
-       switch (ubwc_version) {
-       case UBWC_6_0:
+       if (ubwc_version > UBWC_6_0)
+               dev_err(&gpu->pdev->dev, "Unknown UBWC version: 0x%x\n", 
ubwc_version);
+
+       if (ubwc_version == UBWC_6_0)
                yuvnotcomptofc = true;
-               rgb565_predicator = true;
-               break;
-       case UBWC_5_0:
-               rgb565_predicator = true;
-               break;
-       case UBWC_4_0:
-               rgb565_predicator = true;
-               fp16compoptdis = true;
+
+       if (ubwc_version < UBWC_5_0 &&
+           ubwc_version >= UBWC_4_0)
                rgba8888_lossless = true;
-               break;
-       case UBWC_3_0:
+
+       if (ubwc_version < UBWC_4_3)
                fp16compoptdis = true;
-               break;
-       default:
-               dev_err(&gpu->pdev->dev, "Unknown UBWC version: 0x%x\n", 
ubwc_version);
-               break;
-       }
+
+       if (cfg->ubwc_enc_version >= UBWC_4_0)
+               rgb565_predicator = true;
+
+       if (ubwc_version < UBWC_3_0)
+               dev_err(&gpu->pdev->dev, "Unsupported UBWC version: 0x%x\n", 
ubwc_version);
 
        mode = qcom_ubwc_version_tag(cfg);
 

-- 
2.47.3

Reply via email to