Message ID | 20200701162959.9814-2-vicooodin@gmail.com |
---|---|
State | New |
Headers | show |
Series | Add new board: Xen guest for ARM64 | expand |
On Thu, Jul 2, 2020 at 4:14 AM Peng Fan <peng.fan at nxp.com> wrote: > > > Subject: [PATCH 01/17] armv8: Fix SMCC and ARM_PSCI_FW dependencies > > > > From: Oleksandr Andrushchenko <oleksandr_andrushchenko at epam.com> > > > > Currently SMCC selects ARM_PSCI_FW if enabled which is not correct as > > there are cases that PSCI can function without firmware at all. > > ARM_PSCI_FW itself is built with driver model approach, so it cannot be > > enabled if DM is off. > > Fix this by making PSCI reset functionality depend on ARM_PSCI_FW and only > > in case if DM is enabled. > > I think this might break others, see drivers/firmware/psci.c > > Regards, > Peng. Well, the only reason we have this patch *was* the problem with the board support if CONFIG_DM is off when we tried to add an early console support w/o driver model. But it seems this is not needed at all now, so this patch can be easily dropped without causing any harm. I?ll also enable CONFIG_DM from the very start as all the drivers we are adding will use it anyway. But, IMO, CONFIG_ARM_PSCI_FW support is still broken wrt the fact that SMCC can function without PSCI_FW, but made a strong requirement. Even more, it requires DM because of the PSCI driver which detects if we are about to use SMCCC or HVC. Regards, Anastasiia > > > > > > Signed-off-by: Oleksandr Andrushchenko > > <oleksandr_andrushchenko at epam.com> > > Signed-off-by: Anastasiia Lukianenko <anastasiia_lukianenko at epam.com> > > Suggested-by: Volodymyr Babchuk <volodymyr_babchuk at epam.com> > > --- > > arch/arm/Kconfig | 1 - > > arch/arm/cpu/armv8/Kconfig | 2 ++ > > 2 files changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index > > 54d65f8488..e9ad716aaa 100644 > > --- a/arch/arm/Kconfig > > +++ b/arch/arm/Kconfig > > @@ -387,7 +387,6 @@ config SYS_ARCH_TIMER config ARM_SMCCC > > bool "Support for ARM SMC Calling Convention (SMCCC)" > > depends on CPU_V7A || ARM64 > > - select ARM_PSCI_FW > > help > > Say Y here if you want to enable ARM SMC Calling Convention. > > This should be enabled if U-Boot needs to communicate with system > > diff --git a/arch/arm/cpu/armv8/Kconfig b/arch/arm/cpu/armv8/Kconfig > > index 3655990772..c8727f4175 100644 > > --- a/arch/arm/cpu/armv8/Kconfig > > +++ b/arch/arm/cpu/armv8/Kconfig > > @@ -103,6 +103,8 @@ config PSCI_RESET > > bool "Use PSCI for reset and shutdown" > > default y > > select ARM_SMCCC if OF_CONTROL > > + select ARM_PSCI_FW if DM > > + > > depends on !ARCH_EXYNOS7 && !ARCH_BCM283X && \ > > !TARGET_LS2080A_SIMU && !TARGET_LS2080AQDS && \ > > !TARGET_LS2080ARDB && !TARGET_LS2080A_EMU && \ > > -- > > 2.17.1
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 54d65f8488..e9ad716aaa 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -387,7 +387,6 @@ config SYS_ARCH_TIMER config ARM_SMCCC bool "Support for ARM SMC Calling Convention (SMCCC)" depends on CPU_V7A || ARM64 - select ARM_PSCI_FW help Say Y here if you want to enable ARM SMC Calling Convention. This should be enabled if U-Boot needs to communicate with system diff --git a/arch/arm/cpu/armv8/Kconfig b/arch/arm/cpu/armv8/Kconfig index 3655990772..c8727f4175 100644 --- a/arch/arm/cpu/armv8/Kconfig +++ b/arch/arm/cpu/armv8/Kconfig @@ -103,6 +103,8 @@ config PSCI_RESET bool "Use PSCI for reset and shutdown" default y select ARM_SMCCC if OF_CONTROL + select ARM_PSCI_FW if DM + depends on !ARCH_EXYNOS7 && !ARCH_BCM283X && \ !TARGET_LS2080A_SIMU && !TARGET_LS2080AQDS && \ !TARGET_LS2080ARDB && !TARGET_LS2080A_EMU && \