mbox series

[0/3] ASoC: SOF: ipc4/intel: Support for ChainDMA

Message ID 20230321092654.7292-1-peter.ujfalusi@linux.intel.com (mailing list archive)
Headers show
Series ASoC: SOF: ipc4/intel: Support for ChainDMA | expand

Message

Peter Ujfalusi March 21, 2023, 9:26 a.m. UTC
Hi,

On a platform when the DSP is in use, we cannot select individual links to use
or not use the DSP, it is either all or none.
On some audio endpoint, like HDMI/DP, it is preferred to not use any processing
in DSP to reduce the latency and to allow bytestream pass-through (DTS, DD, etc)

IPC4 introduces a new type of end-to-end connection within the DSP which is using
the host DMA and link DMA in a single buffer, working back-to-back, passing the
received data without looking at it or trying to understand the format, content.

This mode reduces the latency and allows non PCM streams to be sent from
userspace.

The feature is enabled per PCM bases, signalled in topology.

Regards,
Peter
---
Jyri Sarha (2):
  ASoC: SOF: ipc4: Add macros for chain-dma message bits
  ASoC: SOF: ipc4/intel: Add support for chained DMA

Ranjani Sridharan (1):
  ASoC: SOF: topology: Set pipeline widget before updating IPC
    structures

 include/sound/sof/ipc4/header.h   |  29 +++++++
 include/uapi/sound/sof/tokens.h   |   1 +
 sound/soc/sof/intel/hda-dai-ops.c |  18 ++++-
 sound/soc/sof/ipc4-pcm.c          | 122 +++++++++++++++++++++++++++++-
 sound/soc/sof/ipc4-topology.c     | 120 ++++++++++++++++++++++++++++-
 sound/soc/sof/ipc4-topology.h     |   2 +
 sound/soc/sof/topology.c          |  48 ++++++------
 7 files changed, 308 insertions(+), 32 deletions(-)

Comments

Mark Brown March 22, 2023, 3:26 p.m. UTC | #1
On Tue, 21 Mar 2023 11:26:51 +0200, Peter Ujfalusi wrote:
> On a platform when the DSP is in use, we cannot select individual links to use
> or not use the DSP, it is either all or none.
> On some audio endpoint, like HDMI/DP, it is preferred to not use any processing
> in DSP to reduce the latency and to allow bytestream pass-through (DTS, DD, etc)
> 
> IPC4 introduces a new type of end-to-end connection within the DSP which is using
> the host DMA and link DMA in a single buffer, working back-to-back, passing the
> received data without looking at it or trying to understand the format, content.
> 
> [...]

Applied to

   broonie/sound.git for-next

Thanks!

[1/3] ASoC: SOF: topology: Set pipeline widget before updating IPC structures
      commit: 3d3e223f09ed59f7a47d27cf4301b4d0d5c7fc3d
[2/3] ASoC: SOF: ipc4: Add macros for chain-dma message bits
      commit: cb3cdef33136baceada86ba2a21ba30cd53a9087
[3/3] ASoC: SOF: ipc4/intel: Add support for chained DMA
      commit: ca5ce0caa67fa9eeecaa29d895c2e4c3151c159e

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
Mark Brown March 23, 2023, 1:49 p.m. UTC | #2
On Tue, 21 Mar 2023 11:26:51 +0200, Peter Ujfalusi wrote:
> On a platform when the DSP is in use, we cannot select individual links to use
> or not use the DSP, it is either all or none.
> On some audio endpoint, like HDMI/DP, it is preferred to not use any processing
> in DSP to reduce the latency and to allow bytestream pass-through (DTS, DD, etc)
> 
> IPC4 introduces a new type of end-to-end connection within the DSP which is using
> the host DMA and link DMA in a single buffer, working back-to-back, passing the
> received data without looking at it or trying to understand the format, content.
> 
> [...]

Applied to

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

Thanks!

[1/3] ASoC: SOF: topology: Set pipeline widget before updating IPC structures
      commit: 3d3e223f09ed59f7a47d27cf4301b4d0d5c7fc3d
[2/3] ASoC: SOF: ipc4: Add macros for chain-dma message bits
      commit: cb3cdef33136baceada86ba2a21ba30cd53a9087
[3/3] ASoC: SOF: ipc4/intel: Add support for chained DMA
      commit: ca5ce0caa67fa9eeecaa29d895c2e4c3151c159e

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