mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-09 07:23:14 +00:00
perf/arm_cspmu: Simplify counter reset
arm_cspmu_reset_counters() inherently also stops them since it is writing 0 to PMCR.E, so there should be no need to do that twice. Also tidy up the reset routine itself for consistency with the start and stop routines, and to be clear at first glance that it is simply writing a constant value. Reviewed-by: Ilkka Koskinen <ilkka@os.amperecomputing.com> Signed-off-by: Robin Murphy <robin.murphy@arm.com> Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com> Link: https://lore.kernel.org/r/3105815327989f6bb7bb068994d0eb4096b4ef64.1706718007.git.robin.murphy@arm.com Signed-off-by: Will Deacon <will@kernel.org>
This commit is contained in:
parent
7e6a3c3f85
commit
e7e8fa8e82
@ -525,11 +525,7 @@ static int arm_cspmu_alloc_attr_groups(struct arm_cspmu *cspmu)
|
||||
|
||||
static inline void arm_cspmu_reset_counters(struct arm_cspmu *cspmu)
|
||||
{
|
||||
u32 pmcr = 0;
|
||||
|
||||
pmcr |= PMCR_P;
|
||||
pmcr |= PMCR_C;
|
||||
writel(pmcr, cspmu->base0 + PMCR);
|
||||
writel(PMCR_C | PMCR_P, cspmu->base0 + PMCR);
|
||||
}
|
||||
|
||||
static inline void arm_cspmu_start_counters(struct arm_cspmu *cspmu)
|
||||
@ -1187,7 +1183,6 @@ static int arm_cspmu_register_pmu(struct arm_cspmu *cspmu)
|
||||
};
|
||||
|
||||
/* Hardware counter init */
|
||||
arm_cspmu_stop_counters(cspmu);
|
||||
arm_cspmu_reset_counters(cspmu);
|
||||
|
||||
ret = perf_pmu_register(&cspmu->pmu, cspmu->name, -1);
|
||||
|
Loading…
Reference in New Issue
Block a user