linux-stable/drivers/perf
Yicong Yang cb37e7fa23 perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09
[ Upstream commit 0242737dc4 ]

Some HiSilicon SMMU PMCG suffers the erratum 162001900 that the PMU
disable control sometimes fail to disable the counters. This will lead
to error or inaccurate data since before we enable the counters the
counter's still counting for the event used in last perf session.

This patch tries to fix this by hardening the global disable process.
Before disable the PMU, writing an invalid event type (0xffff) to
focibly stop the counters. Correspondingly restore each events on
pmu::pmu_enable().

Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Link: https://lore.kernel.org/r/20230814124012.58013-1-yangyicong@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-09-23 11:00:03 +02:00
..
hisilicon
Kconfig
Makefile
arm-cci.c
arm-ccn.c
arm_dsu_pmu.c perf: arm_dsu: Fix hotplug callback leak in dsu_pmu_init() 2023-01-18 11:40:50 +01:00
arm_pmu.c arm_pmu: Validate single/group leader events 2022-04-27 13:50:50 +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:27:59 +02:00
arm_smmuv3_pmu.c perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09 2023-09-23 11:00:03 +02:00
arm_spe_pmu.c
fsl_imx8_ddr_perf.c perf/imx_ddr: don't enable counter0 if none of 4 counters are used 2023-09-23 10:59:41 +02:00
qcom_l2_pmu.c perf: qcom_l2_pmu: fix an incorrect NULL check on list iterator 2022-04-15 14:18:39 +02:00
qcom_l3_pmu.c
thunderx2_pmu.c
xgene_pmu.c