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

Sudeep Holla
2021-06-02T08:15:58Z

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@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@arm.com>
> > Cc: Florian Fainelli <f.fainelli@gmail.com>
> > Cc: Jim Quinlan <jim2101024@gmail.com>
> > Cc: Etienne Carriere <etienne.carriere@linaro.org>
> > Signed-off-by: Sudeep Holla <sudeep.holla@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.