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
