[PATCH 2/2] firmware: arm_scmi: Add compatibility checks for shmem node

Etienne Carriere etienne.carriere at linaro.org
Thu Jun 3 11:19:26 PDT 2021


On Wed, 2 Jun 2021 at 09:53, Sudeep Holla <sudeep.holla at arm.com> wrote:
>
> On Wed, Jun 02, 2021 at 09:44:40AM +0200, Etienne Carriere wrote:
> > On Wed, 2 Jun 2021 at 09:37, Sudeep Holla <sudeep.holla at arm.com> wrote:
> > >
> > > On Wed, Jun 02, 2021 at 09:33:03AM +0200, Etienne Carriere wrote:
> > > > Hello Sudeep,
> > > >
> > > >
> > > > On Wed, 2 Jun 2021 at 00:51, Sudeep Holla <sudeep.holla at arm.com> wrote:
> > > > >
> > > > > The shared memory node used for communication between the firmware and
> > > > > the OS should be compatible with "arm,scmi-shmem". Add the check for the
> > > > > same while parsing the node before fetching the memory regions.
> > > > >
> > > > > Cc: Cristian Marussi <cristian.marussi at arm.com>
> > > > > Cc: Florian Fainelli <f.fainelli at gmail.com>
> > > > > Cc: Jim Quinlan <jim2101024 at gmail.com>
> > > > > Cc: Etienne Carriere <etienne.carriere at linaro.org>
> > > > > Signed-off-by: Sudeep Holla <sudeep.holla at arm.com>
> > > > > ---
> > > > >  drivers/firmware/arm_scmi/mailbox.c | 3 +++
> > > > >  drivers/firmware/arm_scmi/smc.c     | 3 +++
> > > > >  2 files changed, 6 insertions(+)
> > > > >
> > > > > diff --git a/drivers/firmware/arm_scmi/mailbox.c b/drivers/firmware/arm_scmi/mailbox.c
> > > > > index 4626404be541..e3dcb58314ae 100644
> > > > > --- a/drivers/firmware/arm_scmi/mailbox.c
> > > > > +++ b/drivers/firmware/arm_scmi/mailbox.c
> > > > > @@ -69,6 +69,9 @@ static int mailbox_chan_setup(struct scmi_chan_info *cinfo, struct device *dev,
> > > > >                 return -ENOMEM;
> > > > >
> > > > >         shmem = of_parse_phandle(cdev->of_node, "shmem", idx);
> > > > > +       if (!of_device_is_compatible(shmem, "arm,scmi-shmem"))
> > > > > +               return -ENXIO;
> > > >
> > > > Before this change, one could use another type of memory node, like "mmio-sram".
> > > > Is there a strong reason to enforce use of "arm,scmi-shmem" nodes?
> > > >
> > >
> > > No that is for the entire SRAM which still holds and generic on-chip SRAM
> > > driver will take care of that, this is only for the subsections that is
> > > reserved for the scp shmem. The binding has been always there, just the
> > > missing check. When I move to yaml, I realised that and hence the
> > > addition of check.
> >
> > Ok, I understand. True the binding was there but only in the DTS
> > examples snipped.
> > This constraint on the compatible property of the shmem node should be
> > clearly stated in the yaml I think.
> >
>
> Was this missing in your DTS files ? Just curious.

Yes it was :(

>
> --
> Regards,
> Sudeep



More information about the linux-arm-kernel mailing list