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]