[PATCH 1/8] mailbox: introduce ARM SMC based mailbox
From: Sudeep Holla <hidden>
Date: 2017-07-24 17:39:23
Also in:
linux-devicetree, lkml
On 24/07/17 18:20, Jassi Brar wrote:
On Mon, Jul 24, 2017 at 4:50 AM, Andr? Przywara [off-list ref] wrote:quoted
On 02/07/17 06:55, Jassi Brar wrote:quoted
quoted
+ mbox_chan_received_data(link, (void *)res.a0); +Or you can update the 'data' with value from 'a0' ?Mmh, I am a bit puzzled by this. Why would this be needed or useful?I meant instead of calling mbox_chan_received_data(), simply update the value at 'data' with res.a0 Technically the firmware does not "send" us a message. It only updates the structure we share with it. So maybe we could reflect that by updating the data pointer the client driver asked to send. Also it is optional for clients to provide the rx_callback(). By calling mbox_chan_received_data() you mandate clients provide that callback. Nothing serious, just that looking closely, updating 'data' seems a better option.quoted
I see that the SCPI firmware driver (as the user of the mailbox API) is expecting the return value from a0 as returned above, translating the firmware error codes into Linux' ones.I am afraid, SCPI driver is not the golden example for client drivers to follow. It is supposed to work only with MHU, and then, it is likely to break if some other protocol is running parallel to it.
Not sure why do you say it works only with ARM MHU ? AmLogic uses it with their mailbox driver. However they followed an interim version of the SCPI spec which is termed "legacy" in the driver. -- Regards, Sudeep