powerpc/powernv: Detect and create IMC device
authorMadhavan Srinivasan <maddy@linux.vnet.ibm.com>
Tue, 18 Jul 2017 21:36:33 +0000 (03:06 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 25 Jul 2017 12:55:27 +0000 (22:55 +1000)
commit8f95faaac56c18b32d0e23ace55417a440abdb7e
treecfc36a3fb718296b460ad9e1d5f5652a150a359c
parent28a5db0061014c8afbbb98560cf420c29bc4d8e1
powerpc/powernv: Detect and create IMC device

Code to create platform device for the In-Memory Collection (IMC)
counters. Platform devices are created based on the IMC compatibility.
New header file created to contain the data structures and macros
needed for In-Memory Collection (IMC) counter pmu devices.

The device tree for IMC counters starts at the node "imc-counters".
This node contains all the IMC PMU nodes and event nodes for these IMC
PMUs. Device probe() parses the device to locate three possible IMC
device types (Nest/Core/Thread). Function then branch to parse each
unit nodes to populate vital information such as device memory sizes,
event nodes information, base address for reserve memory access (if
any) and so on. Simple bare-minimum shutdown function added which only
"stops" the engines.

Signed-off-by: Anju T Sudhakar <anju@linux.vnet.ibm.com>
Signed-off-by: Hemant Kumar <hemant@linux.vnet.ibm.com>
Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
[mpe: Fix build with CONFIG_PERF_EVENTS=n]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/imc-pmu.h [new file with mode: 0644]
arch/powerpc/platforms/powernv/Makefile
arch/powerpc/platforms/powernv/opal-imc.c [new file with mode: 0644]
arch/powerpc/platforms/powernv/opal.c