linux/drivers/perf
Shifrin Dmitry 941a8e9b7a
perf: riscv: Fix selecting counters in legacy mode
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>
2024-08-01 07:15:13 -07:00
..
amlogic perf/amlogic: Assign parents for event_source devices 2024-04-19 15:59:29 +01:00
arm_cspmu perf: add missing MODULE_DESCRIPTION() macros 2024-07-10 13:04:38 +01:00
hisilicon perf: add missing MODULE_DESCRIPTION() macros 2024-07-10 13:04:38 +01:00
alibaba_uncore_drw_pmu.c Driver core changes for 6.10-rc1 2024-05-22 12:13:40 -07:00
apple_m1_cpu_pmu.c arm: pmu: Move error message and -EOPNOTSUPP to individual PMUs 2023-12-12 09:46:22 +00:00
arm_dmc620_pmu.c perf/arm-dmc620: Fix lockdep assert in ->event_init() 2024-05-17 16:48:05 +01:00
arm_dsu_pmu.c Driver core changes for 6.10-rc1 2024-05-22 12:13:40 -07: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 perf/arm_pmu: Assign parents for event_source devices 2024-04-19 15:59:30 +01:00
arm_pmu.c arm: pmu: Move error message and -EOPNOTSUPP to individual PMUs 2023-12-12 09:46:22 +00:00
arm_pmuv3.c sysctl: treewide: constify the ctl_table argument of proc_handlers 2024-07-24 20:59:29 +02:00
arm_smmuv3_pmu.c perf/arm-smmuv3: Assign parents for event_source device 2024-04-19 15:59:31 +01:00
arm_spe_pmu.c perf/arm-spe: Assign parents for event_source device 2024-04-19 15:59:31 +01:00
arm_v6_pmu.c perf: arm_v6/7_pmu: Drop non-DT probe support 2024-07-03 14:07:14 +01:00
arm_v7_pmu.c perf: arm_v6/7_pmu: Drop non-DT probe support 2024-07-03 14:07:14 +01:00
arm_xscale_pmu.c perf/arm: Move 32-bit PMU drivers to drivers/perf/ 2024-07-03 14:07:14 +01:00
arm-cci.c Driver core changes for 6.10-rc1 2024-05-22 12:13:40 -07:00
arm-ccn.c perf: add missing MODULE_DESCRIPTION() macros 2024-07-10 13:04:38 +01:00
arm-cmn.c perf/arm-cmn: Enable support for tertiary match group 2024-07-01 14:55:08 +01:00
cxl_pmu.c perf: add missing MODULE_DESCRIPTION() macros 2024-07-10 13:04:38 +01:00
dwc_pcie_pmu.c perf/dwc_pcie: Avoid placing cpumask on the stack 2024-04-09 16:47:15 +01:00
fsl_imx8_ddr_perf.c perf: add missing MODULE_DESCRIPTION() macros 2024-07-10 13:04:38 +01:00
fsl_imx9_ddr_perf.c perf: imx_perf: add support for i.MX95 platform 2024-07-01 15:42:59 +01:00
Kconfig perf/arm: Move 32-bit PMU drivers to drivers/perf/ 2024-07-03 14:07:14 +01:00
Makefile perf/arm: Move 32-bit PMU drivers to drivers/perf/ 2024-07-03 14:07:14 +01:00
marvell_cn10k_ddr_pmu.c perf: add missing MODULE_DESCRIPTION() macros 2024-07-10 13:04:38 +01:00
marvell_cn10k_tad_pmu.c perf: marvell_cn10k_tad: Convert to platform remove callback returning void 2024-02-09 15:59:30 +00:00
qcom_l2_pmu.c perf/qcom: Assign parents for event_source devices 2024-04-19 15:59:30 +01:00
qcom_l3_pmu.c Driver core changes for 6.10-rc1 2024-05-22 12:13:40 -07:00
riscv_pmu_legacy.c perf/riscv: Assign parents for event_source devices 2024-04-19 15:59:29 +01:00
riscv_pmu_sbi.c perf: riscv: Fix selecting counters in legacy mode 2024-08-01 07:15:13 -07:00
riscv_pmu.c drivers/perf: riscv: Do not update the event data if uptodate 2024-07-03 12:56:15 -07:00
starfive_starlink_pmu.c perf: starfive: Add StarLink PMU support 2024-03-04 14:19:48 +00:00
thunderx2_pmu.c perf/thunderx2: Assign parents for event_source devices 2024-04-19 15:59:29 +01:00
xgene_pmu.c Driver core changes for 6.10-rc1 2024-05-22 12:13:40 -07:00