ASoC: Intel: avs: Inter process communication
authorCezary Rojewski <cezary.rojewski@intel.com>
Fri, 11 Mar 2022 15:35:31 +0000 (16:35 +0100)
committerMark Brown <broonie@kernel.org>
Fri, 11 Mar 2022 16:23:55 +0000 (16:23 +0000)
commit2879516fcd6d7ec5972762dbd94859d9221e70d8
tree825a3254fab2767df4ad5b0f6aa565e515364070
parent9fe51c559a862d6c884f6784de26c8f9463187b1
ASoC: Intel: avs: Inter process communication

Implement the IPC between Intel audio firmware and kernel driver. The
IPC allows transmission of requests, handling of responses as well as
unsolicited (i.e. firmware-generated) notifications.

A subscription mechanism is added to enable different parts of the
driver to register for specific notifications.

The part of the DSP boot process that involves sending ROM message
requires an extra step - must be followed by unstall operation of
MAIN_CORE. All other types of messages do not require such specific
handling, so separate set of functions is provided for sending these.

Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20220311153544.136854-5-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/avs/Makefile
sound/soc/intel/avs/avs.h
sound/soc/intel/avs/ipc.c [new file with mode: 0644]
sound/soc/intel/avs/messages.h [new file with mode: 0644]
sound/soc/intel/avs/registers.h