Commit 20f644f4 authored by Akhil P Oommen's avatar Akhil P Oommen Committed by Rob Clark
Browse files

drm/msm/a6xx: Fix the bogus protect error on X2-85



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: 01ff3bf2 ("drm/msm/a8xx: Add support for Adreno X2-85 GPU")
Signed-off-by: default avatarAkhil P Oommen <akhilpo@oss.qualcomm.com>
Reviewed-by: default avatarKonrad 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: default avatarRob Clark <robin.clark@oss.qualcomm.com>
parent ac47870f
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -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);
}