Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3de6be7a authored by Robin Murphy's avatar Robin Murphy Committed by Arnd Bergmann
Browse files

drivers/bus: Split Arm CCI driver



The arm-cci driver is really two entirely separate drivers; one for MCPM
port control and the other for the performance monitors. Since they are
already relatively self-contained, let's take the plunge and move the
PMU parts out to drivers/perf where they belong these days. For non-MCPM
systems this leaves a small dependency on the remaining "bus" stub for
initial probing and discovery, but we end up with something that still
fits the general pattern of its fellow system PMU drivers to ease future
maintenance.

Moving code to a new file also offers a perfect excuse to modernise the
license/copyright headers and clean up some funky linewraps on the way.

Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: default avatarSuzuki Poulose <suzuki.poulose@arm.com>
Acked-by: default avatarPunit Agrawal <punit.agrawal@arm.com>
Signed-off-by: default avatarRobin Murphy <robin.murphy@arm.com>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 1888d3dd
Loading
Loading
Loading
Loading
+0 −28
Original line number Diff line number Diff line
@@ -8,25 +8,10 @@ menu "Bus devices"
config ARM_CCI
	bool

config ARM_CCI_PMU
	bool
	select ARM_CCI

config ARM_CCI400_COMMON
	bool
	select ARM_CCI

config ARM_CCI400_PMU
	bool "ARM CCI400 PMU support"
	depends on (ARM && CPU_V7) || ARM64
	depends on PERF_EVENTS
	select ARM_CCI400_COMMON
	select ARM_CCI_PMU
	help
	  Support for PMU events monitoring on the ARM CCI-400 (cache coherent
	  interconnect). CCI-400 supports counting events related to the
	  connected slave/master interfaces.

config ARM_CCI400_PORT_CTRL
	bool
	depends on ARM && OF && CPU_V7
@@ -35,19 +20,6 @@ config ARM_CCI400_PORT_CTRL
	  Low level power management driver for CCI400 cache coherent
	  interconnect for ARM platforms.

config ARM_CCI5xx_PMU
	bool "ARM CCI-500/CCI-550 PMU support"
	depends on (ARM && CPU_V7) || ARM64
	depends on PERF_EVENTS
	select ARM_CCI_PMU
	help
	  Support for PMU events monitoring on the ARM CCI-500/CCI-550 cache
	  coherent interconnects. Both of them provide 8 independent event counters,
	  which can count events pertaining to the slave/master interfaces as well
	  as the internal events to the CCI.

	  If unsure, say Y

config BRCMSTB_GISB_ARB
	bool "Broadcom STB GISB bus arbiter"
	depends on ARM || ARM64 || MIPS
+2 −1743

File changed.

Preview size limit exceeded, changes collapsed.

+26 −0
Original line number Diff line number Diff line
@@ -5,6 +5,32 @@
menu "Performance monitor support"
	depends on PERF_EVENTS

config ARM_CCI_PMU
	bool
	select ARM_CCI

config ARM_CCI400_PMU
	bool "ARM CCI400 PMU support"
	depends on (ARM && CPU_V7) || ARM64
	select ARM_CCI400_COMMON
	select ARM_CCI_PMU
	help
	  Support for PMU events monitoring on the ARM CCI-400 (cache coherent
	  interconnect). CCI-400 supports counting events related to the
	  connected slave/master interfaces.

config ARM_CCI5xx_PMU
	bool "ARM CCI-500/CCI-550 PMU support"
	depends on (ARM && CPU_V7) || ARM64
	select ARM_CCI_PMU
	help
	  Support for PMU events monitoring on the ARM CCI-500/CCI-550 cache
	  coherent interconnects. Both of them provide 8 independent event counters,
	  which can count events pertaining to the slave/master interfaces as well
	  as the internal events to the CCI.

	  If unsure, say Y

config ARM_CCN
	tristate "ARM CCN driver support"
	depends on ARM || ARM64
+1 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_ARM_CCI_PMU) += arm-cci.o
obj-$(CONFIG_ARM_CCN) += arm-ccn.o
obj-$(CONFIG_ARM_DSU_PMU) += arm_dsu_pmu.o
obj-$(CONFIG_ARM_PMU) += arm_pmu.o arm_pmu_platform.o

drivers/perf/arm-cci.c

0 → 100644
+1747 −0

File added.

Preview size limit exceeded, changes collapsed.