linux/drivers/perf
Xu Yang 6e743b7261 perf/imx_ddr: speed up overflow frequency of cycle
[ Upstream commit e89ecd8368 ]

For i.MX8MP, we cannot ensure that cycle counter overflow occurs at least
4 times as often as other events. Due to byte counters will count for any
event configured, it will overflow more often. And if byte counters
overflow that related counters would stop since they share the
COUNTER_CNTL. We can speed up cycle counter overflow frequency by setting
counter parameter (CP) field of cycle counter. In this way, we can avoid
stop counting byte counters when interrupt didn't come and the byte
counters can be fetched or updated from each cycle counter overflow
interrupt.

Because we initialize CP filed to shorten counter0 overflow time, the cycle
counter will start couting from a fixed/base value each time. We need to
remove the base from the result too. Therefore, we could get precise result
from cycle counter.

Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20230811015438.1999307-1-xu.yang_2@nxp.com
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2023-09-23 11:09:55 +02:00
..
hisilicon perf/hisi: Constify static attribute_group structs 2021-06-08 12:49:54 +01:00
arm-cci.c drivers/perf: arm-cci: Fix checkpatch spacing error 2021-05-25 18:59:23 +01:00
arm-ccn.c perf/arm-ccn: Use irq_set_affinity() 2021-05-24 11:01:59 +01:00
arm-cmn.c perf/arm-cmn: Fix DTC reset 2023-07-23 13:46:46 +02:00
arm_dmc620_pmu.c perf/arm_dmc620: Fix hotplug callback leak in dmc620_pmu_init() 2022-12-31 13:13:58 +01:00
arm_dsu_pmu.c perf: arm_dsu: Fix hotplug callback leak in dsu_pmu_init() 2022-12-31 13:13:58 +01:00
arm_pmu.c arm_pmu: Validate single/group leader events 2022-04-27 14:39:00 +02:00
arm_pmu_acpi.c drivers/perf: arm_pmu_acpi: Fix incorrect checking of gicc pointer 2020-03-02 12:07:35 +00:00
arm_pmu_platform.c perf/arm_pmu_platform: fix tests for platform_get_irq() failure 2022-09-20 12:39:45 +02:00
arm_smmuv3_pmu.c perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09 2023-09-23 11:09:55 +02:00
arm_spe_pmu.c drivers/perf: arm_spe: Fix consistency of SYS_PMSCR_EL1.CX 2022-08-17 14:23:14 +02:00
fsl_imx8_ddr_perf.c perf/imx_ddr: speed up overflow frequency of cycle 2023-09-23 11:09:55 +02:00
Kconfig driver/perf: Remove ARM_SMMU_V3_PMU dependency on ARM_SMMU_V3 2021-02-01 12:39:40 +00:00
Makefile driver/perf: Add PMU driver for the ARM DMC-620 memory controller 2020-11-25 14:51:21 +00:00
qcom_l2_pmu.c perf: qcom_l2_pmu: fix an incorrect NULL check on list iterator 2022-04-13 20:59:24 +02:00
qcom_l3_pmu.c drivers/perf: Simplify EVENT ATTR macro in qcom_l3_pmu.c 2021-06-11 11:18:40 +01:00
thunderx2_pmu.c drivers/perf: Remove redundant dev_err call in tx2_uncore_pmu_init_dev() 2021-05-25 18:57:19 +01:00
xgene_pmu.c drivers/perf: Simplify EVENT ATTR macro in xgene_pmu.c 2021-06-11 11:18:40 +01:00