* [PATCH 1/2] ARM: tegra: Sort dependencies alphabetically @ 2019-04-10 8:57 Thierry Reding 2019-04-10 8:57 ` [PATCH 2/2] firmware: Move Trusted Foundations support Thierry Reding 0 siblings, 1 reply; 8+ messages in thread From: Thierry Reding @ 2019-04-10 8:57 UTC (permalink / raw) To: Thierry Reding Cc: linux-tegra, Dmitry Osipenko, Russell King, linux-arm-kernel, Jon Hunter From: Thierry Reding <treding@nvidia.com> The list of dependencies has become unsorted, which makes it difficult to find the right place to insert new dependencies. Restore alphabetical order to make future additions easier. Signed-off-by: Thierry Reding <treding@nvidia.com> --- arch/arm/mach-tegra/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig index 7f3b83e0d324..7b3fd0995a16 100644 --- a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig @@ -2,6 +2,7 @@ menuconfig ARCH_TEGRA bool "NVIDIA Tegra" depends on ARCH_MULTI_V7 + select ARCH_HAS_RESET_CONTROLLER select ARCH_SUPPORTS_TRUSTED_FOUNDATIONS select ARM_AMBA select ARM_GIC @@ -11,7 +12,6 @@ menuconfig ARCH_TEGRA select HAVE_ARM_TWD if SMP select PINCTRL select PM_OPP - select ARCH_HAS_RESET_CONTROLLER select RESET_CONTROLLER select SOC_BUS select ZONE_DMA if ARM_LPAE -- 2.21.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/2] firmware: Move Trusted Foundations support 2019-04-10 8:57 [PATCH 1/2] ARM: tegra: Sort dependencies alphabetically Thierry Reding @ 2019-04-10 8:57 ` Thierry Reding 2019-04-10 10:36 ` Dmitry Osipenko 2019-04-10 21:20 ` Dmitry Osipenko 0 siblings, 2 replies; 8+ messages in thread From: Thierry Reding @ 2019-04-10 8:57 UTC (permalink / raw) To: Thierry Reding Cc: linux-tegra, Dmitry Osipenko, Russell King, linux-arm-kernel, Jon Hunter From: Thierry Reding <treding@nvidia.com> Move the Trusted Foundations support out of arch/arm/firmware and into drivers/firmware where most other firmware support implementations are located. Signed-off-by: Thierry Reding <treding@nvidia.com> --- arch/arm/Kconfig | 2 -- arch/arm/Makefile | 1 - arch/arm/firmware/Kconfig | 29 ------------------- arch/arm/firmware/Makefile | 4 --- arch/arm/mach-tegra/Kconfig | 2 +- arch/arm/mach-tegra/cpuidle-tegra114.c | 3 +- arch/arm/mach-tegra/pm.c | 3 +- arch/arm/mach-tegra/reset.c | 3 +- arch/arm/mach-tegra/tegra.c | 3 +- drivers/firmware/Kconfig | 15 ++++++++++ drivers/firmware/Makefile | 1 + .../firmware/trusted_foundations.c | 4 ++- .../linux/firmware}/trusted_foundations.h | 4 +-- 13 files changed, 30 insertions(+), 44 deletions(-) delete mode 100644 arch/arm/firmware/Kconfig delete mode 100644 arch/arm/firmware/Makefile rename {arch/arm => drivers}/firmware/trusted_foundations.c (98%) rename {arch/arm/include/asm => include/linux/firmware}/trusted_foundations.h (97%) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 054ead960f98..f006b3c69247 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -899,8 +899,6 @@ config PLAT_PXA config PLAT_VERSATILE bool -source "arch/arm/firmware/Kconfig" - source "arch/arm/mm/Kconfig" config IWMMXT diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 807a7d06c2a0..05ecc004de86 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -290,7 +290,6 @@ core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/ core-y += arch/arm/probes/ core-y += arch/arm/net/ core-y += arch/arm/crypto/ -core-y += arch/arm/firmware/ core-y += $(machdirs) $(platdirs) drivers-$(CONFIG_OPROFILE) += arch/arm/oprofile/ diff --git a/arch/arm/firmware/Kconfig b/arch/arm/firmware/Kconfig deleted file mode 100644 index ad396af68e47..000000000000 --- a/arch/arm/firmware/Kconfig +++ /dev/null @@ -1,29 +0,0 @@ -config ARCH_SUPPORTS_FIRMWARE - bool - -config ARCH_SUPPORTS_TRUSTED_FOUNDATIONS - bool - select ARCH_SUPPORTS_FIRMWARE - -menu "Firmware options" - depends on ARCH_SUPPORTS_FIRMWARE - -config TRUSTED_FOUNDATIONS - bool "Trusted Foundations secure monitor support" - depends on ARCH_SUPPORTS_TRUSTED_FOUNDATIONS - default y - help - Some devices (including most Tegra-based consumer devices on the - market) are booted with the Trusted Foundations secure monitor - active, requiring some core operations to be performed by the secure - monitor instead of the kernel. - - This option allows the kernel to invoke the secure monitor whenever - required on devices using Trusted Foundations. See - arch/arm/include/asm/trusted_foundations.h or the - tlm,trusted-foundations device tree binding documentation for details - on how to use it. - - Say n if you don't know what this is about. - -endmenu diff --git a/arch/arm/firmware/Makefile b/arch/arm/firmware/Makefile deleted file mode 100644 index 6e41336b0bc4..000000000000 --- a/arch/arm/firmware/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -obj-$(CONFIG_TRUSTED_FOUNDATIONS) += trusted_foundations.o - -# tf_generic_smc() fails to build with -fsanitize-coverage=trace-pc -KCOV_INSTRUMENT := n diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig index 7b3fd0995a16..cbad7823f602 100644 --- a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig @@ -3,7 +3,6 @@ menuconfig ARCH_TEGRA bool "NVIDIA Tegra" depends on ARCH_MULTI_V7 select ARCH_HAS_RESET_CONTROLLER - select ARCH_SUPPORTS_TRUSTED_FOUNDATIONS select ARM_AMBA select ARM_GIC select CLKSRC_MMIO @@ -14,6 +13,7 @@ menuconfig ARCH_TEGRA select PM_OPP select RESET_CONTROLLER select SOC_BUS + select TRUSTED_FOUNDATIONS select ZONE_DMA if ARM_LPAE help This enables support for NVIDIA Tegra based systems. diff --git a/arch/arm/mach-tegra/cpuidle-tegra114.c b/arch/arm/mach-tegra/cpuidle-tegra114.c index 3b9af4766cdf..43c695d83f03 100644 --- a/arch/arm/mach-tegra/cpuidle-tegra114.c +++ b/arch/arm/mach-tegra/cpuidle-tegra114.c @@ -21,10 +21,11 @@ #include <linux/kernel.h> #include <linux/module.h> +#include <linux/firmware/trusted_foundations.h> + #include <asm/cpuidle.h> #include <asm/smp_plat.h> #include <asm/suspend.h> -#include <asm/trusted_foundations.h> #include <asm/psci.h> #include "cpuidle.h" diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c index abf5f88778f4..1b0ade06f204 100644 --- a/arch/arm/mach-tegra/pm.c +++ b/arch/arm/mach-tegra/pm.c @@ -27,6 +27,8 @@ #include <linux/spinlock.h> #include <linux/suspend.h> +#include <linux/firmware/trusted_foundations.h> + #include <soc/tegra/flowctrl.h> #include <soc/tegra/fuse.h> #include <soc/tegra/pm.h> @@ -39,7 +41,6 @@ #include <asm/smp_plat.h> #include <asm/suspend.h> #include <asm/tlbflush.h> -#include <asm/trusted_foundations.h> #include "iomap.h" #include "pm.h" diff --git a/arch/arm/mach-tegra/reset.c b/arch/arm/mach-tegra/reset.c index b02ae7699842..35dc5d419b6f 100644 --- a/arch/arm/mach-tegra/reset.c +++ b/arch/arm/mach-tegra/reset.c @@ -19,12 +19,13 @@ #include <linux/init.h> #include <linux/io.h> +#include <linux/firmware/trusted_foundations.h> + #include <soc/tegra/fuse.h> #include <asm/cacheflush.h> #include <asm/firmware.h> #include <asm/hardware/cache-l2x0.h> -#include <asm/trusted_foundations.h> #include "iomap.h" #include "irammap.h" diff --git a/arch/arm/mach-tegra/tegra.c b/arch/arm/mach-tegra/tegra.c index 1e89cfefbf68..3e88f67dd521 100644 --- a/arch/arm/mach-tegra/tegra.c +++ b/arch/arm/mach-tegra/tegra.c @@ -35,6 +35,8 @@ #include <linux/sys_soc.h> #include <linux/usb/tegra_usb_phy.h> +#include <linux/firmware/trusted_foundations.h> + #include <soc/tegra/fuse.h> #include <soc/tegra/pmc.h> @@ -44,7 +46,6 @@ #include <asm/mach/time.h> #include <asm/mach-types.h> #include <asm/setup.h> -#include <asm/trusted_foundations.h> #include "board.h" #include "common.h" diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig index cac16c4b0df3..d1b1108aee72 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig @@ -267,6 +267,21 @@ config TI_SCI_PROTOCOL This protocol library is used by client drivers to use the features provided by the system controller. +config TRUSTED_FOUNDATIONS + bool "Trusted Foundations secure monitor support" + help + Some devices (including most early Tegra-based consumer devices on + the market) are booted with the Trusted Foundations secure monitor + active, requiring some core operations to be performed by the secure + monitor instead of the kernel. + + This option allows the kernel to invoke the secure monitor whenever + required on devices using Trusted Foundations. See the functions and + comments in linux/firmware/trusted_foundations.h or the device tree + bindings for "tlm,trusted-foundations" for details on how to use it. + + Choose N if you don't know what this is about. + config HAVE_ARM_SMCCC bool diff --git a/drivers/firmware/Makefile b/drivers/firmware/Makefile index 80feb635120f..745f4907e69b 100644 --- a/drivers/firmware/Makefile +++ b/drivers/firmware/Makefile @@ -23,6 +23,7 @@ obj-$(CONFIG_QCOM_SCM_64) += qcom_scm-64.o obj-$(CONFIG_QCOM_SCM_32) += qcom_scm-32.o CFLAGS_qcom_scm-32.o :=$(call as-instr,.arch armv7-a\n.arch_extension sec,-DREQUIRES_SEC=1) -march=armv7-a obj-$(CONFIG_TI_SCI_PROTOCOL) += ti_sci.o +obj-$(CONFIG_TRUSTED_FOUNDATIONS) += trusted_foundations.o obj-$(CONFIG_ARM_SCMI_PROTOCOL) += arm_scmi/ obj-y += broadcom/ diff --git a/arch/arm/firmware/trusted_foundations.c b/drivers/firmware/trusted_foundations.c similarity index 98% rename from arch/arm/firmware/trusted_foundations.c rename to drivers/firmware/trusted_foundations.c index bb2ee73d9e02..fd4999388ff1 100644 --- a/arch/arm/firmware/trusted_foundations.c +++ b/drivers/firmware/trusted_foundations.c @@ -17,10 +17,12 @@ #include <linux/kernel.h> #include <linux/init.h> #include <linux/of.h> + +#include <linux/firmware/trusted_foundations.h> + #include <asm/firmware.h> #include <asm/hardware/cache-l2x0.h> #include <asm/outercache.h> -#include <asm/trusted_foundations.h> #define TF_CACHE_MAINT 0xfffff100 diff --git a/arch/arm/include/asm/trusted_foundations.h b/include/linux/firmware/trusted_foundations.h similarity index 97% rename from arch/arm/include/asm/trusted_foundations.h rename to include/linux/firmware/trusted_foundations.h index 54513c533811..4064e7c74715 100644 --- a/arch/arm/include/asm/trusted_foundations.h +++ b/include/linux/firmware/trusted_foundations.h @@ -23,8 +23,8 @@ * PSCI standard. */ -#ifndef __ASM_ARM_TRUSTED_FOUNDATIONS_H -#define __ASM_ARM_TRUSTED_FOUNDATIONS_H +#ifndef __FIRMWARE_TRUSTED_FOUNDATIONS_H +#define __FIRMWARE_TRUSTED_FOUNDATIONS_H #include <linux/printk.h> #include <linux/bug.h> -- 2.21.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] firmware: Move Trusted Foundations support 2019-04-10 8:57 ` [PATCH 2/2] firmware: Move Trusted Foundations support Thierry Reding @ 2019-04-10 10:36 ` Dmitry Osipenko 2019-04-10 15:31 ` Thierry Reding 2019-04-10 21:20 ` Dmitry Osipenko 1 sibling, 1 reply; 8+ messages in thread From: Dmitry Osipenko @ 2019-04-10 10:36 UTC (permalink / raw) To: Thierry Reding; +Cc: linux-tegra, Russell King, linux-arm-kernel, Jon Hunter 10.04.2019 11:57, Thierry Reding пишет: > From: Thierry Reding <treding@nvidia.com> > > Move the Trusted Foundations support out of arch/arm/firmware and into > drivers/firmware where most other firmware support implementations are > located. > > Signed-off-by: Thierry Reding <treding@nvidia.com> > --- > arch/arm/Kconfig | 2 -- > arch/arm/Makefile | 1 - > arch/arm/firmware/Kconfig | 29 ------------------- > arch/arm/firmware/Makefile | 4 --- > arch/arm/mach-tegra/Kconfig | 2 +- > arch/arm/mach-tegra/cpuidle-tegra114.c | 3 +- > arch/arm/mach-tegra/pm.c | 3 +- > arch/arm/mach-tegra/reset.c | 3 +- > arch/arm/mach-tegra/tegra.c | 3 +- > drivers/firmware/Kconfig | 15 ++++++++++ > drivers/firmware/Makefile | 1 + > .../firmware/trusted_foundations.c | 4 ++- > .../linux/firmware}/trusted_foundations.h | 4 +-- > 13 files changed, 30 insertions(+), 44 deletions(-) > delete mode 100644 arch/arm/firmware/Kconfig > delete mode 100644 arch/arm/firmware/Makefile > rename {arch/arm => drivers}/firmware/trusted_foundations.c (98%) > rename {arch/arm/include/asm => include/linux/firmware}/trusted_foundations.h (97%) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 054ead960f98..f006b3c69247 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -899,8 +899,6 @@ config PLAT_PXA > config PLAT_VERSATILE > bool > > -source "arch/arm/firmware/Kconfig" > - > source "arch/arm/mm/Kconfig" > > config IWMMXT > diff --git a/arch/arm/Makefile b/arch/arm/Makefile > index 807a7d06c2a0..05ecc004de86 100644 > --- a/arch/arm/Makefile > +++ b/arch/arm/Makefile > @@ -290,7 +290,6 @@ core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/ > core-y += arch/arm/probes/ > core-y += arch/arm/net/ > core-y += arch/arm/crypto/ > -core-y += arch/arm/firmware/ > core-y += $(machdirs) $(platdirs) > > drivers-$(CONFIG_OPROFILE) += arch/arm/oprofile/ > diff --git a/arch/arm/firmware/Kconfig b/arch/arm/firmware/Kconfig > deleted file mode 100644 > index ad396af68e47..000000000000 > --- a/arch/arm/firmware/Kconfig > +++ /dev/null > @@ -1,29 +0,0 @@ > -config ARCH_SUPPORTS_FIRMWARE > - bool > - > -config ARCH_SUPPORTS_TRUSTED_FOUNDATIONS > - bool > - select ARCH_SUPPORTS_FIRMWARE > - > -menu "Firmware options" > - depends on ARCH_SUPPORTS_FIRMWARE > - > -config TRUSTED_FOUNDATIONS > - bool "Trusted Foundations secure monitor support" > - depends on ARCH_SUPPORTS_TRUSTED_FOUNDATIONS > - default y > - help > - Some devices (including most Tegra-based consumer devices on the > - market) are booted with the Trusted Foundations secure monitor > - active, requiring some core operations to be performed by the secure > - monitor instead of the kernel. > - > - This option allows the kernel to invoke the secure monitor whenever > - required on devices using Trusted Foundations. See > - arch/arm/include/asm/trusted_foundations.h or the > - tlm,trusted-foundations device tree binding documentation for details > - on how to use it. > - > - Say n if you don't know what this is about. > - > -endmenu > diff --git a/arch/arm/firmware/Makefile b/arch/arm/firmware/Makefile > deleted file mode 100644 > index 6e41336b0bc4..000000000000 > --- a/arch/arm/firmware/Makefile > +++ /dev/null > @@ -1,4 +0,0 @@ > -obj-$(CONFIG_TRUSTED_FOUNDATIONS) += trusted_foundations.o > - > -# tf_generic_smc() fails to build with -fsanitize-coverage=trace-pc > -KCOV_INSTRUMENT := n > diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig > index 7b3fd0995a16..cbad7823f602 100644 > --- a/arch/arm/mach-tegra/Kconfig > +++ b/arch/arm/mach-tegra/Kconfig > @@ -3,7 +3,6 @@ menuconfig ARCH_TEGRA > bool "NVIDIA Tegra" > depends on ARCH_MULTI_V7 > select ARCH_HAS_RESET_CONTROLLER > - select ARCH_SUPPORTS_TRUSTED_FOUNDATIONS > select ARM_AMBA > select ARM_GIC > select CLKSRC_MMIO > @@ -14,6 +13,7 @@ menuconfig ARCH_TEGRA > select PM_OPP > select RESET_CONTROLLER > select SOC_BUS > + select TRUSTED_FOUNDATIONS Do we really want to force-enable the driver? I think it's better to have a choice and then instead enable the driver in the tegra_defconfig. > select ZONE_DMA if ARM_LPAE > help > This enables support for NVIDIA Tegra based systems. [snip] > --- a/drivers/firmware/Kconfig > +++ b/drivers/firmware/Kconfig > @@ -267,6 +267,21 @@ config TI_SCI_PROTOCOL > This protocol library is used by client drivers to use the features > provided by the system controller. > > +config TRUSTED_FOUNDATIONS > + bool "Trusted Foundations secure monitor support" Th driver shall depend at least on ARM because of the assembly. And maybe even on ARCH_TEGRA. Do you know if there are any platforms other than Tegra that use that firmware? Won't it make sense to move the driver to tegra/ ? _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] firmware: Move Trusted Foundations support 2019-04-10 10:36 ` Dmitry Osipenko @ 2019-04-10 15:31 ` Thierry Reding 2019-04-15 17:04 ` Dmitry Osipenko 0 siblings, 1 reply; 8+ messages in thread From: Thierry Reding @ 2019-04-10 15:31 UTC (permalink / raw) To: Dmitry Osipenko; +Cc: linux-tegra, Russell King, linux-arm-kernel, Jon Hunter [-- Attachment #1.1: Type: text/plain, Size: 6052 bytes --] On Wed, Apr 10, 2019 at 01:36:35PM +0300, Dmitry Osipenko wrote: > 10.04.2019 11:57, Thierry Reding пишет: > > From: Thierry Reding <treding@nvidia.com> > > > > Move the Trusted Foundations support out of arch/arm/firmware and into > > drivers/firmware where most other firmware support implementations are > > located. > > > > Signed-off-by: Thierry Reding <treding@nvidia.com> > > --- > > arch/arm/Kconfig | 2 -- > > arch/arm/Makefile | 1 - > > arch/arm/firmware/Kconfig | 29 ------------------- > > arch/arm/firmware/Makefile | 4 --- > > arch/arm/mach-tegra/Kconfig | 2 +- > > arch/arm/mach-tegra/cpuidle-tegra114.c | 3 +- > > arch/arm/mach-tegra/pm.c | 3 +- > > arch/arm/mach-tegra/reset.c | 3 +- > > arch/arm/mach-tegra/tegra.c | 3 +- > > drivers/firmware/Kconfig | 15 ++++++++++ > > drivers/firmware/Makefile | 1 + > > .../firmware/trusted_foundations.c | 4 ++- > > .../linux/firmware}/trusted_foundations.h | 4 +-- > > 13 files changed, 30 insertions(+), 44 deletions(-) > > delete mode 100644 arch/arm/firmware/Kconfig > > delete mode 100644 arch/arm/firmware/Makefile > > rename {arch/arm => drivers}/firmware/trusted_foundations.c (98%) > > rename {arch/arm/include/asm => include/linux/firmware}/trusted_foundations.h (97%) > > > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > > index 054ead960f98..f006b3c69247 100644 > > --- a/arch/arm/Kconfig > > +++ b/arch/arm/Kconfig > > @@ -899,8 +899,6 @@ config PLAT_PXA > > config PLAT_VERSATILE > > bool > > > > -source "arch/arm/firmware/Kconfig" > > - > > source "arch/arm/mm/Kconfig" > > > > config IWMMXT > > diff --git a/arch/arm/Makefile b/arch/arm/Makefile > > index 807a7d06c2a0..05ecc004de86 100644 > > --- a/arch/arm/Makefile > > +++ b/arch/arm/Makefile > > @@ -290,7 +290,6 @@ core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/ > > core-y += arch/arm/probes/ > > core-y += arch/arm/net/ > > core-y += arch/arm/crypto/ > > -core-y += arch/arm/firmware/ > > core-y += $(machdirs) $(platdirs) > > > > drivers-$(CONFIG_OPROFILE) += arch/arm/oprofile/ > > diff --git a/arch/arm/firmware/Kconfig b/arch/arm/firmware/Kconfig > > deleted file mode 100644 > > index ad396af68e47..000000000000 > > --- a/arch/arm/firmware/Kconfig > > +++ /dev/null > > @@ -1,29 +0,0 @@ > > -config ARCH_SUPPORTS_FIRMWARE > > - bool > > - > > -config ARCH_SUPPORTS_TRUSTED_FOUNDATIONS > > - bool > > - select ARCH_SUPPORTS_FIRMWARE > > - > > -menu "Firmware options" > > - depends on ARCH_SUPPORTS_FIRMWARE > > - > > -config TRUSTED_FOUNDATIONS > > - bool "Trusted Foundations secure monitor support" > > - depends on ARCH_SUPPORTS_TRUSTED_FOUNDATIONS > > - default y > > - help > > - Some devices (including most Tegra-based consumer devices on the > > - market) are booted with the Trusted Foundations secure monitor > > - active, requiring some core operations to be performed by the secure > > - monitor instead of the kernel. > > - > > - This option allows the kernel to invoke the secure monitor whenever > > - required on devices using Trusted Foundations. See > > - arch/arm/include/asm/trusted_foundations.h or the > > - tlm,trusted-foundations device tree binding documentation for details > > - on how to use it. > > - > > - Say n if you don't know what this is about. > > - > > -endmenu > > diff --git a/arch/arm/firmware/Makefile b/arch/arm/firmware/Makefile > > deleted file mode 100644 > > index 6e41336b0bc4..000000000000 > > --- a/arch/arm/firmware/Makefile > > +++ /dev/null > > @@ -1,4 +0,0 @@ > > -obj-$(CONFIG_TRUSTED_FOUNDATIONS) += trusted_foundations.o > > - > > -# tf_generic_smc() fails to build with -fsanitize-coverage=trace-pc > > -KCOV_INSTRUMENT := n > > diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig > > index 7b3fd0995a16..cbad7823f602 100644 > > --- a/arch/arm/mach-tegra/Kconfig > > +++ b/arch/arm/mach-tegra/Kconfig > > @@ -3,7 +3,6 @@ menuconfig ARCH_TEGRA > > bool "NVIDIA Tegra" > > depends on ARCH_MULTI_V7 > > select ARCH_HAS_RESET_CONTROLLER > > - select ARCH_SUPPORTS_TRUSTED_FOUNDATIONS > > select ARM_AMBA > > select ARM_GIC > > select CLKSRC_MMIO > > @@ -14,6 +13,7 @@ menuconfig ARCH_TEGRA > > select PM_OPP > > select RESET_CONTROLLER > > select SOC_BUS > > + select TRUSTED_FOUNDATIONS > > Do we really want to force-enable the driver? I think it's better to > have a choice and then instead enable the driver in the > tegra_defconfig. The driver is getting enabled by default prior to this patch, and given that it's fairly small, I thought it'd be okay to include it by default. But I guess there's no harm in enabling it in tegra_defconfig and multi_v7_defconfig, that way people do have the possibility to disable it if they really don't want it. > > select ZONE_DMA if ARM_LPAE > > help > > This enables support for NVIDIA Tegra based systems. > > > [snip] > > > --- a/drivers/firmware/Kconfig > > +++ b/drivers/firmware/Kconfig > > @@ -267,6 +267,21 @@ config TI_SCI_PROTOCOL > > This protocol library is used by client drivers to use the features > > provided by the system controller. > > > > +config TRUSTED_FOUNDATIONS > > + bool "Trusted Foundations secure monitor support" > > Th driver shall depend at least on ARM because of the assembly. And > maybe even on ARCH_TEGRA. Indeed, I've added a "depends on ARM" in v2. > Do you know if there are any platforms other than Tegra that use that > firmware? Won't it make sense to move the driver to tegra/ ? I don't think there's any reason to make this Tegra specific, even if this was only ever deployed on Tegra. Thierry [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 176 bytes --] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] firmware: Move Trusted Foundations support 2019-04-10 15:31 ` Thierry Reding @ 2019-04-15 17:04 ` Dmitry Osipenko 0 siblings, 0 replies; 8+ messages in thread From: Dmitry Osipenko @ 2019-04-15 17:04 UTC (permalink / raw) To: Thierry Reding; +Cc: linux-tegra, Russell King, linux-arm-kernel, Jon Hunter 10.04.2019 18:31, Thierry Reding пишет: > On Wed, Apr 10, 2019 at 01:36:35PM +0300, Dmitry Osipenko wrote: >> 10.04.2019 11:57, Thierry Reding пишет: >>> From: Thierry Reding <treding@nvidia.com> >>> >>> Move the Trusted Foundations support out of arch/arm/firmware and into >>> drivers/firmware where most other firmware support implementations are >>> located. >>> >>> Signed-off-by: Thierry Reding <treding@nvidia.com> >>> --- >>> arch/arm/Kconfig | 2 -- >>> arch/arm/Makefile | 1 - >>> arch/arm/firmware/Kconfig | 29 ------------------- >>> arch/arm/firmware/Makefile | 4 --- >>> arch/arm/mach-tegra/Kconfig | 2 +- >>> arch/arm/mach-tegra/cpuidle-tegra114.c | 3 +- >>> arch/arm/mach-tegra/pm.c | 3 +- >>> arch/arm/mach-tegra/reset.c | 3 +- >>> arch/arm/mach-tegra/tegra.c | 3 +- >>> drivers/firmware/Kconfig | 15 ++++++++++ >>> drivers/firmware/Makefile | 1 + >>> .../firmware/trusted_foundations.c | 4 ++- >>> .../linux/firmware}/trusted_foundations.h | 4 +-- >>> 13 files changed, 30 insertions(+), 44 deletions(-) >>> delete mode 100644 arch/arm/firmware/Kconfig >>> delete mode 100644 arch/arm/firmware/Makefile >>> rename {arch/arm => drivers}/firmware/trusted_foundations.c (98%) >>> rename {arch/arm/include/asm => include/linux/firmware}/trusted_foundations.h (97%) >>> >>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >>> index 054ead960f98..f006b3c69247 100644 >>> --- a/arch/arm/Kconfig >>> +++ b/arch/arm/Kconfig >>> @@ -899,8 +899,6 @@ config PLAT_PXA >>> config PLAT_VERSATILE >>> bool >>> >>> -source "arch/arm/firmware/Kconfig" >>> - >>> source "arch/arm/mm/Kconfig" >>> >>> config IWMMXT >>> diff --git a/arch/arm/Makefile b/arch/arm/Makefile >>> index 807a7d06c2a0..05ecc004de86 100644 >>> --- a/arch/arm/Makefile >>> +++ b/arch/arm/Makefile >>> @@ -290,7 +290,6 @@ core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/ >>> core-y += arch/arm/probes/ >>> core-y += arch/arm/net/ >>> core-y += arch/arm/crypto/ >>> -core-y += arch/arm/firmware/ >>> core-y += $(machdirs) $(platdirs) >>> >>> drivers-$(CONFIG_OPROFILE) += arch/arm/oprofile/ >>> diff --git a/arch/arm/firmware/Kconfig b/arch/arm/firmware/Kconfig >>> deleted file mode 100644 >>> index ad396af68e47..000000000000 >>> --- a/arch/arm/firmware/Kconfig >>> +++ /dev/null >>> @@ -1,29 +0,0 @@ >>> -config ARCH_SUPPORTS_FIRMWARE >>> - bool >>> - >>> -config ARCH_SUPPORTS_TRUSTED_FOUNDATIONS >>> - bool >>> - select ARCH_SUPPORTS_FIRMWARE >>> - >>> -menu "Firmware options" >>> - depends on ARCH_SUPPORTS_FIRMWARE >>> - >>> -config TRUSTED_FOUNDATIONS >>> - bool "Trusted Foundations secure monitor support" >>> - depends on ARCH_SUPPORTS_TRUSTED_FOUNDATIONS >>> - default y >>> - help >>> - Some devices (including most Tegra-based consumer devices on the >>> - market) are booted with the Trusted Foundations secure monitor >>> - active, requiring some core operations to be performed by the secure >>> - monitor instead of the kernel. >>> - >>> - This option allows the kernel to invoke the secure monitor whenever >>> - required on devices using Trusted Foundations. See >>> - arch/arm/include/asm/trusted_foundations.h or the >>> - tlm,trusted-foundations device tree binding documentation for details >>> - on how to use it. >>> - >>> - Say n if you don't know what this is about. >>> - >>> -endmenu >>> diff --git a/arch/arm/firmware/Makefile b/arch/arm/firmware/Makefile >>> deleted file mode 100644 >>> index 6e41336b0bc4..000000000000 >>> --- a/arch/arm/firmware/Makefile >>> +++ /dev/null >>> @@ -1,4 +0,0 @@ >>> -obj-$(CONFIG_TRUSTED_FOUNDATIONS) += trusted_foundations.o >>> - >>> -# tf_generic_smc() fails to build with -fsanitize-coverage=trace-pc >>> -KCOV_INSTRUMENT := n >>> diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig >>> index 7b3fd0995a16..cbad7823f602 100644 >>> --- a/arch/arm/mach-tegra/Kconfig >>> +++ b/arch/arm/mach-tegra/Kconfig >>> @@ -3,7 +3,6 @@ menuconfig ARCH_TEGRA >>> bool "NVIDIA Tegra" >>> depends on ARCH_MULTI_V7 >>> select ARCH_HAS_RESET_CONTROLLER >>> - select ARCH_SUPPORTS_TRUSTED_FOUNDATIONS >>> select ARM_AMBA >>> select ARM_GIC >>> select CLKSRC_MMIO >>> @@ -14,6 +13,7 @@ menuconfig ARCH_TEGRA >>> select PM_OPP >>> select RESET_CONTROLLER >>> select SOC_BUS >>> + select TRUSTED_FOUNDATIONS >> >> Do we really want to force-enable the driver? I think it's better to >> have a choice and then instead enable the driver in the >> tegra_defconfig. > > The driver is getting enabled by default prior to this patch, and given > that it's fairly small, I thought it'd be okay to include it by default. > But I guess there's no harm in enabling it in tegra_defconfig and > multi_v7_defconfig, that way people do have the possibility to disable > it if they really don't want it. > >>> select ZONE_DMA if ARM_LPAE >>> help >>> This enables support for NVIDIA Tegra based systems. >> >> >> [snip] >> >>> --- a/drivers/firmware/Kconfig >>> +++ b/drivers/firmware/Kconfig >>> @@ -267,6 +267,21 @@ config TI_SCI_PROTOCOL >>> This protocol library is used by client drivers to use the features >>> provided by the system controller. >>> >>> +config TRUSTED_FOUNDATIONS >>> + bool "Trusted Foundations secure monitor support" >> >> Th driver shall depend at least on ARM because of the assembly. And >> maybe even on ARCH_TEGRA. > > Indeed, I've added a "depends on ARM" in v2. > >> Do you know if there are any platforms other than Tegra that use that >> firmware? Won't it make sense to move the driver to tegra/ ? > > I don't think there's any reason to make this Tegra specific, even if > this was only ever deployed on Tegra. I found that you already applied the v2, although it wasn't sent to the ML. Just want let you know that everything looks and works fine, thanks. Tested-by: Dmitry Osipenko <digetx@gmail.com> Reviewed-by: Dmitry Osipenko <digetx@gmail.com> _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] firmware: Move Trusted Foundations support 2019-04-10 8:57 ` [PATCH 2/2] firmware: Move Trusted Foundations support Thierry Reding 2019-04-10 10:36 ` Dmitry Osipenko @ 2019-04-10 21:20 ` Dmitry Osipenko 2019-04-11 7:50 ` Thierry Reding 1 sibling, 1 reply; 8+ messages in thread From: Dmitry Osipenko @ 2019-04-10 21:20 UTC (permalink / raw) To: Thierry Reding; +Cc: linux-tegra, Russell King, linux-arm-kernel, Jon Hunter 10.04.2019 11:57, Thierry Reding пишет: > From: Thierry Reding <treding@nvidia.com> > > Move the Trusted Foundations support out of arch/arm/firmware and into > drivers/firmware where most other firmware support implementations are > located. > > Signed-off-by: Thierry Reding <treding@nvidia.com> > --- > arch/arm/Kconfig | 2 -- > arch/arm/Makefile | 1 - > arch/arm/firmware/Kconfig | 29 ------------------- > arch/arm/firmware/Makefile | 4 --- > arch/arm/mach-tegra/Kconfig | 2 +- > arch/arm/mach-tegra/cpuidle-tegra114.c | 3 +- > arch/arm/mach-tegra/pm.c | 3 +- > arch/arm/mach-tegra/reset.c | 3 +- > arch/arm/mach-tegra/tegra.c | 3 +- > drivers/firmware/Kconfig | 15 ++++++++++ > drivers/firmware/Makefile | 1 + > .../firmware/trusted_foundations.c | 4 ++- > .../linux/firmware}/trusted_foundations.h | 4 +-- > 13 files changed, 30 insertions(+), 44 deletions(-) Please add the MAINTAINERS entry for the driver. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] firmware: Move Trusted Foundations support 2019-04-10 21:20 ` Dmitry Osipenko @ 2019-04-11 7:50 ` Thierry Reding 2019-04-11 11:28 ` Dmitry Osipenko 0 siblings, 1 reply; 8+ messages in thread From: Thierry Reding @ 2019-04-11 7:50 UTC (permalink / raw) To: Dmitry Osipenko; +Cc: linux-tegra, Russell King, linux-arm-kernel, Jon Hunter [-- Attachment #1.1: Type: text/plain, Size: 1360 bytes --] On Thu, Apr 11, 2019 at 12:20:20AM +0300, Dmitry Osipenko wrote: > 10.04.2019 11:57, Thierry Reding пишет: > > From: Thierry Reding <treding@nvidia.com> > > > > Move the Trusted Foundations support out of arch/arm/firmware and into > > drivers/firmware where most other firmware support implementations are > > located. > > > > Signed-off-by: Thierry Reding <treding@nvidia.com> > > --- > > arch/arm/Kconfig | 2 -- > > arch/arm/Makefile | 1 - > > arch/arm/firmware/Kconfig | 29 ------------------- > > arch/arm/firmware/Makefile | 4 --- > > arch/arm/mach-tegra/Kconfig | 2 +- > > arch/arm/mach-tegra/cpuidle-tegra114.c | 3 +- > > arch/arm/mach-tegra/pm.c | 3 +- > > arch/arm/mach-tegra/reset.c | 3 +- > > arch/arm/mach-tegra/tegra.c | 3 +- > > drivers/firmware/Kconfig | 15 ++++++++++ > > drivers/firmware/Makefile | 1 + > > .../firmware/trusted_foundations.c | 4 ++- > > .../linux/firmware}/trusted_foundations.h | 4 +-- > > 13 files changed, 30 insertions(+), 44 deletions(-) > > Please add the MAINTAINERS entry for the driver. Are you volunteering? Thierry [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 176 bytes --] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] firmware: Move Trusted Foundations support 2019-04-11 7:50 ` Thierry Reding @ 2019-04-11 11:28 ` Dmitry Osipenko 0 siblings, 0 replies; 8+ messages in thread From: Dmitry Osipenko @ 2019-04-11 11:28 UTC (permalink / raw) To: Thierry Reding; +Cc: linux-tegra, Russell King, linux-arm-kernel, Jon Hunter 11.04.2019 10:50, Thierry Reding пишет: > On Thu, Apr 11, 2019 at 12:20:20AM +0300, Dmitry Osipenko wrote: >> 10.04.2019 11:57, Thierry Reding пишет: >>> From: Thierry Reding <treding@nvidia.com> >>> >>> Move the Trusted Foundations support out of arch/arm/firmware and into >>> drivers/firmware where most other firmware support implementations are >>> located. >>> >>> Signed-off-by: Thierry Reding <treding@nvidia.com> >>> --- >>> arch/arm/Kconfig | 2 -- >>> arch/arm/Makefile | 1 - >>> arch/arm/firmware/Kconfig | 29 ------------------- >>> arch/arm/firmware/Makefile | 4 --- >>> arch/arm/mach-tegra/Kconfig | 2 +- >>> arch/arm/mach-tegra/cpuidle-tegra114.c | 3 +- >>> arch/arm/mach-tegra/pm.c | 3 +- >>> arch/arm/mach-tegra/reset.c | 3 +- >>> arch/arm/mach-tegra/tegra.c | 3 +- >>> drivers/firmware/Kconfig | 15 ++++++++++ >>> drivers/firmware/Makefile | 1 + >>> .../firmware/trusted_foundations.c | 4 ++- >>> .../linux/firmware}/trusted_foundations.h | 4 +-- >>> 13 files changed, 30 insertions(+), 44 deletions(-) >> >> Please add the MAINTAINERS entry for the driver. > > Are you volunteering? I don't mind, given that there is no much to maintain in that code, I could test patches as long as hardware is alive. Although my main point was that the proper people and mailing lists should be associated with the driver, so that patches won't be missed out by any of the interested parties. Feel free to add me as a co-maintainer. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-04-15 17:04 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-04-10 8:57 [PATCH 1/2] ARM: tegra: Sort dependencies alphabetically Thierry Reding 2019-04-10 8:57 ` [PATCH 2/2] firmware: Move Trusted Foundations support Thierry Reding 2019-04-10 10:36 ` Dmitry Osipenko 2019-04-10 15:31 ` Thierry Reding 2019-04-15 17:04 ` Dmitry Osipenko 2019-04-10 21:20 ` Dmitry Osipenko 2019-04-11 7:50 ` Thierry Reding 2019-04-11 11:28 ` Dmitry Osipenko
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).