Re: [PATCH] firmware: arm_scmi: fix psci dependency

From: Sudeep Holla
Date: Tue May 05 2020 - 13:09:30 EST


On Tue, May 05, 2020 at 05:21:36PM +0100, Mark Rutland wrote:
> On Tue, May 05, 2020 at 04:04:21PM +0100, Sudeep Holla wrote:
> > Hi Arnd,
> >
> > 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 need to support SMCCC without PSCI? Is anyone goingto build a
> sysyem with SMCCC but no PSCI functionality?
>

May be arm32 using all new fancy specification we may come up to solve
certain areas but continue to use legacy boot/power methods. I may be
wrong. E.g: Today we enable HAVE_ARM_SMCCC for armv7 and above but not
all have PSCI enabled.

> If not, then given we can always probe SMCCC from PSCI (for both ACPI
> and DT), I'd prefer to support only support doing things that way
> around. i.e. have SMCCC depend on PSCI.
>

OK, but we still have above config.

> Otherwise I suspect we're inviting more problems than a dependency on
> PSCI.
>

Agreed and I am happy to keep it as is.

--
Regards,
Sudeep