Skylake driver is divided into two modules: - snd_soc_skl - snd_soc_skl_ipc
and nothing would be wrong if not for the fact that both cannot exist without one another. IPC module is not some kind of extension, as it is the case for snd_hda_ext_core which is separated from snd_hda_core - legacy hda interface. It's as much core Skylake module as snd_soc_skl is.
Statement backup by existence of circular dependency between this two. To eliminate said problem, struct skl_sst has been created. From that momment, Skylake has been plagued by header errors (incomplete sturcts, unknown references etc.) whenever something new is to be added or code is cleaned up.
Fix this flawed design by merging snd_soc_skl and snd_soc_skl_ipc. Also, do not forget about struct skl_sst redundancy. Followup changes address harmful assumptions and false logic which driver currently implements e.g.: attempt to take role of master for DSP scheduling when in fact entire control takes place in DSP.
Changes since v1: - Rebased onto 5.4
Amadeusz Sławiński (2): ASoC: Intel: Skylake: Combine snd_soc_skl_ipc and snd_soc_skl ASoC: Intel: Skylake: Do not disable FW notifications
Cezary Rojewski (5): ASoC: Intel: Skylake: Merge skl_sst and skl into skl_dev struct ASoC: Intel: Skylake: Remove MCPS available check ASoC: Intel: Skylake: Remove memory available check ASoC: Intel: Skylake: Make MCPS and CPS params obsolete ASoC: Intel: Skylake: Cleanup skl_module_cfg declaration
sound/soc/intel/common/sst-ipc.h | 1 + sound/soc/intel/skylake/Makefile | 12 +- sound/soc/intel/skylake/bxt-sst.c | 50 +-- sound/soc/intel/skylake/cnl-sst-dsp.h | 7 +- sound/soc/intel/skylake/cnl-sst.c | 37 +- sound/soc/intel/skylake/skl-debug.c | 14 +- sound/soc/intel/skylake/skl-messages.c | 245 ++++++------- sound/soc/intel/skylake/skl-nhlt.c | 18 +- sound/soc/intel/skylake/skl-pcm.c | 74 ++-- sound/soc/intel/skylake/skl-ssp-clk.c | 4 +- sound/soc/intel/skylake/skl-sst-dsp.c | 10 +- sound/soc/intel/skylake/skl-sst-dsp.h | 29 +- sound/soc/intel/skylake/skl-sst-ipc.c | 8 +- sound/soc/intel/skylake/skl-sst-ipc.h | 52 +-- sound/soc/intel/skylake/skl-sst-utils.c | 37 +- sound/soc/intel/skylake/skl-sst.c | 51 +-- sound/soc/intel/skylake/skl-topology.c | 441 ++++++++---------------- sound/soc/intel/skylake/skl-topology.h | 43 +-- sound/soc/intel/skylake/skl.c | 54 +-- sound/soc/intel/skylake/skl.h | 102 ++++-- 20 files changed, 546 insertions(+), 743 deletions(-)