WSL2-Linux-Kernel/drivers/perf
Robin Murphy 2c06e0e010 perf/arm-cmn: Fix DTC reset
[ Upstream commit 71746c995c ]

It turns out that my naive DTC reset logic fails to work as intended,
since, after checking with the hardware designers, the PMU actually
needs to be fully enabled in order to correctly clear any pending
overflows. Therefore, invert the sequence to start with turning on both
enables so that we can reliably get the DTCs into a known state, then
moving to our normal counters-stopped state from there. Since all the
DTM counters have already been unpaired during the initial discovery
pass, we just need to additionally reset the cycle counters to ensure
that no other unexpected overflows occur during this period.

Fixes: 0ba64770a2 ("perf: Add Arm CMN-600 PMU driver")
Reported-by: Geoff Blake <blakgeof@amazon.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/0ea4559261ea394f827c9aee5168c77a60aaee03.1684946389.git.robin.murphy@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-07-23 13:46:46 +02:00
..
hisilicon perf/hisi: Constify static attribute_group structs 2021-06-08 12:49:54 +01:00
Kconfig
Makefile
arm-cci.c drivers/perf: arm-cci: Fix checkpatch spacing error 2021-05-25 18:59:23 +01:00
arm-ccn.c
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
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: Fix hotplug callback leak in arm_smmu_pmu_init() 2022-12-31 13:13:58 +01: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: Fix undefined behavior due to shift overflowing the constant 2022-04-20 09:34:18 +02: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