Messages in this thread | | | Date | Tue, 14 Jan 2020 16:41:10 +0530 | From | Viresh Kumar <> | Subject | Re: [PATCH V2] firmware: arm_scmi: Make scmi core independent of transport type |
| |
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 ?
-- viresh
| |