linux icon indicating copy to clipboard operation
linux copied to clipboard

ASoC: SOF: ipc4-topology: Advertise passthrough capable PCMs (using ChainDMA)

Open ujfalusi opened this issue 1 year ago • 6 comments

If a PCM is set to use ChainDMA then add it to the card->components string
after a marker of iec61937-pcm:, for example on current HDA platforms where
HDMI is set to use ChainDMA:
iec61937-pcm:5,4,3 (the ordr of the PCM ids can differ)

UCM is expected to parse and use this property to allow applications to
use bytsestream passthrough in a standard way.

ujfalusi avatar Apr 12 '24 11:04 ujfalusi

Changes since v1:

  • replace 'hdmi-pt:1' with a simple 'hdmi-pt'

ujfalusi avatar Apr 12 '24 14:04 ujfalusi

Changes since v2:

  • depends on https://github.com/thesofproject/linux/pull/4928 because now the old components string is freed.
  • the new implementation will collect the PCM ids after a iec958-pcm: tag and user space is expected to use this to figure things out (on HDA board we know that PCM 3-5 is the HDMI for example)

Likely going to WARN on HDA setups with dmic....

ujfalusi avatar Apr 16 '24 13:04 ujfalusi

Changes since v3:

  • Updated the commit message to reflect the hdmi-pt -> iec958-pcm: change

ujfalusi avatar Apr 17 '24 06:04 ujfalusi

Changes since v4:

  • replaced the iec958-pcm with iec61937-pcm (iec958 is S/PDIF, iec61937 is the bytestream standard)

ujfalusi avatar Apr 17 '24 09:04 ujfalusi

Changes since v5:

  • fixed typos in commit message

ujfalusi avatar Apr 17 '24 18:04 ujfalusi

@plbossart, @kv2019i, @ranj063, I guess the main question around this is: will it scale to S/PDIF PCM and how we will deal with compress? Compress is, well, compressed and it has it's own API to query what it supports, so... I think this should scale for normal PCMs.

ujfalusi avatar Apr 18 '24 05:04 ujfalusi

Accompanying UCM patches: https://github.com/ujfalusi/alsa-ucm-conf/commits/topic/sof-hdmi/

ujfalusi avatar Apr 18 '24 07:04 ujfalusi