diff options
author | Suzuki K Poulose <suzuki.poulose@arm.com> | 2016-02-23 05:49:48 -0500 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2016-02-29 18:23:16 -0500 |
commit | c8bc2b11405652792a9348c8de7d46637b459b4e (patch) | |
tree | ef34fb751621ad3e463f69aaf9a1fb648d79a709 | |
parent | c66eea5f9f55f2ddf742670d35e4c9e30dc42a0a (diff) |
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>
-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) | |||
814 | return value; | 814 | return value; |
815 | } | 815 | } |
816 | 816 | ||
817 | static void pmu_write_counter(struct perf_event *event, u32 value) | 817 | static void pmu_write_counter(struct cci_pmu *cci_pmu, u32 value, int idx) |
818 | { | 818 | { |
819 | struct cci_pmu *cci_pmu = to_cci_pmu(event->pmu); | 819 | pmu_write_register(cci_pmu, value, idx, CCI_PMU_CNTR); |
820 | struct hw_perf_event *hw_counter = &event->hw; | ||
821 | int idx = hw_counter->idx; | ||
822 | |||
823 | if (unlikely(!pmu_is_valid_counter(cci_pmu, idx))) | ||
824 | dev_err(&cci_pmu->plat_device->dev, "Invalid CCI PMU counter %d\n", idx); | ||
825 | else | ||
826 | pmu_write_register(cci_pmu, value, idx, CCI_PMU_CNTR); | ||
827 | } | 820 | } |
828 | 821 | ||
829 | static void pmu_write_counters(struct cci_pmu *cci_pmu, unsigned long *mask) | 822 | 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) | |||
836 | 829 | ||
837 | if (WARN_ON(!event)) | 830 | if (WARN_ON(!event)) |
838 | continue; | 831 | continue; |
839 | pmu_write_counter(event, local64_read(&event->hw.prev_count)); | 832 | pmu_write_counter(cci_pmu, local64_read(&event->hw.prev_count), i); |
840 | } | 833 | } |
841 | } | 834 | } |
842 | 835 | ||