perf: pmuv3: Change GENMASK to GENMASK_ULL
authorZaid Al-Bassam <zalbassam@google.com>
Fri, 17 Mar 2023 19:50:24 +0000 (15:50 -0400)
committerWill Deacon <will@kernel.org>
Mon, 27 Mar 2023 13:01:18 +0000 (14:01 +0100)
GENMASK macro uses "unsigned long" (32-bit wide on arm and 64-bit
on arm64), This causes build issues when enabling PMUv3 on arm as
it tries to access bits > 31. This patch switches the GENMASK to
GENMASK_ULL, which uses "unsigned long long" (64-bit on both arm
and arm64).

Signed-off-by: Zaid Al-Bassam <zalbassam@google.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Tested-by: Florian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/20230317195027.3746949-6-zalbassam@google.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/perf/arm_pmuv3.c

index 2cab600..fc8ed3c 100644 (file)
@@ -489,7 +489,7 @@ static bool armv8pmu_event_needs_bias(struct perf_event *event)
 static u64 armv8pmu_bias_long_counter(struct perf_event *event, u64 value)
 {
        if (armv8pmu_event_needs_bias(event))
-               value |= GENMASK(63, 32);
+               value |= GENMASK_ULL(63, 32);
 
        return value;
 }
@@ -497,7 +497,7 @@ static u64 armv8pmu_bias_long_counter(struct perf_event *event, u64 value)
 static u64 armv8pmu_unbias_long_counter(struct perf_event *event, u64 value)
 {
        if (armv8pmu_event_needs_bias(event))
-               value &= ~GENMASK(63, 32);
+               value &= ~GENMASK_ULL(63, 32);
 
        return value;
 }