[0/7] ASoC: Intel: Skylake: Driver fundaments overhaul
mbox series

Message ID 20190704200106.11289-1-cezary.rojewski@intel.com
Headers show
Series
  • ASoC: Intel: Skylake: Driver fundaments overhaul
Related show

Message

Cezary Rojewski July 4, 2019, 8 p.m. UTC
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.

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(-)