With the introduction of on-demand DSP boot the rpm status not necessary
tells that the DSP firmware is booted up.
Introduce the sof_client_boot_dsp() which can be used to make sure that
the DSP is booted and it can handle IPCs.
Update the client drivers to use the new function where it is expected that
the DSP is booted up.
Signed-off-by: Peter Ujfalusi <[email protected]>
Reviewed-by: Bard Liao <[email protected]>
Reviewed-by: Kai Vehmanen <[email protected]>
Reviewed-by: Liam Girdwood <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Mark Brown <[email protected]>
Merge series from Peter Ujfalusi <[email protected]>:
This series improves the IPC4 probes implementation by improving the
report quality and adds support for querying the available probes
on the firmware side.
Introduce a new internal structure for wrapping the sof_client_dev and
move members away from the client visible struct that they must not
access, let alone see (sdev and the list).
The changes are mechanical in nature and contained within sof-client core
code, no functional change or change in behavior is introduced.
Signed-off-by: Peter Ujfalusi <[email protected]>
Reviewed-by: Bard Liao <[email protected]>
Reviewed-by: Ranjani Sridharan <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Remove the sof_client_dev_to_sof_dev() from the header file and add it as
a function in sof-client.c to avoid it's use by client drivers.
At the same time mark the sdev and list of sof_client_dev as restricted
fro core use only.
Signed-off-by: Peter Ujfalusi <[email protected]>
Reviewed-by: Bard Liao <[email protected]>
Reviewed-by: Ranjani Sridharan <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
Add sof_client_ipc4_find_swidget_by_id() for finding widgets from SOF
client devices. The motivation is to decode probes debugfs output to
be more readable.
Signed-off-by: Jyri Sarha <[email protected]>
Reviewed-by: Liam Girdwood <[email protected]>
Signed-off-by: Peter Ujfalusi <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
95% of the calls inside SOF to TX an IPC don't care about a reply. Yet
the previous commit cleaned up a bunch of replies that were being
populated and then thrown away. This adds some functions so users who do
not need replies don't feel obligated to provide the space to the API.
Signed-off-by: Curtis Malainey <[email protected]>
Signed-off-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Bard Liao <[email protected]>
Reviewed-by: Péter Ujfalusi <[email protected]>
Reviewed-by: Ranjani Sridharan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
A client in the SOF (Sound Open Firmware) context is a driver that needs
to communicate with the DSP via IPC messages. The SOF core is responsible
for serializing the IPC messages to the DSP from the different clients.
One example of an SOF client would be an IPC test client that floods the
DSP with test IPC messages to validate if the serialization works as
expected.
Multi-client support will also add the ability to split the existing audio
cards into multiple ones, so as to e.g. to deal with HDMI with a dedicated
client instead of adding HDMI to all cards.
This patch introduces descriptors for SOF client driver and SOF client
device along with APIs for registering and unregistering a SOF client
driver, sending IPCs from a client device and accessing the SOF core
debugfs root entry.
Along with this, add a couple of new members to struct snd_sof_dev that
will be used for maintaining the list of clients.
Signed-off-by: Ranjani Sridharan <[email protected]>
Co-developed-by: Fred Oh <[email protected]>
Signed-off-by: Fred Oh <[email protected]>
Signed-off-by: Peter Ujfalusi <[email protected]>
Reviewed-by: Kai Vehmanen <[email protected]>
Reviewed-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Ranjani Sridharan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>