ASoC: Intel: avs: New IRQ handling implementation
authorCezary Rojewski <cezary.rojewski@intel.com>
Fri, 19 Apr 2024 08:48:56 +0000 (10:48 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 19 Apr 2024 09:57:05 +0000 (18:57 +0900)
commit7ce6ceeb77bfd9fb0b22203190bd6f57fe917b51
tree5b59a1e4092287e48892b0f68b3e9b3d76b7c616
parent9be51470d514eb20d4ce29684cf933ef1c5fff48
ASoC: Intel: avs: New IRQ handling implementation

The existing code can be both improved and simplified. To make this
change easier to manage, first add new implementation and then remove
deadcode in a separate patch.

Simplification achieved with:
- reduce the amount of resources requested by the driver i.e.: IPC and
  CLDMA request_irq() merged into one
- reduce the number of DSP ops from 2 to 1:
  irq_handler/thread() vs dsp_interrupt()
- drop ambiguity around CLDMA interrupt, let skl.c handle that
  explicitly as it is the only user

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20240419084857.2719593-2-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/avs/apl.c
sound/soc/intel/avs/avs.h
sound/soc/intel/avs/cldma.c
sound/soc/intel/avs/cldma.h
sound/soc/intel/avs/cnl.c
sound/soc/intel/avs/core.c
sound/soc/intel/avs/icl.c
sound/soc/intel/avs/skl.c
sound/soc/intel/avs/tgl.c