The SKL aDSP needs to send and receive IPCs to and from aDSP. To aid this we add IPC and aDSP management routines as a library for driver to use. For most of IPC handling we use the common IPC Intel code in place and add the messaging and message parsing bits on top.
First 2 patches are against common IPC code and can be applied independently Last two add IPC handling and aDSP management routines
v3 changes: - sst_dsp_register_poll uses opportunistic polling and polls for first few instances using mdelay and later sleeps - s/skl_ipc_reply_find_msg/skl_ipc_reply_get_msg - return IRQ_NONE when interrupt in not handled - removed trace_printk and superfluous cast to/from void *
Subhransu S. Prusty (4): ASoC: Intel: Add helper to poll register for DSP status ASoC: Intel: Add helper to update register bits with attr RWC ASoC: Intel: Add Skylake IPC library ASoC: Intel: Add DSP init and boot up functionality for SKL
sound/soc/intel/Kconfig | 1 + sound/soc/intel/common/sst-dsp-priv.h | 8 + sound/soc/intel/common/sst-dsp.c | 71 ++++ sound/soc/intel/common/sst-dsp.h | 6 + sound/soc/intel/skylake/Makefile | 5 + sound/soc/intel/skylake/skl-sst-dsp.c | 337 +++++++++++++++ sound/soc/intel/skylake/skl-sst-dsp.h | 57 +++ sound/soc/intel/skylake/skl-sst-ipc.c | 760 ++++++++++++++++++++++++++++++++++ sound/soc/intel/skylake/skl-sst-ipc.h | 125 ++++++ 9 files changed, 1370 insertions(+) create mode 100644 sound/soc/intel/skylake/skl-sst-dsp.c create mode 100644 sound/soc/intel/skylake/skl-sst-ipc.c create mode 100644 sound/soc/intel/skylake/skl-sst-ipc.h