[PATCH 0/2] ASoC: Intel: avs: Refactor IRQ handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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

With that done, switch to the new implementation and remove unused
members. While the change is non-trivial, from functional perspective
status quo is achieved.

Cezary Rojewski (2):
  ASoC: Intel: avs: New IRQ handling implementation
  ASoC: Intel: avs: Remove unused IRQ-related code

 sound/soc/intel/avs/apl.c   | 20 +++++++-
 sound/soc/intel/avs/avs.h   |  8 ++--
 sound/soc/intel/avs/cldma.c | 42 ++++-------------
 sound/soc/intel/avs/cldma.h |  1 +
 sound/soc/intel/avs/cnl.c   | 91 ++++++++++++++++++++++++-------------
 sound/soc/intel/avs/core.c  | 85 ++++++++++++++++------------------
 sound/soc/intel/avs/icl.c   |  3 +-
 sound/soc/intel/avs/ipc.c   | 48 -------------------
 sound/soc/intel/avs/skl.c   | 73 +++++++++++++++++++++--------
 sound/soc/intel/avs/tgl.c   |  3 +-
 10 files changed, 186 insertions(+), 188 deletions(-)

-- 
2.25.1





[Index of Archives]     [Pulseaudio]     [Linux Audio Users]     [ALSA Devel]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux