On Thu, Aug 01, 2019 at 12:56:36PM +0300, Daniel Baluta wrote:
> Some of i.MX8 processors (e.g i.MX8QM, i.MX8QXP) contain
> the Tensilica HiFi4 DSP for advanced pre- and post-audio
> processing.
> 
> The communication between Host CPU and DSP firmware is
> taking place using a shared memory area for message passing
> and a dedicated Messaging Unit for notifications.
> 
> DSP IPC protocol offers a doorbell interface using
> imx-mailbox API.
> 
> We use 4 MU channels (2 x TXDB, 2 x RXDB) to implement a
> request-reply protocol.
> 
> Connection 0 (txdb0, rxdb0):
>         - Host writes messasge to shared memory [SHMEM]
>       - Host sends a request [MU]
>       - DSP handles request [SHMEM]
>       - DSP sends reply [MU]
> 
> Connection 1 (txdb1, rxdb1):
>       - DSP writes a message to shared memory [SHMEM]
>       - DSP sends a request [MU]
>       - Host handles request [SHMEM]
>       - Host sends reply [MU]
> 
> The protocol interface will be used by a Host client to
> communicate with the DSP. First client will be the i.MX8
> part from Sound Open Firmware infrastructure.
> 
> The protocol offers the following interface:
> 
> On Tx:
>    - imx_dsp_ring_doorbell, will be called to notify the DSP
>    that it needs to handle a request.
> 
> On Rx:
>    - clients need to provide two callbacks:
>       .handle_reply
>       .handle_request
>   - the callbacks will be used by the protocol on
>     notification arrival from DSP.
> 
> Signed-off-by: Daniel Baluta <[email protected]>

Applied, thanks.

Reply via email to