]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/msm/a6xx: Fix the bogus protect error on X2-85
authorAkhil P Oommen <akhilpo@oss.qualcomm.com>
Wed, 25 Feb 2026 07:41:57 +0000 (13:11 +0530)
committerRob Clark <robin.clark@oss.qualcomm.com>
Tue, 3 Mar 2026 18:36:35 +0000 (10:36 -0800)
Update the X2-85 gpu's register protect count configuration with the
correct count_max value to avoid blocking the entire MMIO region from the
UMD.

Protect configurations are a bit complicated on A8xx. There are 2 set of
protect registers with different counts: Global and Pipe-specific. The
last-span-unbound feature is available only on the Pipe-specific protect
registers. Due to this, we cannot use the BUILD_BUG sanity check for A8x
protect configurations, so remove the A840 entry from there.

Fixes: 01ff3bf27215 ("drm/msm/a8xx: Add support for Adreno X2-85 GPU")
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Patchwork: https://patchwork.freedesktop.org/patch/706944/
Message-ID: <20260225-glymur-protect-fix-v1-1-0deddedf9277@oss.qualcomm.com>
Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com>
drivers/gpu/drm/msm/adreno/a6xx_catalog.c

index 550a53a7865eb0684b360dd9263ecd9009072730..38561f26837e334c4ed2c0669f4231b1b738b870 100644 (file)
@@ -1759,7 +1759,7 @@ static const u32 x285_protect_regs[] = {
        A6XX_PROTECT_NORDWR(0x27c06, 0x0000),
 };
 
-DECLARE_ADRENO_PROTECT(x285_protect, 64);
+DECLARE_ADRENO_PROTECT(x285_protect, 15);
 
 static const struct adreno_reglist_pipe a840_nonctxt_regs[] = {
        { REG_A8XX_CP_SMMU_STREAM_ID_LPAC, 0x00000101, BIT(PIPE_NONE) },
@@ -1966,5 +1966,4 @@ static inline __always_unused void __build_asserts(void)
        BUILD_BUG_ON(a660_protect.count > a660_protect.count_max);
        BUILD_BUG_ON(a690_protect.count > a690_protect.count_max);
        BUILD_BUG_ON(a730_protect.count > a730_protect.count_max);
-       BUILD_BUG_ON(a840_protect.count > a840_protect.count_max);
 }