mbox series

[00/10] ASoC: Intel: avs: Fixes and new platforms support

Message ID 20240220115035.770402-1-cezary.rojewski@intel.com
Headers show
Series ASoC: Intel: avs: Fixes and new platforms support | expand

Message

Cezary Rojewski Feb. 20, 2024, 11:50 a.m. UTC
The avs-driver continues to be utilized on more recent Intel machines.
As TGL-based (cAVS 2.5) e.g.: RPL, inherit most of the functionality
from previous platforms:

SKL <- APL <- CNL <- ICL <- TGL

rather than putting everything into a single file, the platform-specific
bits are split into cnl/icl/tgl.c files instead. Makes the division clear
and code easier to maintain.

Layout of the patchset:

First are two changes combined together address the sound-clipping
problem, present when only one stream is running - specifically one
CAPTURE stream.

Follow up is naming-scheme adjustment for some of the existing functions
what improves code incohesiveness. As existing IPC/IRQ code operates
solely on cAVS 1.5 architecture, it needs no abstraction. The situation
changes when newer platforms come into the picture. Thus the next two
patches abstract the existing IPC/IRQ handlers so that majority of the
common code can be re-used.

The ICCMAX change stands out a bit - the AudioDSP firmware loading
procedure differs on ICL-based platforms (and onwards) and having a
separate commit makes the situation clear to the developers who are
going to support the solution from LTS perspective. For that reason
I decided not to merge it into the commit introducing the icl.c file.

Cezary Rojewski (10):
  ASoC: Intel: avs: L1SEN reference counted
  ASoC: Intel: avs: Fix sound clipping in single capture scenario
  ASoC: Intel: avs: Prefix SKL/APL-specific members
  ASoC: Intel: avs: Abstract IPC handling
  ASoC: Intel: avs: Abstract IRQ handling
  ASoC: Intel: avs: CNL-based platforms support
  ASoC: Intel: avs: ICL-based platforms support
  ASoC: Intel: avs: TGL-based platforms support
  ASoC: Intel: avs: ICCMAX recommendations for ICL+ platforms
  ASoC: Intel: avs: Populate board selection with new I2S entries

 include/sound/hda_register.h          |   2 +
 sound/soc/intel/avs/Makefile          |   2 +-
 sound/soc/intel/avs/apl.c             |  58 ++++----
 sound/soc/intel/avs/avs.h             |  66 ++++++---
 sound/soc/intel/avs/board_selection.c |  85 +++++++++++
 sound/soc/intel/avs/cnl.c             |  61 ++++++++
 sound/soc/intel/avs/core.c            | 160 ++++++++++++++++++---
 sound/soc/intel/avs/icl.c             | 197 ++++++++++++++++++++++++++
 sound/soc/intel/avs/ipc.c             |  66 +++------
 sound/soc/intel/avs/loader.c          |   2 +-
 sound/soc/intel/avs/messages.c        |   1 +
 sound/soc/intel/avs/messages.h        |  38 ++++-
 sound/soc/intel/avs/pcm.c             |  77 +++++++++-
 sound/soc/intel/avs/registers.h       |  21 ++-
 sound/soc/intel/avs/skl.c             |  59 +++++---
 sound/soc/intel/avs/tgl.c             |  54 +++++++
 16 files changed, 807 insertions(+), 142 deletions(-)
 create mode 100644 sound/soc/intel/avs/cnl.c
 create mode 100644 sound/soc/intel/avs/icl.c
 create mode 100644 sound/soc/intel/avs/tgl.c

Comments

Mark Brown Feb. 21, 2024, 12:57 p.m. UTC | #1
On Tue, 20 Feb 2024 12:50:25 +0100, Cezary Rojewski wrote:
> The avs-driver continues to be utilized on more recent Intel machines.
> As TGL-based (cAVS 2.5) e.g.: RPL, inherit most of the functionality
> from previous platforms:
> 
> SKL <- APL <- CNL <- ICL <- TGL
> 
> rather than putting everything into a single file, the platform-specific
> bits are split into cnl/icl/tgl.c files instead. Makes the division clear
> and code easier to maintain.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[01/10] ASoC: Intel: avs: L1SEN reference counted
        commit: 1b72943ab1159ad27c11a302644fabb8bc2881bb
[02/10] ASoC: Intel: avs: Fix sound clipping in single capture scenario
        commit: e1a0cbae52d0bf3cb350eba5c95c46c14a5bcda4
[03/10] ASoC: Intel: avs: Prefix SKL/APL-specific members
        commit: a8f858d98f016a0209edaf1518fd45a5e5c62d47
[04/10] ASoC: Intel: avs: Abstract IPC handling
        commit: 7576e2f4d99df6efabb77f52b9539fd345233aee
[05/10] ASoC: Intel: avs: Abstract IRQ handling
        commit: 97bd565ff5a2fc89d302f9919fde37fadf51b645
[06/10] ASoC: Intel: avs: CNL-based platforms support
        commit: 8a6502ade116bc4b8293f094f8d74059c67c3f27
[07/10] ASoC: Intel: avs: ICL-based platforms support
        commit: 275b583d047a23c48d01b0c45fb5d95618c1da2d
[08/10] ASoC: Intel: avs: TGL-based platforms support
        commit: 5acb19ecd1982bd1578912473b33df75a23fefc2
[09/10] ASoC: Intel: avs: ICCMAX recommendations for ICL+ platforms
        commit: 36478a74c7ddaf58d80da5cef9c5ddb5beed5a2e
[10/10] ASoC: Intel: avs: Populate board selection with new I2S entries
        commit: 5b417fe0cded0b5917683398e6519aae8045cd40

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark