]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/msm/a8xx: use pipe protect slot 15 for last-span-unbound feature
authorAlexander Koskovich <akoskovich@pm.me>
Thu, 28 May 2026 09:49:04 +0000 (09:49 +0000)
committerRob Clark <robin.clark@oss.qualcomm.com>
Fri, 29 May 2026 14:07:30 +0000 (07:07 -0700)
A8XX GPUs have two sets of protect registers: 64 global slots and 16
pipe specific slots. The last-span-unbound feature is only available
on pipe protect registers, and should always target pipe slot 15.

This matches the downstream driver which hardcodes pipe slot 15 for
all A8XX GPUs (GRAPHICS.LA.15.0.r1) and resolves protect errors on
A810.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
Signed-off-by: Alexander Koskovich <akoskovich@pm.me>
Patchwork: https://patchwork.freedesktop.org/patch/728810/
Message-ID: <20260528-adreno-810-v7-5-7fe7fdd97fc2@pm.me>
Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com>
drivers/gpu/drm/msm/adreno/a8xx_gpu.c

index c3492e2705ce35ec79bdcdd478c0ae8dfa3c74bb..9e44fd1ae634632e9526a3c68e64c6b1f85ab9a0 100644 (file)
@@ -265,8 +265,8 @@ static void a8xx_set_cp_protect(struct msm_gpu *gpu)
         * Last span feature is only supported on PIPE specific register.
         * So update those here
         */
-       a8xx_write_pipe(gpu, PIPE_BR, REG_A8XX_CP_PROTECT_PIPE(protect->count_max), final_cfg);
-       a8xx_write_pipe(gpu, PIPE_BV, REG_A8XX_CP_PROTECT_PIPE(protect->count_max), final_cfg);
+       a8xx_write_pipe(gpu, PIPE_BR, REG_A8XX_CP_PROTECT_PIPE(15), final_cfg);
+       a8xx_write_pipe(gpu, PIPE_BV, REG_A8XX_CP_PROTECT_PIPE(15), final_cfg);
 
        a8xx_aperture_clear(gpu);
 }