]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
perf: arm_v7_pmu: Don't disable counter in (armv7|krait_|scorpion_)pmu_enable_event()
authorRob Herring (Arm) <robh@kernel.org>
Tue, 18 Feb 2025 20:40:00 +0000 (14:40 -0600)
committerWill Deacon <will@kernel.org>
Sat, 1 Mar 2025 05:08:10 +0000 (05:08 +0000)
Currently (armv7|krait_|scorpion_)pmu_enable_event() start by disabling
the event counter it has been asked to enable. This should not be
necessary as the counter (and the PMU as a whole) should not be active
when *_enable_event() is called.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Tested-by: James Clark <james.clark@linaro.org>
Link: https://lore.kernel.org/r/20250218-arm-brbe-v19-v20-5-4e9922fc2e8e@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
drivers/perf/arm_v7_pmu.c

index 7fa88e3b64e07bacbf2f9731e3318a7dc1085fb1..17831e1920bd8d306aa1ea9cebe8b3f4659dfcee 100644 (file)
@@ -857,8 +857,6 @@ static void armv7pmu_enable_event(struct perf_event *event)
                return;
        }
 
-       armv7_pmnc_disable_counter(idx);
-
        /*
         * Set event (if destined for PMNx counters)
         * We only need to set the event for the cycle counter if we
@@ -1450,8 +1448,6 @@ static void krait_pmu_enable_event(struct perf_event *event)
        struct hw_perf_event *hwc = &event->hw;
        int idx = hwc->idx;
 
-       armv7_pmnc_disable_counter(idx);
-
        /*
         * Set event (if destined for PMNx counters)
         * We set the event for the cycle counter because we
@@ -1762,8 +1758,6 @@ static void scorpion_pmu_enable_event(struct perf_event *event)
        struct hw_perf_event *hwc = &event->hw;
        int idx = hwc->idx;
 
-       armv7_pmnc_disable_counter(idx);
-
        /*
         * Set event (if destined for PMNx counters)
         * We don't set the event for the cycle counter because we