OpenCloudOS-Kernel/drivers/perf
Shifrin Dmitry fa12277fa2 perf: riscv: Fix selecting counters in legacy mode
[ Upstream commit 941a8e9b7a86763ac52d5bf6ccc9986d37fde628 ]

It is required to check event type before checking event config.
Events with the different types can have the same config.
This check is missed for legacy mode code

For such perf usage:
    sysctl -w kernel.perf_user_access=2
    perf stat -e cycles,L1-dcache-loads --
driver will try to force both events to CYCLE counter.

This commit implements event type check before forcing
events on the special counters.

Signed-off-by: Shifrin Dmitry <dmitry.shifrin@syntacore.com>
Reviewed-by: Atish Patra <atishp@rivosinc.com>
Fixes: cc4c07c89a ("drivers: perf: Implement perf event mmap support in the SBI backend")
Link: https://lore.kernel.org/r/20240729125858.630653-1-dmitry.shifrin@syntacore.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-11 12:47:23 +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: hns3: Actually use devm_add_action_or_reset() 2024-06-12 11:11:47 +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 lockdep assert in ->event_init() 2024-06-12 11:12:46 +02: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 perf: imx_perf: fix counter start and config sequence 2024-08-11 12:47:17 +02: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 selecting counters in legacy mode 2024-08-11 12:47:23 +02: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