summaryrefslogtreecommitdiffstats
path: root/drivers/bus
diff options
context:
space:
mode:
authorSuzuki K Poulose <suzuki.poulose@arm.com>2016-02-23 11:49:48 +0100
committerWill Deacon <will.deacon@arm.com>2016-03-01 00:23:16 +0100
commitc8bc2b11405652792a9348c8de7d46637b459b4e (patch)
treeef34fb751621ad3e463f69aaf9a1fb648d79a709 /drivers/bus
parentarm-cci: Delay PMU counter writes to pmu::pmu_enable (diff)
downloadlinux-c8bc2b11405652792a9348c8de7d46637b459b4e.tar.xz
linux-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/bus')
-rw-r--r--drivers/bus/arm-cci.c13
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);
}
}