[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AM0PR04MB448109C21B4C6A2C923FF4D988370@AM0PR04MB4481.eurprd04.prod.outlook.com>
Date: Wed, 15 Jan 2020 08:20:26 +0000
From: Peng Fan <peng.fan@....com>
To: Arnd Bergmann <arnd@...db.de>,
Viresh Kumar <viresh.kumar@...aro.org>
CC: Jassi Brar <jassisinghbrar@...il.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"cristian.marussi@....com" <cristian.marussi@....com>,
Sudeep Holla <sudeep.holla@....com>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>
Subject: RE: [PATCH V2] firmware: arm_scmi: Make scmi core independent of
transport type
> Subject: Re: [PATCH V2] firmware: arm_scmi: Make scmi core independent of
> transport type
>
> On Tue, Jan 14, 2020 at 12:11 PM Viresh Kumar <viresh.kumar@...aro.org>
> wrote:
> >
> > On 14-01-20, 10:56, Arnd Bergmann wrote:
> > > My point was that you cannot mix __iomem accesses with pointer
> > > accesses. As I understood it, the current version uses a pointer to
> > > a
> >
> > The current version is stupid as I misunderstood the whole __iomem
> > thing and just dropped it :)
> >
> > > hardware mailbox with structured data, so you have to use ioremap()
> > > to get a token you can pass into ioread(), but (some of) the new
> > > transport types would just be backed by regular RAM, on which this
> > > is not a well-defined operation and you have to use memremap() and
> > > memcpy() instead.
> >
> > Okay, I think I understand that a bit now. So here are the things
> > which I may need to do now:
> >
> > - Maybe move payload to struct scmi_mailbox structure, as that is the
> > transport dependent structure..
> >
> > - Do ioremap, etc in mailbox.c only instead of driver.c
> >
> > - Provide more ops in struct scmi_transport_ops to provide read/write
> > helpers to the payload and implement the ones based on
> > ioread/iowrite in mailbox.c ..
> >
> > Am I thinking in the right direction now ?
>
> That sounds about right. What I'm still not sure about is whether the current
> kernel code is actually correct and should use iomeap() in the first place. Can
> you confirm that all current hardware implementations actually use MMIO
> type registers here rather than just rely on a buffer in RAM?
i.MX8(alought not use SCMI) use MU(message unit) to transfer data between
Acore and Mcore firmware, not using shared memory.
Thanks,
Peng.
>
> Arnd
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@...ts.infradead.org
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.infr
> adead.org%2Fmailman%2Flistinfo%2Flinux-arm-kernel&data=02%7C01
> %7Cpeng.fan%40nxp.com%7C1b3e0ec89bde469abfd008d798e36c89%7C686
> ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637145974848395212&a
> mp;sdata=PKDDHvz0M45%2B31vSfWCxwxiDEEY8tQxkmL9AzfzRoSM%3D&a
> mp;reserved=0
Powered by blists - more mailing lists