diff options
author | Suzuki K Poulose <suzuki.poulose@arm.com> | 2016-02-23 10:49:48 +0000 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2016-02-29 23:23:16 +0000 |
commit | c8bc2b11405652792a9348c8de7d46637b459b4e (patch) | |
tree | ef34fb751621ad3e463f69aaf9a1fb648d79a709 /drivers | |
parent | c66eea5f9f55f2ddf742670d35e4c9e30dc42a0a (diff) | |
download | lwn-c8bc2b11405652792a9348c8de7d46637b459b4e.tar.gz lwn-c8bc2b11405652792a9348c8de7d46637b459b4e.zip |
arm-cci: write_counter: Remove redundant check
pmu_write_counter() is now only called from pmu_write_counters(),
which does so for each set index in the given mask, bounded by
cci_pmu->num_cntrs. So, there is no need for an extra check to
make sure the given counter is valid inside pmu_write_counter.
This patch gets rid of that.
Cc: Punit Agrawal <punit.agrawal@arm.com>
Acked-by: Olof Johansson <olof@lixom.net>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/bus/arm-cci.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/bus/arm-cci.c b/drivers/bus/arm-cci.c index 629c9e069c3b..420c30c15419 100644 --- a/drivers/bus/arm-cci.c +++ b/drivers/bus/arm-cci.c @@ -814,16 +814,9 @@ static u32 pmu_read_counter(struct perf_event *event) return value; } -static void pmu_write_counter(struct perf_event *event, u32 value) +static void pmu_write_counter(struct cci_pmu *cci_pmu, u32 value, int idx) { - struct cci_pmu *cci_pmu = to_cci_pmu(event->pmu); - struct hw_perf_event *hw_counter = &event->hw; - int idx = hw_counter->idx; - - if (unlikely(!pmu_is_valid_counter(cci_pmu, idx))) - dev_err(&cci_pmu->plat_device->dev, "Invalid CCI PMU counter %d\n", idx); - else - pmu_write_register(cci_pmu, value, idx, CCI_PMU_CNTR); + pmu_write_register(cci_pmu, value, idx, CCI_PMU_CNTR); } static void pmu_write_counters(struct cci_pmu *cci_pmu, unsigned long *mask) @@ -836,7 +829,7 @@ static void pmu_write_counters(struct cci_pmu *cci_pmu, unsigned long *mask) if (WARN_ON(!event)) continue; - pmu_write_counter(event, local64_read(&event->hw.prev_count)); + pmu_write_counter(cci_pmu, local64_read(&event->hw.prev_count), i); } } |