[PATCH v7 0/7] ASoC: qcom: add AudioReach TDM backend support

Prasad Kumpatla posted 7 patches 1 month, 4 weeks ago
.../bindings/sound/qcom,sm8250.yaml           |  26 +++
.../sound/qcom,q6dsp-lpass-ports.h            |  29 ++++
include/uapi/sound/snd_ar_tokens.h            |  93 +++++++++++
sound/soc/qcom/common.c                       | 155 ++++++++++++++++++
sound/soc/qcom/common.h                       |  14 ++
sound/soc/qcom/qdsp6/audioreach.c             |  93 +++++++++++
sound/soc/qcom/qdsp6/audioreach.h             |  90 ++++++++++
sound/soc/qcom/qdsp6/q6apm-lpass-dais.c       |  60 +++++++
sound/soc/qcom/qdsp6/q6prm-clocks.c           |  28 ++++
sound/soc/qcom/qdsp6/q6prm.h                  |  29 ++++
sound/soc/qcom/qdsp6/topology.c               | 103 ++++++++++++
sound/soc/qcom/sc8280xp.c                     |  59 +++++++
12 files changed, 779 insertions(+)
[PATCH v7 0/7] ASoC: qcom: add AudioReach TDM backend support
Posted by Prasad Kumpatla 1 month, 4 weeks ago
Add AudioReach support for LPASS Audio IF based TDM backends and wire it
up for the sc8280xp machine driver.

The series first adds topology-driven Audio IF source/sink handling so
the DSP interface parameters can be described by topology while runtime
media format and slot configuration still come from the machine driver.
It then adds TDM DAI operations for q6apm-lpass-dais, exposes the Audio
IF clock IDs through the q6dsp-lpass-ports binding and q6prm clock
tables, and introduces common QCOM helpers for parsing standard
dai-tdm-slot-* properties from backend CPU and codec endpoints.

Finally, sc8280xp uses the common helpers during hw_params to program
CPU and codec TDM slots, derive the backend bit clock from the active
PCM parameters, and request the CPU and codec clocks before the stream is
started.

changes in v7:
	- Rebased the series on the current ASoC for-7.3 branch.
	- Fixed build issue by renaming sc8280xp_snd_data pointer field
	  from snd_soc_common_priv to priv.
	- Link to v6: https://lore.kernel.org/linux-arm-msm/20260803195624.3606352-1-prasad.kumpatla@oss.qualcomm.com/

changes in v6:
	- Addressed comments from srini - Provided QAIF Supported types, Removed 
	  dead code, add kernel doc for ep_frame_duration struct, variable consistent
	  checks.
	- Addressed shasiko comments on patch#6, - Distinguish missing TDM configuration
	  from invalid configuration to avoid masking DT validation errors.
	- Restore accidentally dropped Reviewed-by tags.
	- Link to v5: https://lore.kernel.org/linux-arm-msm/20260801054610.4047089-1-prasad.kumpatla@oss.qualcomm.com/

changes in v5:
	- Addressed comments from Srini - Removed unwanted comments, Define Macros
	  for frame durations, Updated the logic solts, validate the tx/rx masks.
	- Link to v4: https://lore.kernel.org/linux-arm-msm/20260712134110.3306763-1-prasad.kumpatla@oss.qualcomm.com/

Changes in v4:
	- Addressed comments related to bindings from Rob.
	- Link to v3: https://lore.kernel.org/all/20260707190106.2876465-1-prasad.kumpatla@oss.qualcomm.com/

Changes in v3:
	- Reusing of tdm-slot.yaml and update the bindings.
	- Link to v2: https://lore.kernel.org/all/20260630091605.4043426-1-prasad.kumpatla@oss.qualcomm.com/

Changes in v2:
	- Update AR Module token definitions and validation prefixes.
	- Reorder module addresses.
	- Add kernel-doc for `struct param_id_audio_if_intf_cfg`.
	- Remove unused code and stale comments.
	- Clean up comments and naming in q6apm-lpass-ports.h.
	- Add bindings for TDM slots.
	- Link to v1: https://lore.kernel.org/all/20260610154517.134570-1-prasad.kumpatla@oss.qualcomm.com/

Prasad Kumpatla (7):
  ASoC: qcom: qdsp6: add topology-driven Audio IF support
  ASoC: qcom: q6apm-lpass-dais: add TDM DAI operations
  dt-bindings: sound: qcom,q6dsp-lpass-ports: add Audio IF clocks
  ASoC: qcom: q6prm: add Audio IF clock IDs
  dt-bindings: sound: qcom,sm8250: allow TDM slot properties
  ASoC: qcom: common: add DAI-node TDM slot helpers
  ASoC: qcom: sc8280xp: add TDM hw_params support

 .../bindings/sound/qcom,sm8250.yaml           |  26 +++
 .../sound/qcom,q6dsp-lpass-ports.h            |  29 ++++
 include/uapi/sound/snd_ar_tokens.h            |  93 +++++++++++
 sound/soc/qcom/common.c                       | 155 ++++++++++++++++++
 sound/soc/qcom/common.h                       |  14 ++
 sound/soc/qcom/qdsp6/audioreach.c             |  93 +++++++++++
 sound/soc/qcom/qdsp6/audioreach.h             |  90 ++++++++++
 sound/soc/qcom/qdsp6/q6apm-lpass-dais.c       |  60 +++++++
 sound/soc/qcom/qdsp6/q6prm-clocks.c           |  28 ++++
 sound/soc/qcom/qdsp6/q6prm.h                  |  29 ++++
 sound/soc/qcom/qdsp6/topology.c               | 103 ++++++++++++
 sound/soc/qcom/sc8280xp.c                     |  59 +++++++
 12 files changed, 779 insertions(+)

-- 
2.34.1
Re: [PATCH v7 0/7] ASoC: qcom: add AudioReach TDM backend support
Posted by Mark Brown 1 month, 4 weeks ago
On Tue, 04 Aug 2026 12:33:00 +0530, Prasad Kumpatla wrote:
> ASoC: qcom: add AudioReach TDM backend support
> 
> Add AudioReach support for LPASS Audio IF based TDM backends and wire it
> up for the sc8280xp machine driver.
> 
> The series first adds topology-driven Audio IF source/sink handling so
> the DSP interface parameters can be described by topology while runtime
> media format and slot configuration still come from the machine driver.
> It then adds TDM DAI operations for q6apm-lpass-dais, exposes the Audio
> IF clock IDs through the q6dsp-lpass-ports binding and q6prm clock
> tables, and introduces common QCOM helpers for parsing standard
> dai-tdm-slot-* properties from backend CPU and codec endpoints.
> 
> [...]

Applied to

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

Thanks!

[1/7] ASoC: qcom: qdsp6: add topology-driven Audio IF support
      https://git.kernel.org/broonie/sound/c/67605cbf8dfe
[2/7] ASoC: qcom: q6apm-lpass-dais: add TDM DAI operations
      https://git.kernel.org/broonie/sound/c/4d0840175893
[3/7] dt-bindings: sound: qcom,q6dsp-lpass-ports: add Audio IF clocks
      https://git.kernel.org/broonie/sound/c/ff09adc61210
[4/7] ASoC: qcom: q6prm: add Audio IF clock IDs
      https://git.kernel.org/broonie/sound/c/d6a4a2e190fa
[5/7] dt-bindings: sound: qcom,sm8250: allow TDM slot properties
      https://git.kernel.org/broonie/sound/c/269b23d5135a
[6/7] ASoC: qcom: common: add DAI-node TDM slot helpers
      https://git.kernel.org/broonie/sound/c/1e844ecbc9cb
[7/7] ASoC: qcom: sc8280xp: add TDM hw_params support
      https://git.kernel.org/broonie/sound/c/a689ee3b2fcd

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