From: Dmitry Baryshkov Date: Wed, 20 May 2026 14:51:12 +0000 (+0300) Subject: drm/msm/adreno: use qcom_ubwc_version_tag() helper X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=95776c9f016b6ead57909694fedee3e6919f1bde;p=thirdparty%2Fkernel%2Flinux.git drm/msm/adreno: use qcom_ubwc_version_tag() helper Use new helper defined to program UBWC version to the hardware. Reviewed-by: Konrad Dybcio Reviewed-by: Akhil P Oommen Signed-off-by: Dmitry Baryshkov Patchwork: https://patchwork.freedesktop.org/patch/726485/ Link: https://lore.kernel.org/r/20260520-ubwc-rework-v5-5-72f2749bc807@oss.qualcomm.com --- diff --git a/drivers/gpu/drm/msm/adreno/a8xx_gpu.c b/drivers/gpu/drm/msm/adreno/a8xx_gpu.c index ccfccc45133f..1923f904d37d 100644 --- a/drivers/gpu/drm/msm/adreno/a8xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a8xx_gpu.c @@ -282,35 +282,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