From: Kohei Tarumizu <tarumizu.kohei@fujitsu.com> To: catalin.marinas@arm.com, will@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: tarumizu.kohei@fujitsu.com Subject: [RFC PATCH v2 4/5] driver: hwpf: Add Kconfig/Makefile to build hardware prefetch driver Date: Thu, 4 Nov 2021 14:21:21 +0900 [thread overview] Message-ID: <20211104052122.553868-5-tarumizu.kohei@fujitsu.com> (raw) In-Reply-To: <20211104052122.553868-1-tarumizu.kohei@fujitsu.com> This adds kconfig/Makefile to build hardware prefetch driver for A64FX and Intel support. This also add MAINTAINERS entry. Note that this is the first time to add A64FX specific driver, this adds A64FX entry in Kconfig.platforms of arm64 Kconfig. Signed-off-by: Kohei Tarumizu <tarumizu.kohei@fujitsu.com> --- MAINTAINERS | 7 +++++++ arch/arm64/Kconfig.platforms | 6 ++++++ arch/x86/Kconfig | 12 ++++++++++++ drivers/Kconfig | 2 ++ drivers/Makefile | 1 + drivers/hwpf/Kconfig | 24 ++++++++++++++++++++++++ drivers/hwpf/Makefile | 9 +++++++++ 7 files changed, 61 insertions(+) create mode 100644 drivers/hwpf/Kconfig create mode 100644 drivers/hwpf/Makefile diff --git a/MAINTAINERS b/MAINTAINERS index f26920f0f..29ad0e613 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1588,6 +1588,13 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git F: arch/arm/mach-*/ F: arch/arm/plat-*/ +HARDWARE PREFETCH DRIVERS +M: Kohei Tarumizu <tarumizu.kohei@fujitsu.com> +L: linux-arm-kernel@lists.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@suse.de> M: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.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/arch/x86/Kconfig b/arch/x86/Kconfig index d9830e7e1..d60ec8eb7 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -1356,6 +1356,18 @@ config X86_CPUID with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to /dev/cpu/31/cpuid. +config INTEL_HARDWARE_PREFETCH + tristate "Intel Hardware Prefetch support" + select ARCH_HAS_HARDWARE_PREFETCH + select HARDWARE_PREFETCH + depends on X86_64 + help + This option enables a Hardware Prefetch sysfs interface. + This requires an Intel processor that has MSR about Hardware Prefetch. + + See Documentation/ABI/testing/sysfs-devices-system-cpu for more + information. + choice prompt "High Memory Support" default HIGHMEM4G diff --git a/drivers/Kconfig b/drivers/Kconfig index 0d399ddaa..c46702569 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -236,4 +236,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..e011fa6e0 --- /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 changing 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..6790eb2d2 --- /dev/null +++ b/drivers/hwpf/Makefile @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0 +# Hardware prefetch core driver +obj-$(CONFIG_HARDWARE_PREFETCH) += hwpf.o + +# FUJITSU SoC driver +obj-$(CONFIG_A64FX_HARDWARE_PREFETCH) += fujitsu_hwpf.o + +# Intel SoC driver +obj-$(CONFIG_INTEL_HARDWARE_PREFETCH) += intel_hwpf.o -- 2.27.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Kohei Tarumizu <tarumizu.kohei@fujitsu.com> To: catalin.marinas@arm.com, will@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: tarumizu.kohei@fujitsu.com Subject: [RFC PATCH v2 4/5] driver: hwpf: Add Kconfig/Makefile to build hardware prefetch driver Date: Thu, 4 Nov 2021 14:21:21 +0900 [thread overview] Message-ID: <20211104052122.553868-5-tarumizu.kohei@fujitsu.com> (raw) In-Reply-To: <20211104052122.553868-1-tarumizu.kohei@fujitsu.com> This adds kconfig/Makefile to build hardware prefetch driver for A64FX and Intel support. This also add MAINTAINERS entry. Note that this is the first time to add A64FX specific driver, this adds A64FX entry in Kconfig.platforms of arm64 Kconfig. Signed-off-by: Kohei Tarumizu <tarumizu.kohei@fujitsu.com> --- MAINTAINERS | 7 +++++++ arch/arm64/Kconfig.platforms | 6 ++++++ arch/x86/Kconfig | 12 ++++++++++++ drivers/Kconfig | 2 ++ drivers/Makefile | 1 + drivers/hwpf/Kconfig | 24 ++++++++++++++++++++++++ drivers/hwpf/Makefile | 9 +++++++++ 7 files changed, 61 insertions(+) create mode 100644 drivers/hwpf/Kconfig create mode 100644 drivers/hwpf/Makefile diff --git a/MAINTAINERS b/MAINTAINERS index f26920f0f..29ad0e613 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1588,6 +1588,13 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git F: arch/arm/mach-*/ F: arch/arm/plat-*/ +HARDWARE PREFETCH DRIVERS +M: Kohei Tarumizu <tarumizu.kohei@fujitsu.com> +L: linux-arm-kernel@lists.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@suse.de> M: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.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/arch/x86/Kconfig b/arch/x86/Kconfig index d9830e7e1..d60ec8eb7 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -1356,6 +1356,18 @@ config X86_CPUID with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to /dev/cpu/31/cpuid. +config INTEL_HARDWARE_PREFETCH + tristate "Intel Hardware Prefetch support" + select ARCH_HAS_HARDWARE_PREFETCH + select HARDWARE_PREFETCH + depends on X86_64 + help + This option enables a Hardware Prefetch sysfs interface. + This requires an Intel processor that has MSR about Hardware Prefetch. + + See Documentation/ABI/testing/sysfs-devices-system-cpu for more + information. + choice prompt "High Memory Support" default HIGHMEM4G diff --git a/drivers/Kconfig b/drivers/Kconfig index 0d399ddaa..c46702569 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -236,4 +236,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..e011fa6e0 --- /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 changing 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..6790eb2d2 --- /dev/null +++ b/drivers/hwpf/Makefile @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0 +# Hardware prefetch core driver +obj-$(CONFIG_HARDWARE_PREFETCH) += hwpf.o + +# FUJITSU SoC driver +obj-$(CONFIG_A64FX_HARDWARE_PREFETCH) += fujitsu_hwpf.o + +# Intel SoC driver +obj-$(CONFIG_INTEL_HARDWARE_PREFETCH) += intel_hwpf.o -- 2.27.0
next prev parent reply other threads:[~2021-11-04 5:24 UTC|newest] Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-11-04 5:21 [RFC PATCH v2 0/5] Add hardware prefetch driver for A64FX and Intel processors Kohei Tarumizu 2021-11-04 5:21 ` Kohei Tarumizu 2021-11-04 5:21 ` [RFC PATCH v2 1/5] driver: hwpf: Add hardware prefetch core driver register/unregister functions Kohei Tarumizu 2021-11-04 5:21 ` Kohei Tarumizu 2021-11-04 5:21 ` [RFC PATCH v2 2/5] driver: hwpf: Add support for A64FX to hardware prefetch driver Kohei Tarumizu 2021-11-04 5:21 ` Kohei Tarumizu 2021-11-04 5:21 ` [RFC PATCH v2 3/5] driver: hwpf: Add support for Intel " Kohei Tarumizu 2021-11-04 5:21 ` Kohei Tarumizu 2021-11-08 1:51 ` Dave Hansen 2021-11-08 1:51 ` Dave Hansen 2021-11-09 9:44 ` tarumizu.kohei 2021-11-09 9:44 ` tarumizu.kohei 2021-11-04 5:21 ` Kohei Tarumizu [this message] 2021-11-04 5:21 ` [RFC PATCH v2 4/5] driver: hwpf: Add Kconfig/Makefile to build " Kohei Tarumizu 2021-11-04 5:21 ` [RFC PATCH v2 5/5] docs: ABI: Add sysfs documentation interface of " Kohei Tarumizu 2021-11-04 5:21 ` Kohei Tarumizu 2021-11-04 14:55 ` Dave Hansen 2021-11-04 14:55 ` Dave Hansen 2021-11-08 1:29 ` tarumizu.kohei 2021-11-08 1:29 ` tarumizu.kohei 2021-11-08 1:49 ` Dave Hansen 2021-11-08 1:49 ` Dave Hansen 2021-11-09 9:41 ` tarumizu.kohei 2021-11-09 9:41 ` tarumizu.kohei 2021-11-09 17:44 ` Dave Hansen 2021-11-09 17:44 ` Dave Hansen 2021-11-10 9:25 ` tarumizu.kohei 2021-11-10 9:25 ` tarumizu.kohei 2021-11-04 15:13 ` [RFC PATCH v2 0/5] Add hardware prefetch driver for A64FX and Intel processors Borislav Petkov 2021-11-04 15:13 ` Borislav Petkov 2021-11-08 2:17 ` tarumizu.kohei 2021-11-08 2:17 ` tarumizu.kohei 2021-11-10 8:34 ` Borislav Petkov 2021-11-10 8:34 ` Borislav Petkov 2021-11-18 6:14 ` tarumizu.kohei 2021-11-18 6:14 ` tarumizu.kohei 2021-11-18 7:09 ` tarumizu.kohei 2021-11-18 7:09 ` tarumizu.kohei 2021-12-06 9:30 ` tarumizu.kohei 2021-12-06 9:30 ` tarumizu.kohei 2021-11-04 17:10 ` Peter Zijlstra 2021-11-04 17:10 ` Peter Zijlstra 2021-11-08 2:36 ` tarumizu.kohei 2021-11-08 2:36 ` tarumizu.kohei
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20211104052122.553868-5-tarumizu.kohei@fujitsu.com \ --to=tarumizu.kohei@fujitsu.com \ --cc=bp@alien8.de \ --cc=catalin.marinas@arm.com \ --cc=dave.hansen@linux.intel.com \ --cc=hpa@zytor.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mingo@redhat.com \ --cc=tglx@linutronix.de \ --cc=will@kernel.org \ --cc=x86@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.