[Sound-open-firmware] SOF: Where is the purpose of host_msg ?

Daniel Baluta daniel.baluta at gmail.com
Wed Jan 23 19:50:58 CET 2019


On Wed, Jan 23, 2019 at 8:32 PM Pierre-Louis Bossart
<pierre-louis.bossart at linux.intel.com> wrote:
>
>
> >>> But it seems that all the information is exchanged via the mailbox memory.
> >>> So,
> >>> going back to my question will host_msg be used in the future?
> >>>
> > Yes, this was changed as mailbox was a more architecture neutral method of IPC
> > i.e. it did not depend on passing metadata via special registers.
>
> we still have a case for Baytrail (also reported by Daniel) where the
> IPC seems to mix commands and doorbell status:
>
> static int byt_send_msg(struct snd_sof_dev *sdev, struct snd_sof_ipc_msg
> *msg)
> {
>      u64 cmd = msg->header;
>
>      /* send the message */
>      sof_mailbox_write(sdev, sdev->host_box.offset, msg->msg_data,
>                msg->msg_size);
>      snd_sof_dsp_write64(sdev, BYT_DSP_BAR, SHIM_IPCX,
>                  cmd | SHIM_BYT_IPCX_BUSY); <<< WTH?
>
>      return 0;

There is also:
* hda_dsp_ipc_send_msg
* cnl_ipc_send_msg

It looks like cmd could be removed from all of them. Will send a patch later
if anyone agrees that ORing cmd inside the IPCX register is not needed.


More information about the Sound-open-firmware mailing list