driver/perf: Add PMU driver for the ARM DMC-620 memory controller
authorTuan Phan <tuanphan@os.amperecomputing.com>
Wed, 4 Nov 2020 19:30:43 +0000 (11:30 -0800)
committerWill Deacon <will@kernel.org>
Wed, 25 Nov 2020 14:51:21 +0000 (14:51 +0000)
commit53c218da220c3619b5befec4674ffa35d590092a
tree926aef730a5fcc1ca0a52bb9b4b7d187932c4c97
parentf8394f232b1eab649ce2df5c5f15b0e528c92091
driver/perf: Add PMU driver for the ARM DMC-620 memory controller

DMC-620 PMU supports total 10 counters which each is
independently programmable to different events and can
be started and stopped individually.

Currently, it only supports ACPI. Other platforms feel free to test and add
support for device tree.

Usage example:
  #perf stat -e arm_dmc620_10008c000/clk_cycle_count/ -C 0
  Get perf event for clk_cycle_count counter.

  #perf stat -e arm_dmc620_10008c000/clkdiv2_allocate,mask=0x1f,match=0x2f,
  incr=2,invert=1/ -C 0
  The above example shows how to specify mask, match, incr,
  invert parameters for clkdiv2_allocate event.

Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Tuan Phan <tuanphan@os.amperecomputing.com>
Link: https://lore.kernel.org/r/1604518246-6198-1-git-send-email-tuanphan@os.amperecomputing.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/perf/Kconfig
drivers/perf/Makefile
drivers/perf/arm_dmc620_pmu.c [new file with mode: 0644]