mailbox: sprd: Add supplementary inbox support
authorOrson Zhai <orson.zhai@unisoc.com>
Fri, 19 Mar 2021 06:15:37 +0000 (14:15 +0800)
committerJassi Brar <jaswinder.singh@linaro.org>
Wed, 14 Apr 2021 01:07:36 +0000 (20:07 -0500)
commit6457f4cd7810fdd1bd7d261845898292e632ede8
tree0a87ef3b3c9d6ef2a988aed5ed186e75783093dd
parent6203b954fc2360e272846da168cfe77dffdb6da9
mailbox: sprd: Add supplementary inbox support

Some sensors connected to Unisoc mailbox will send data very frequently.
This makes channel 0 very busy and the messages from other remote cores
not able to be handled as soon as possible.

It's a trick (un-documented) from Unisoc ASIC designers to resolve this
special requirement that an inbox assigned to one of the remote cores
before was modified to be exposed to host cpu core.

Then from host side, a supplementary inbox is added for transferring mass
but not emergency messages from the remote cores, such as step counting
sensor, with an independent FIFO and interrupt which is as same as channel
0. Meanwihle, inbox part of this channel is still kept for original remote
core to use.

Signed-off-by: Orson Zhai <orson.zhai@unisoc.com>
Reviewed-by: Baolin Wang <baolin.wang7@gmail.com>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
drivers/mailbox/sprd-mailbox.c