mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 21:33:00 +00:00
perf/arm-cci: Remove pointless PMU disabling
The CCI PMU driver bears some legacy remnants of the arm_pmu framework from when it was split inc6f85cb430
("bus: cci: move away from arm_pmu framework"). In particular this perf_pmu_{dis,en}able() dance around pmu->add which was fixed for arm_pmu ina9e469d1c8
("drivers/perf: arm_pmu: remove pointless PMU disabling"). For the exact same reasons (i.e. perf core already does this around the call anyway), give cci_pmu_add() the exact same change, which also prevents having to export those core functions to build it as a module. Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
parent
75dc344145
commit
28c01dc9d8
@ -1184,16 +1184,11 @@ static int cci_pmu_add(struct perf_event *event, int flags)
|
|||||||
struct cci_pmu_hw_events *hw_events = &cci_pmu->hw_events;
|
struct cci_pmu_hw_events *hw_events = &cci_pmu->hw_events;
|
||||||
struct hw_perf_event *hwc = &event->hw;
|
struct hw_perf_event *hwc = &event->hw;
|
||||||
int idx;
|
int idx;
|
||||||
int err = 0;
|
|
||||||
|
|
||||||
perf_pmu_disable(event->pmu);
|
|
||||||
|
|
||||||
/* If we don't have a space for the counter then finish early. */
|
/* If we don't have a space for the counter then finish early. */
|
||||||
idx = pmu_get_event_idx(hw_events, event);
|
idx = pmu_get_event_idx(hw_events, event);
|
||||||
if (idx < 0) {
|
if (idx < 0)
|
||||||
err = idx;
|
return idx;
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
event->hw.idx = idx;
|
event->hw.idx = idx;
|
||||||
hw_events->events[idx] = event;
|
hw_events->events[idx] = event;
|
||||||
@ -1205,9 +1200,7 @@ static int cci_pmu_add(struct perf_event *event, int flags)
|
|||||||
/* Propagate our changes to the userspace mapping. */
|
/* Propagate our changes to the userspace mapping. */
|
||||||
perf_event_update_userpage(event);
|
perf_event_update_userpage(event);
|
||||||
|
|
||||||
out:
|
return 0;
|
||||||
perf_pmu_enable(event->pmu);
|
|
||||||
return err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void cci_pmu_del(struct perf_event *event, int flags)
|
static void cci_pmu_del(struct perf_event *event, int flags)
|
||||||
|
Loading…
Reference in New Issue
Block a user