From: Karl Li <karl.li@xxxxxxxxxxxx>
Within the MediaTek APU subsystem, a message passing mechanism
is constructed on top of the mailbox system.
The mailbox only has limited space for each message. The MTK APU firmware
expects the message header from the mailbox, while the message body
is passed through some fixed shared memory.
The mailbox interrupt also serves as a mutex for the shared memory.
Thus the interrupt may only be cleared after the message is handled.
Add a new sleepable rx callback for mailbox clients for cases
where handling the incoming data needs to sleep.
Signed-off-by: Karl Li <karl.li@xxxxxxxxxxxx>