drm/msm/a6xx: specify UBWC config for sc7180
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tue, 20 Feb 2024 17:12:10 +0000 (19:12 +0200)
committerRob Clark <robdclark@chromium.org>
Mon, 26 Feb 2024 15:29:54 +0000 (07:29 -0800)
Historically the Adreno driver has not been updating memory
configuration registers on a618 (SC7180 platform) implying that the
default configuration is fine. After the rework performed in the commit
8814455a0e54 ("drm/msm: Refactor UBWC config setting") the function
a6xx_calc_ubwc_config() still contained this shortcut and did not
calculate UBWC configuration. However the function which now actually
updates hardware registers, a6xx_set_ubwc_config(), doesn't contain such
check.

Rather than adding the check to a6xx_set_ubwc_config(), fill in the
UBWC config for a618 (based on readings from SC7180).

Reported-by: Leonard Lausen <leonard@lausen.nl>
Link: https://gitlab.freedesktop.org/drm/msm/-/issues/49
Fixes: 8814455a0e54 ("drm/msm: Refactor UBWC config setting")
Cc: Connor Abbott <cwabbott0@gmail.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Patchwork: https://patchwork.freedesktop.org/patch/579113/
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/adreno/a6xx_gpu.c

index c9c55e2ea584927ce7b3f8ffc50e7ed807f6671a..dc80e5940f51edb0f7c37d155d8409c45f8f1a33 100644 (file)
@@ -1292,9 +1292,8 @@ static void a6xx_calc_ubwc_config(struct adreno_gpu *gpu)
                gpu->ubwc_config.ubwc_mode = 1;
        }
 
-       /* a618 is using the hw default values */
        if (adreno_is_a618(gpu))
-               return;
+               gpu->ubwc_config.highest_bank_bit = 14;
 
        if (adreno_is_a619_holi(gpu))
                gpu->ubwc_config.highest_bank_bit = 13;