linux/drivers/perf
Bharat Bhushan 35a43326a9 perf/marvell: cn10k DDR perfmon event overflow handling
CN10k DSS h/w perfmon does not support event overflow interrupt, so
periodic timer is being used. Each event counter is 48bit, which in worst
case scenario can increment at maximum 5.6 GT/s. At this rate it may take
many hours to overflow these counters. Therefore polling period for
overflow is set to 100 sec, which can be changed using sysfs parameter.

Two fixed event counters starts counting from zero on overflow, so
overflow condition is when new count less than previous count. While
eight programmable event counters freezes at maximum value. Also individual
counter cannot be restarted, so need to restart all eight counters.

Signed-off-by: Bharat Bhushan <bbhushan2@marvell.com>
Reviewed-by: Bhaskara Budiredla <bbudiredla@marvell.com>
Link: https://lore.kernel.org/r/20220211045346.17894-4-bbhushan2@marvell.com
Signed-off-by: Will Deacon <will@kernel.org>
2022-03-08 11:17:37 +00:00
..
hisilicon perf: replace bitmap_weight with bitmap_empty where appropriate 2022-02-15 14:38:57 +00:00
arm_dmc620_pmu.c perf/arm-dmc620: Use irq_set_affinity() 2021-05-24 11:01:59 +01:00
arm_dsu_pmu.c perf/arm-dsu: Use irq_set_affinity() 2021-05-24 11:02:00 +01:00
arm_pmu_acpi.c drivers/perf: arm_pmu_acpi: Fix incorrect checking of gicc pointer 2020-03-02 12:07:35 +00:00
arm_pmu_platform.c perf/arm_pmu_platform: Clean up with dev_printk 2021-03-30 11:41:50 +01:00
arm_pmu.c perf: replace bitmap_weight with bitmap_empty where appropriate 2022-02-15 14:38:57 +00:00
arm_smmuv3_pmu.c Rework of the MSI interrupt infrastructure: 2022-01-13 09:05:29 -08:00
arm_spe_pmu.c perf: arm_spe: use DEVICE_ATTR_RO macro 2021-06-01 14:25:09 +01:00
arm-cci.c perf: replace bitmap_weight with bitmap_empty where appropriate 2022-02-15 14:38:57 +00:00
arm-ccn.c perf/arm-ccn: Use platform_get_irq() to get the interrupt 2022-02-08 14:25:35 +00:00
arm-cmn.c perf/arm-cmn: Update watchpoint format 2022-03-08 11:02:26 +00:00
fsl_imx8_ddr_perf.c drivers/perf: fix the missed ida_simple_remove() in ddr_perf_probe() 2021-06-17 19:45:24 +01:00
Kconfig perf: MARVELL_CN10K_TAD_PMU should depend on ARCH_THUNDER 2022-02-08 14:54:18 +00:00
Makefile perf/marvell: CN10k DDR performance monitor support 2022-03-08 11:17:37 +00:00
marvell_cn10k_ddr_pmu.c perf/marvell: cn10k DDR perfmon event overflow handling 2022-03-08 11:17:37 +00:00
marvell_cn10k_tad_pmu.c perf/marvell_cn10k: Fix unused variable warning when W=1 and CONFIG_OF=n 2022-02-08 15:12:28 +00:00
qcom_l2_pmu.c perf: qcom_l2_pmu: ACPI: Use ACPI_COMPANION() directly 2021-10-27 20:38:22 +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 perf: Replace acpi_bus_get_device() 2022-02-08 15:14:53 +00:00
xgene_pmu.c perf: replace bitmap_weight with bitmap_empty where appropriate 2022-02-15 14:38:57 +00:00