[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211011043952.995856-4-tarumizu.kohei@fujitsu.com>
Date: Mon, 11 Oct 2021 13:39:51 +0900
From: Kohei Tarumizu <tarumizu.kohei@...itsu.com>
To: hpa@...or.com, tglx@...utronix.de, mingo@...hat.com,
x86@...nel.org, linux-kernel@...r.kernel.org
Cc: tarumizu.kohei@...itsu.com
Subject: [RFC PATCH 3/4] driver: hwpf: Add Kconfig/Makefile to build hardware prefetch driver
This adds kconfig/Makefile to build hardware prefetch core driver and
A64FX support.
Note that this is the first time to add A64FX specific driver,
this also adds A64FX entry in Kconfig.platforms of arm64 Kconfig.
Also add MAINTAINERS entry for ARM/A64FX accordingly.
Signed-off-by: Kohei Tarumizu <tarumizu.kohei@...itsu.com>
---
MAINTAINERS | 7 +++++++
arch/arm64/Kconfig.platforms | 6 ++++++
drivers/Kconfig | 2 ++
drivers/Makefile | 1 +
drivers/hwpf/Kconfig | 24 ++++++++++++++++++++++++
drivers/hwpf/Makefile | 6 ++++++
6 files changed, 46 insertions(+)
create mode 100644 drivers/hwpf/Kconfig
create mode 100644 drivers/hwpf/Makefile
diff --git a/MAINTAINERS b/MAINTAINERS
index eeb4c70b3..1da61c4df 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1586,6 +1586,13 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git
F: arch/arm/mach-*/
F: arch/arm/plat-*/
+ARM/A64FX HARDWARE PREFETCH DRIVERS
+M: Kohei Tarumizu <tarumizu.kohei@...itsu.com>
+L: linux-arm-kernel@...ts.infradead.org (moderated for non-subscribers)
+S: Maintained
+F: drivers/hwpf/
+F: include/linux/hwpf.h
+
ARM/ACTIONS SEMI ARCHITECTURE
M: Andreas Färber <afaerber@...e.de>
M: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index b0ce18d4c..8ecbcd0b7 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -20,6 +20,12 @@ config ARCH_SUNXI
help
This enables support for Allwinner sunxi based SoCs like the A64.
+config ARCH_A64FX
+ bool "Fujitsu A64FX Platforms"
+ select ARCH_HAS_HARDWARE_PREFETCH
+ help
+ This enables support for Fujitsu A64FX SoC family.
+
config ARCH_ALPINE
bool "Annapurna Labs Alpine platform"
select ALPINE_MSI if PCI
diff --git a/drivers/Kconfig b/drivers/Kconfig
index 30d2db37c..ad90d0fb5 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -234,4 +234,6 @@ source "drivers/interconnect/Kconfig"
source "drivers/counter/Kconfig"
source "drivers/most/Kconfig"
+
+source "drivers/hwpf/Kconfig"
endmenu
diff --git a/drivers/Makefile b/drivers/Makefile
index be5d40ae1..8cb2e42f6 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -188,3 +188,4 @@ obj-$(CONFIG_GNSS) += gnss/
obj-$(CONFIG_INTERCONNECT) += interconnect/
obj-$(CONFIG_COUNTER) += counter/
obj-$(CONFIG_MOST) += most/
+obj-$(CONFIG_HARDWARE_PREFETCH) += hwpf/
diff --git a/drivers/hwpf/Kconfig b/drivers/hwpf/Kconfig
new file mode 100644
index 000000000..24528ca85
--- /dev/null
+++ b/drivers/hwpf/Kconfig
@@ -0,0 +1,24 @@
+config ARCH_HAS_HARDWARE_PREFETCH
+ bool
+
+menuconfig HARDWARE_PREFETCH
+ bool "Hardware Prefetch Control"
+ depends on ARCH_HAS_HARDWARE_PREFETCH
+ default y
+ help
+ Hardware Prefetch Control Driver
+
+ This driver allows you to control the Hardware Prefetch mechanism.
+ If the hardware supports the mechanism, it provides a sysfs interface
+ for changeing the feature's enablement, prefetch distance and strongness.
+
+if HARDWARE_PREFETCH
+
+config A64FX_HARDWARE_PREFETCH
+ tristate "A64FX Hardware Prefetch support"
+ depends on ARCH_A64FX
+ default m
+ help
+ This adds Hardware Prefetch driver support for A64FX SOCs.
+
+endif
diff --git a/drivers/hwpf/Makefile b/drivers/hwpf/Makefile
new file mode 100644
index 000000000..56027da22
--- /dev/null
+++ b/drivers/hwpf/Makefile
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: GPL-2.0
+# Hardware prefetch core driver
+obj-$(CONFIG_HARDWARE_PREFETCH) += hwpf.o
+
+# ARM SoC driver
+obj-$(CONFIG_A64FX_HARDWARE_PREFETCH) += fujitsu_hwpf.o
--
2.27.0
Powered by blists - more mailing lists