mbox series

[00/20] ASoC: SOF: Intel: add LunarLake support

Message ID 20230807210959.506849-1-pierre-louis.bossart@linux.intel.com
Headers show
Series ASoC: SOF: Intel: add LunarLake support | expand

Message

Pierre-Louis Bossart Aug. 7, 2023, 9:09 p.m. UTC
IMPORTANT NOTE: this patchset is dependent on Takashi's hda-intel-6.6
tag. The PCI parts will not compile without merging this tag into the
ASoC tree.

This patchset first fixes a number of errors made in the hda-mlink
support, then adds Lunar Lake definitions. The main contribution is
the hda-dai changes where the HDaudio DMA is now used for SSP, DMIC
and SoundWire. In previous hardware the GPDMA (aka DesignWare) was
used and controlled by the audio firmware. The volume of code is
minimized with the abstraction added in previous kernel cycles.

Due to cross-dependencies between ASoC and SoundWire trees, the full
support for jack detection will be deferred to the next kernel
cycle. There's not much point to ask for a sync of the two trees to
support one patch for each tree - we are at -rc5 already.

Pierre-Louis Bossart (18):
  ASoC: SOF: Intel: hda-mlink: fix off-by-one error
  ASoC: SOF: Intel: fix u16/32 confusion in LSDIID
  ASoC: SOF: ipc4-topology: restore gateway config length
  ASoC: SOF: Intel: hda: add interface definitions for ACE2.x
  ASoC: SOF: Intel: split MTL and LNL operations
  ASoC: SOF: Intel: LNL: enable DMIC/SSP offload in probe/resume
  ASoC: SOF: Intel: hda-dai-ops: add/select DMA ops for SSP
  ASoC: SOF: Intel: hda-dai: add ops for SSP
  ASoC: SOF: Intel: hda-dai: add DMIC support
  ASoC: SOF: Intel: hda-dai-ops: only allocate/release streams for first
    CPU DAI
  ASoC: SOF: Intel: hda-dai-ops: add ops for SoundWire
  ASoC: SOF: Intel: hda-dai: add helpers for SoundWire callbacks
  ASoC: SOF: Intel: hda: add hw_params/free/trigger callbacks
  ASoC: SOF: Intel: add abstraction for SoundWire wake-ups
  ASoC: SOF: Intel: hda-mlink: add helper to get sublink LSDIID register
  ASoC: SOF: Intel: hda-dai-ops: reset device count for SoundWire DAIs
  ASoC: SOF: IPC4: clarify 'pipeline_ids' usage and logs
  ASoC: SOF: Intel: hda-mlink: add sublink to dev_dbg() log

Ranjani Sridharan (2):
  ASoC: SOF: ipc4: avoid uninitialized default instance 0
  ASoC: SOF: Intel: LNL: Add support for Lunarlake platform

 include/sound/hda-mlink.h         |   4 +
 sound/soc/sof/intel/Kconfig       |  16 +++
 sound/soc/sof/intel/Makefile      |   4 +-
 sound/soc/sof/intel/cnl.c         |   2 +
 sound/soc/sof/intel/hda-dai-ops.c | 179 ++++++++++++++++++++++++-
 sound/soc/sof/intel/hda-dai.c     | 211 +++++++++++++++++++++++++++++-
 sound/soc/sof/intel/hda-mlink.c   |  45 ++++++-
 sound/soc/sof/intel/hda.c         |  58 +++++++-
 sound/soc/sof/intel/hda.h         |  21 +++
 sound/soc/sof/intel/icl.c         |   1 +
 sound/soc/sof/intel/lnl.c         | 189 ++++++++++++++++++++++++++
 sound/soc/sof/intel/mtl.c         |  23 ++--
 sound/soc/sof/intel/mtl.h         |  22 +++-
 sound/soc/sof/intel/pci-lnl.c     |  71 ++++++++++
 sound/soc/sof/intel/shim.h        |   1 +
 sound/soc/sof/intel/tgl.c         |   4 +
 sound/soc/sof/ipc4-pcm.c          |  21 +--
 sound/soc/sof/ipc4-topology.c     |   7 +
 sound/soc/sof/ipc4-topology.h     |   4 +-
 sound/soc/sof/topology.c          |   2 +
 20 files changed, 842 insertions(+), 43 deletions(-)
 create mode 100644 sound/soc/sof/intel/lnl.c
 create mode 100644 sound/soc/sof/intel/pci-lnl.c

Comments

Pierre-Louis Bossart Aug. 8, 2023, 2:23 p.m. UTC | #1
On 8/7/23 17:06, Mark Brown wrote:
> On Mon, Aug 07, 2023 at 04:09:41PM -0500, Pierre-Louis Bossart wrote:
>> Likely a combination of copy-paste and test coverage problem. Oops.
>>
>> Fixes: 87a6ddc0cf1c ("ASoC: SOF: Intel: hda-mlink: program SoundWire LSDIID registers")
>> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
>> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
>> Reviewed-by: Rander Wang <rander.wang@intel.com>
> 
> The above commit doesn't seem to be from mainline?

git log tells me it's been in your tree since April?

This was part of the series "ASoC: SOF: Intel: hda-mlink: HDaudio
multi-link", commit merge a1d68507c1cd3192785d0b9a1a476590c63e9a3c

git log 87a6ddc0cf1c
commit 87a6ddc0cf1c62dbc7c2cc4b5f764a2e992c5ba6
Author: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date:   Tue Apr 4 13:41:24 2023 +0300

    ASoC: SOF: Intel: hda-mlink: program SoundWire LSDIID registers

    Each SoundWire peripheral can be programmed from the manager side
    either with a regular command FIFO, or with the HDaudio CORB/RIRB
    DMA-based mechanism. The mapping between SoundWire peripheral and SDI
    address is handled with the LSDIID register.

    This mapping only works of course if each peripheral has a unique
    address across all links. This has already been enforced in previous
    Intel contributions allowing for an IDA-based solution for the device
    number allocation.

    The checks on the dev_num are handled at the SoundWire level, but the
    locking is handled at the hda-mlink level.

    Signed-off-by: Pierre-Louis Bossart
<pierre-louis.bossart@linux.intel.com>
    Reviewed-by: Rander Wang <rander.wang@intel.com>
    Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
    Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
    Reviewed-by: Takashi Iwai <tiwai@suse.de>
    Link:
https://lore.kernel.org/r/20230404104127.5629-16-peter.ujfalusi@linux.intel.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown Aug. 8, 2023, 5:57 p.m. UTC | #2
On Mon, 07 Aug 2023 16:09:39 -0500, Pierre-Louis Bossart wrote:
> IMPORTANT NOTE: this patchset is dependent on Takashi's hda-intel-6.6
> tag. The PCI parts will not compile without merging this tag into the
> ASoC tree.
> 
> This patchset first fixes a number of errors made in the hda-mlink
> support, then adds Lunar Lake definitions. The main contribution is
> the hda-dai changes where the HDaudio DMA is now used for SSP, DMIC
> and SoundWire. In previous hardware the GPDMA (aka DesignWare) was
> used and controlled by the audio firmware. The volume of code is
> minimized with the abstraction added in previous kernel cycles.
> 
> [...]

Applied to

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

Thanks!

[01/20] ASoC: SOF: Intel: hda-mlink: fix off-by-one error
        commit: 7075b0c91b3cd5d32b4ac7403f771a3253d3fbf6
[02/20] ASoC: SOF: Intel: fix u16/32 confusion in LSDIID
        commit: 7a52d7062e02af4a479da24b40cfd76b54c0cd6c
[03/20] ASoC: SOF: ipc4: avoid uninitialized default instance 0
        commit: defc0c638d20eec17ebb3dbf82709aba1ac2f0d4
[04/20] ASoC: SOF: ipc4-topology: restore gateway config length
        commit: ef8a29bae82fc635952de97fdd3bcf8e29d8c6be
[05/20] ASoC: SOF: Intel: hda: add interface definitions for ACE2.x
        commit: 701c0ba46fabc4715606f840119271a818209357
[06/20] ASoC: SOF: Intel: LNL: Add support for Lunarlake platform
        commit: 64a63d9914a5e9278fcd81c6dbc095fc84b772d2
[07/20] ASoC: SOF: Intel: split MTL and LNL operations
        commit: c22d53279709c46f2e19caf2886e38cee93d07ea
[08/20] ASoC: SOF: Intel: LNL: enable DMIC/SSP offload in probe/resume
        commit: e78576c4aa0d5b7185e1f5188578d9bfb2d43d4b
[09/20] ASoC: SOF: Intel: hda-dai-ops: add/select DMA ops for SSP
        commit: 12547730e5b7c41e2203003cda74f39f43739c53
[10/20] ASoC: SOF: Intel: hda-dai: add ops for SSP
        commit: a8338e76457c14c56bb13fbb16c8607e80498499
[11/20] ASoC: SOF: Intel: hda-dai: add DMIC support
        commit: b6c508b46d84d88e617d8b9f38ffbe60470589d0
[12/20] ASoC: SOF: Intel: hda-dai-ops: only allocate/release streams for first CPU DAI
        commit: f8ba62ac863c33fc0d8ac3f1270985c2b77f4377
[13/20] ASoC: SOF: Intel: hda-dai-ops: add ops for SoundWire
        commit: bb0b992c1bb94e44ba40f82ddb2c4e6d5c9fcc9e
[14/20] ASoC: SOF: Intel: hda-dai: add helpers for SoundWire callbacks
        commit: 2960ee5c4814ee50b7b9f030dd99382623a4d7f0
[15/20] ASoC: SOF: Intel: hda: add hw_params/free/trigger callbacks
        commit: 186ca4b522fec020f0201d4fcef09ea58b4d5701
[16/20] ASoC: SOF: Intel: add abstraction for SoundWire wake-ups
        commit: 9362ab78f175db2003674e008ef1b8917725d502
[17/20] ASoC: SOF: Intel: hda-mlink: add helper to get sublink LSDIID register
        commit: 34e38f03d7e77141ef6879c69ca55fc2a44b9f2e
[18/20] ASoC: SOF: Intel: hda-dai-ops: reset device count for SoundWire DAIs
        commit: 699e146d9ebf42ee2a5d4e4e28f7a49c4aef0105
[19/20] ASoC: SOF: IPC4: clarify 'pipeline_ids' usage and logs
        commit: 1eaff2647eb1dfbaa500fb5f28e032db5ad35b70
[20/20] ASoC: SOF: Intel: hda-mlink: add sublink to dev_dbg() log
        commit: 02c7f8729a5a1e78412177482372c3124edd4d62

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