On 1/22/19 1:35 AM, Daniel Baluta wrote:
+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);
I was wondering if the mailbox shared memory wouldn't be better
implemented as a queue.
Do you support playing multiple streams in parallel?
We have this use case where we need to to memory to memory
decoding/encoding with lots
of streams in parallel.
Sorry Daniel, I didn't get your point.
we do support multiple streams in parallel and there's been quite a few
issues fixed in the IPC mechanisms due to concurrency. The IPC mechanism
is serialized however since there are only few resources available,
typically only a couple of doorbell registers and a small memory window.
For multiple streams the PCM data is exchanged over DMA typically - the
streams don't go over the IPC channel but the information related to a
stream is passed using a tag or ID.
Can you clarify what you had in mind?
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel