public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/6] perf: Support for ARM DynamIQ Shared Unit PMU
@ 2017-07-24 10:29 Suzuki K Poulose
  2017-07-24 10:29 ` [PATCH v2 1/6] perf: Export perf_event_update_userpage Suzuki K Poulose
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Suzuki K Poulose @ 2017-07-24 10:29 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: linux-kernel, will.deacon, mark.rutland, peterz, Suzuki K Poulose

This series adds support for the PMU in ARM DynamIQ Shared Unit (DSU).
The DSU integrates one or more cores with an L3 memory system, control
logic, and external interfaces to form a multicore cluster. The PMU
allows counting the various events related to L3, SCU etc, using 32bit
independent counters along with providing a 64bit cycle counter.

The PMU can only be accessed via CPU system registers, which are common
to the cores connected to the same DSU. The PMU registers follow the
semantics of the ARMv8 PMU, mostly, with the exception that
the counters record the cluster wide events.

Tested on a Fast model with DSU. The driver only supports ARM64 at the
moment. It can be extended to support ARM32 by providing register
accessors like we do in arch/arm64/include/arm_dsu_pmu.h.

The firmware should setup appropriate bits in the ACTLR_EL3/EL2 to
allow EL1 access to the PMU registers.

Series applies on v4.13-rc2 and is also available at:

  git://linux-arm.org/linux-skp.git 4.13/dsu-v2

Changes since V1:
 - Use the new of_device_node_get_cpu() helper for Coresight
 - Rebased to 4.13-rc2

Suzuki K Poulose (6):
  perf: Export perf_event_update_userpage
  of: Add helper for mapping device node to logical CPU number
  coresight: of: Use of_device_node_get_cpu helper
  irqchip: gic-v3: Use of_device_node_get_cpu helper
  dt-bindings: Document devicetree binding for ARM DSU PMU
  perf: ARM DynamIQ Shared Unit PMU support

 .../devicetree/bindings/arm/arm-dsu-pmu.txt        |  28 +
 arch/arm64/include/asm/arm_dsu_pmu.h               | 124 +++
 drivers/hwtracing/coresight/of_coresight.c         |  20 +-
 drivers/irqchip/irq-gic-v3.c                       |  30 +-
 drivers/of/base.c                                  |  26 +
 drivers/perf/Kconfig                               |   9 +
 drivers/perf/Makefile                              |   1 +
 drivers/perf/arm_dsu_pmu.c                         | 877 +++++++++++++++++++++
 include/linux/of_device.h                          |   7 +
 kernel/events/core.c                               |   1 +
 10 files changed, 1082 insertions(+), 41 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/arm-dsu-pmu.txt
 create mode 100644 arch/arm64/include/asm/arm_dsu_pmu.h
 create mode 100644 drivers/perf/arm_dsu_pmu.c

-- 
2.7.5

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2017-07-25 16:14 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-24 10:29 [PATCH v2 0/6] perf: Support for ARM DynamIQ Shared Unit PMU Suzuki K Poulose
2017-07-24 10:29 ` [PATCH v2 1/6] perf: Export perf_event_update_userpage Suzuki K Poulose
2017-07-24 10:29 ` [PATCH v2 2/6] of: Add helper for mapping device node to logical CPU number Suzuki K Poulose
2017-07-24 13:14   ` Marc Zyngier
2017-07-24 15:15     ` Suzuki K Poulose
2017-07-24 16:42   ` Sudeep Holla
2017-07-25  9:27     ` Suzuki K Poulose
2017-07-25  9:49       ` Sudeep Holla
2017-07-24 10:29 ` [PATCH v2 3/6] coresight: of: Use of_device_node_get_cpu helper Suzuki K Poulose
2017-07-25 16:14   ` Mathieu Poirier
2017-07-24 10:29 ` [PATCH v2 4/6] irqchip: gic-v3: " Suzuki K Poulose
2017-07-24 13:15   ` Marc Zyngier
2017-07-24 10:29 ` [PATCH v2 5/6] dt-bindings: Document devicetree binding for ARM DSU PMU Suzuki K Poulose
2017-07-24 10:29 ` [PATCH v2 6/6] perf: ARM DynamIQ Shared Unit PMU support Suzuki K Poulose
2017-07-24 14:50   ` Jonathan Cameron
2017-07-24 15:44     ` Suzuki K Poulose
2017-07-25  8:33       ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox