On 5/7/2026 6:33 PM, Dmitry Baryshkov wrote:
> 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]>

Reviewed-by: Akhil P Oommen <[email protected]>

-Akhil

> ---
>  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);
>  
> 

Reply via email to