]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: SOF: Introduce IPC SOF client support
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Thu, 10 Feb 2022 15:05:21 +0000 (17:05 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 10 Feb 2022 15:19:06 +0000 (15:19 +0000)
commitc9ef35326b0a376e3fb7ce0c88a9fec0a1f4726c
tree4a127dc96c3146554df80f6e71c94ed05bbe3939
parentf8dc64b40ee947ee339d9443a9048f2b80232034
ASoC: SOF: Introduce IPC SOF client support

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 <ranjani.sridharan@linux.intel.com>
Co-developed-by: Fred Oh <fred.oh@linux.intel.com>
Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20220210150525.30756-6-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/Kconfig
sound/soc/sof/Makefile
sound/soc/sof/core.c
sound/soc/sof/ipc.c
sound/soc/sof/sof-client.c [new file with mode: 0644]
sound/soc/sof/sof-client.h [new file with mode: 0644]
sound/soc/sof/sof-priv.h