Re: [PATCH] firmware: arm_scmi: fix psci dependency
From: Sudeep Holla
Date: Tue May 05 2020 - 13:13:35 EST
On Tue, May 05, 2020 at 05:22:42PM +0100, Will Deacon wrote:
> On Tue, May 05, 2020 at 04:04:21PM +0100, Sudeep Holla wrote:
> > On Tue, May 05, 2020 at 04:08:08PM +0200, Arnd Bergmann wrote:
> > > When CONFIG_ARM_PSCI_FW is disabled but CONFIG_HAVE_ARM_SMCCC is enabled,
> > > arm-scmi runs into a link failure:
> > >
> > > arm-linux-gnueabi-ld: drivers/firmware/arm_scmi/smc.o: in function `smc_send_message':
> > > smc.c:(.text+0x200): undefined reference to `arm_smccc_1_1_get_conduit'
> > >
> > > Use an inline helper to default to version v1.0 in the absence of psci.
> > >
> >
> > Thanks for fixing this. I was thinking if we can separate PSCI and SMCCC
> > quickly as a fix for this but I think he needs to be discussed in detail.
> >
> > I am fine with this fix as is and happy to apply to my tree if no one
> > objects.
> >
> > Sorry but taking this patch as opportunity to discuss how to carry the
> > dependency in future. Just a proposal,
> >
> > 1. Introduce a DT node for SMCCC v1.2+
> > 2. The new SMCCC driver(strictly speaking library/few APIs) can probe
> > independent of PSCI if DT node is present
> > 3. Else we fallback on PSCI and detect the SMCCC version for v1.1 and
> > v1.2
> > 4. Assume v1.0 if
> > a. PSCI FEATURE returns NOT_SUPPORTED for ARM_SMCCC_VERSION_FUNC_ID
> > b. CONFIG_ARM_PSCI{,_FW} is not defined
> >
> > Mark/Will/Marc,
> >
> > Any other use-case config missed above ?
>
> Do we really gain much by separating PSCI from SMCCC? In other words, why
> do we care about allowing them to be selected independently?
>
As I mentioned to Mark's response, it is mostly the current arm32
configuration. We enable SMCCC for armv7 and of course we don't mandate
PSCI for them. I assumed depending on PSCI for all uses of SMCCC even
if it is not remotely connected to PSCI was wrong. But if that is fine,
then we don't have any issue ð
--
Regards,
Sudeep