OpenCloudOS-Kernel/drivers/perf
Junhao He 0662deae8b drivers/perf: hisi: Enable HiSilicon Erratum 162700402 quirk for HIP09
[ Upstream commit e10b6976f6b9afdf3564f88c851e42d139bb19c0 ]

HiSilicon UC PMU v2 suffers the erratum 162700402 that the PMU counter
cannot be set due to the lack of clock under power saving mode. This will
lead to error or inaccurate counts. The clock can be enabled by the PMU
global enabling control.

This patch tries to fix this by set the UC PMU enable before set event
period to turn on the clock, and then restore the UC PMU configuration.
The counter register can hold its value without a clock.

Signed-off-by: Junhao He <hejunhao3@huawei.com>
Reviewed-by: Yicong Yang <yangyicong@hisilicon.com>
Link: https://lore.kernel.org/r/20240227125231.53127-1-hejunhao3@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 13:07:36 +02:00
..
amlogic drivers/perf: Explicitly include correct DT includes 2023-07-27 13:02:23 +01:00
arm_cspmu perf: arm_cspmu: Reject events meant for other PMUs 2023-11-28 17:19:54 +00:00
hisilicon drivers/perf: hisi: Enable HiSilicon Erratum 162700402 quirk for HIP09 2024-04-13 13:07:36 +02:00
Kconfig perf/smmuv3: Remove build dependency on ACPI 2023-07-27 13:00:49 +01:00
Makefile cxl for v6.5 2023-07-01 08:58:41 -07:00
alibaba_uncore_drw_pmu.c driver/perf: Add identifier sysfs file for Yitian 710 DDR 2023-07-27 12:57:04 +01:00
apple_m1_cpu_pmu.c drivers/perf: apple_m1: Force 63bit counters for M2 CPUs 2023-06-05 15:39:59 +01:00
arm-cci.c drivers/perf: Explicitly include correct DT includes 2023-07-27 13:02:23 +01:00
arm-ccn.c drivers/perf:Directly use ida_alloc()/free() 2022-06-23 15:44:45 +01:00
arm-cmn.c perf/arm-cmn: Workaround AmpereOneX errata AC04_MESH_1 (incorrect child count) 2024-03-26 18:19:10 -04:00
arm_dmc620_pmu.c perf/arm-dmc620: Fix dmc620_pmu_irqs_lock/cpu_hotplug_lock circular lock dependency 2023-08-16 14:16:03 +01:00
arm_dsu_pmu.c drivers/perf: Explicitly include correct DT includes 2023-07-27 13:02:23 +01:00
arm_pmu.c arm_pmu: Remove unused PERF_PMU_CAP_HETEROGENEOUS_CPUS capability 2023-07-26 12:28:47 +02:00
arm_pmu_acpi.c arm_pmu: acpi: Add a representative platform device for TRBE 2023-08-18 18:07:10 +01:00
arm_pmu_platform.c drivers/perf: Explicitly include correct DT includes 2023-07-27 13:02:23 +01:00
arm_pmuv3.c drivers/perf: pmuv3: don't expose SW_INCR event in sysfs 2024-02-05 20:14:14 +00:00
arm_smmuv3_pmu.c perf/smmuv3: Add MODULE_ALIAS for module auto loading 2023-08-15 12:53:04 +01:00
arm_spe_pmu.c drivers/perf: Explicitly include correct DT includes 2023-07-27 13:02:23 +01:00
cxl_pmu.c perf: CXL: fix CPMU filter value mask length 2024-03-26 18:19:12 -04:00
fsl_imx8_ddr_perf.c perf/imx_ddr: don't enable counter0 if none of 4 counters are used 2023-08-16 14:34:51 +01:00
fsl_imx9_ddr_perf.c drivers/perf: Explicitly include correct DT includes 2023-07-27 13:02:23 +01:00
marvell_cn10k_ddr_pmu.c drivers/perf: Explicitly include correct DT includes 2023-07-27 13:02:23 +01:00
marvell_cn10k_tad_pmu.c drivers/perf: Explicitly include correct DT includes 2023-07-27 13:02:23 +01:00
qcom_l2_pmu.c perf: qcom_l2_pmu: Make l2_cache_pmu_probe_cluster() more robust 2023-06-05 15:01:27 +01:00
qcom_l3_pmu.c perf: qcom: Use devm_platform_get_and_ioremap_resource() 2023-03-27 15:03:01 +01:00
riscv_pmu.c drivers/perf: riscv: Disable PERF_SAMPLE_BRANCH_* while not supported 2024-04-10 16:35:58 +02:00
riscv_pmu_legacy.c drivers: perf: ctr_get_width function for legacy is not defined 2024-03-06 14:48:38 +00:00
riscv_pmu_sbi.c perf: RISCV: Fix panic on pmu overflow handler 2024-03-26 18:19:14 -04:00
thunderx2_pmu.c perf: Replace acpi_bus_get_device() 2022-02-08 15:14:53 +00:00
xgene_pmu.c perf: xgene_pmu: Convert to devm_platform_ioremap_resource() 2023-07-27 13:00:10 +01:00