ASoC: Intel: catpt: Implement IPC protocol
authorCezary Rojewski <cezary.rojewski@intel.com>
Tue, 29 Sep 2020 14:12:35 +0000 (16:12 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 2 Oct 2020 14:32:28 +0000 (15:32 +0100)
commit92946c1d7ea8c5e19a4d7b4bd8896f04dc09c655
treec0add779c86c9d9e02ecad6488c85a98d9855c5f
parent4fac9b31d0b9d3b3e9dd1408f457139f94077bc5
ASoC: Intel: catpt: Implement IPC protocol

Implement IRQ handlers for immediate and delayed replies and
notifications. Communication is synchronous and allows for serialization
of maximum one message at a time.

DSP may respond with ADSP_PENDING status for a request - known as
delayed reply - and when situation occurs, framework keeps the lock and
awaits upcoming response through IPCD channel which is handled in
bottom-half. Immediate replies spawn no BH at all as their processing is
very short.

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20200929141247.8058-3-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/catpt/core.h
sound/soc/intel/catpt/ipc.c [new file with mode: 0644]
sound/soc/intel/catpt/messages.h [new file with mode: 0644]
sound/soc/intel/catpt/registers.h