misc: mods: kernel 6.0 compilation fix

Bug 3767126

Change-Id: I16c743bb5943eb78090072c32b6230b078f601d8
Signed-off-by: Chris Dragan <kdragan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2775928
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: Keyur Patel <keyurap@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Chris Dragan
2022-09-13 03:14:33 -07:00
committed by Laxman Dewangan
parent 39a71c5c65
commit 9985faf0fc
2 changed files with 14 additions and 11 deletions

View File

@@ -100,10 +100,6 @@
# define MODS_PCIE_FLR_HAS_ERR
#endif
#if defined(CONFIG_ARM64) && KERNEL_VERSION(5, 10, 0) <= MODS_KERNEL_VERSION
# define MODS_HAS_ARM64_READ_FTR_REG 1
#endif
#if KERNEL_VERSION(5, 17, 0) <= MODS_KERNEL_VERSION
# define MODS_HAS_ACPI_FETCH 1
#endif

View File

@@ -2246,18 +2246,25 @@ static void clear_contiguous_cache(struct mods_client *client,
{
u64 end = virt_start + size;
u64 cur;
u32 d_line_shift = 4; /* Fallback for kernel 5.9 or older */
u64 d_size;
static u32 d_line_shift;
#ifdef MODS_HAS_ARM64_READ_FTR_REG
{
if (!d_line_shift) {
#if KERNEL_VERSION(5, 10, 0) <= MODS_KERNEL_VERSION
const u64 ctr_el0 = read_sanitised_ftr_reg(SYS_CTR_EL0);
d_line_shift = cpuid_feature_extract_unsigned_field(ctr_el0,
CTR_DMINLINE_SHIFT);
}
#if KERNEL_VERSION(6, 0, 0) <= MODS_KERNEL_VERSION
const int field = CTR_EL0_DminLine_SHIFT;
#else
const int field = CTR_DMINLINE_SHIFT;
#endif
d_line_shift =
cpuid_feature_extract_unsigned_field(ctr_el0, field);
#else
d_line_shift = 4; /* Fallback for kernel 5.9 or older */
#endif
}
d_size = (u64)4 << d_line_shift;
cur = virt_start & ~(d_size - 1);
do {