[PATCH v8 00/13] ASoC: qcom: q6dsp: few fixes and enhancements

Srinivas Kandagatla posted 13 patches 2 days, 14 hours ago
.../sound/qcom,q6dsp-lpass-ports.yaml         |   5 +-
.../sound/qcom,q6dsp-lpass-ports.h            |  12 ++
sound/soc/qcom/common.c                       |   6 +
sound/soc/qcom/common.h                       |   3 +
sound/soc/qcom/lpass.h                        |   3 +-
sound/soc/qcom/qdsp6/audioreach.c             |  60 ------
sound/soc/qcom/qdsp6/audioreach.h             |   5 +-
sound/soc/qcom/qdsp6/q6afe-dai.c              |   6 +
sound/soc/qcom/qdsp6/q6afe.c                  |   8 +
sound/soc/qcom/qdsp6/q6afe.h                  |   3 +-
sound/soc/qcom/qdsp6/q6apm-dai.c              | 113 +++++++++--
sound/soc/qcom/qdsp6/q6apm-lpass-dais.c       |  48 +++--
sound/soc/qcom/qdsp6/q6apm.c                  | 182 ++++++++++++------
sound/soc/qcom/qdsp6/q6apm.h                  |  20 +-
sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c      |  76 ++++++++
sound/soc/qcom/qdsp6/topology.c               |   8 +-
16 files changed, 390 insertions(+), 168 deletions(-)
[PATCH v8 00/13] ASoC: qcom: q6dsp: few fixes and enhancements
Posted by Srinivas Kandagatla 2 days, 14 hours ago
This patchset contains few fixes for the bugs hit during testing with
Monza EVK platform
- around array out of bounds access on dai ids which keep extending but
  the drivers seems to have hardcoded some numbers, fix this and clean
the mess up
- fix few issues discovered while trying to shut down dsp.
- flooding rpmsg with write requests due to not resetting queue pointer,
  fix this resetting the pointer in trigger stop.
- possible multiple graph opens which can result in open failures.

Apart from this few new enhancements to the dsp side
- add new LPI MI2S and senary dai entries
- handle pipewire and Displayport issues by moving graph start to
  trigger level, which should fix outstanding pipewire and DP issues on
Qualcomm SoCs.
- remove some unnessary loops in hot path
- support early memory map on DSP.

Tested this on top of linux-next on VENTUNO-Q platform.

Thanks,
Srini

Changes since v7:
	- improve error handling
	- remove unused variable.
	- add comments about bi-directional dais
	- in q6apm use of_platform_depopulate instead of devm variant to
	  make sure that devices are removed before component is
unregistered 

Changes since v6:
	- improve error handing and add a missing assignment.

Changes since v5:
	- moved to using pcm_new/_free as rebased with linux-next
	- fixed typo in q6apm_dai_pcm_free
	- added changes from Val to q6afe_port_get_from_id
Changes since v4:
	- sob order changed for co-dev patch.
	- update range check in common.c

Changes since v3:
	- squashed 2 dt-bindings patches as suggested at review
	- updated yaml to reflect the new port supported

Changes since v2:
	- removed non-dt header update in bindings patch.
	- removed some leftover debug statements
	- updated function to void where it did not make sense to
	  return anything.

Changes since v1:
	- removed LPASS MAX PORT define from bindings
	- added few fixes found while testing dsp shutdown usecase on
	  Monaco.
	- replaced tab with space
	- added port range check in place at runtime to catch array out
	  of bounds in future.


Mohammad Rafi Shaik (1):
  ASoC: qcom: q6dsp: Add Senary MI2S audio interface support

Srinivas Kandagatla (12):
  ASoC: qcom: q6apm: move component registration to unmanaged version
  ASoC: qcom: q6apm: remove child devices when apm is removed
  ASoC: qcom: qdsp6: topology: check widget type before accessing data
  ASoC: qcom: q6apm-lpass-dai: Fix multiple graph opens
  ASoC: qcom: q6apm-dai: reset queue ptr on trigger stop
  ASoC: dt-bindings: qcom: add LPASS LPI MI2S dai ids
  ASoC: qcom: qdsp6: lpass-ports: add support for LPASS LPI MI2S dais
  ASoC: qcom: common: validate cpu dai id during parsing
  ASoC: qcom: qdapm-lpass-dai: correct the error message
  ASoC: qcom: q6apm-lpass-dai: move graph start to trigger
  ASoC: qcom: qdsp6: remove search for module iid in hot path
  ASoC: qcom: q6apm: Add support for early buffer mapping on DSP

 .../sound/qcom,q6dsp-lpass-ports.yaml         |   5 +-
 .../sound/qcom,q6dsp-lpass-ports.h            |  12 ++
 sound/soc/qcom/common.c                       |   6 +
 sound/soc/qcom/common.h                       |   3 +
 sound/soc/qcom/lpass.h                        |   3 +-
 sound/soc/qcom/qdsp6/audioreach.c             |  60 ------
 sound/soc/qcom/qdsp6/audioreach.h             |   5 +-
 sound/soc/qcom/qdsp6/q6afe-dai.c              |   6 +
 sound/soc/qcom/qdsp6/q6afe.c                  |   8 +
 sound/soc/qcom/qdsp6/q6afe.h                  |   3 +-
 sound/soc/qcom/qdsp6/q6apm-dai.c              | 113 +++++++++--
 sound/soc/qcom/qdsp6/q6apm-lpass-dais.c       |  48 +++--
 sound/soc/qcom/qdsp6/q6apm.c                  | 182 ++++++++++++------
 sound/soc/qcom/qdsp6/q6apm.h                  |  20 +-
 sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c      |  76 ++++++++
 sound/soc/qcom/qdsp6/topology.c               |   8 +-
 16 files changed, 390 insertions(+), 168 deletions(-)

-- 
2.47.3
Re: [PATCH v8 00/13] ASoC: qcom: q6dsp: few fixes and enhancements
Posted by Mark Brown 1 day, 3 hours ago
On Mon, 30 Mar 2026 08:20:52 +0000, Srinivas Kandagatla wrote:
> ASoC: qcom: q6dsp: few fixes and enhancements
> 
> This patchset contains few fixes for the bugs hit during testing with
> Monza EVK platform
> - around array out of bounds access on dai ids which keep extending but
>   the drivers seems to have hardcoded some numbers, fix this and clean
> the mess up
> - fix few issues discovered while trying to shut down dsp.
> - flooding rpmsg with write requests due to not resetting queue pointer,
>   fix this resetting the pointer in trigger stop.
> - possible multiple graph opens which can result in open failures.
> 
> [...]

Applied to

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

Thanks!

[01/13] ASoC: qcom: q6apm: move component registration to unmanaged version
        https://git.kernel.org/broonie/sound/c/b918fa0009c5
[02/13] ASoC: qcom: q6apm: remove child devices when apm is removed
        https://git.kernel.org/broonie/sound/c/53c1971fee3e
[03/13] ASoC: qcom: qdsp6: topology: check widget type before accessing data
        https://git.kernel.org/broonie/sound/c/4acb0d8ae805
[04/13] ASoC: qcom: q6apm-lpass-dai: Fix multiple graph opens
        https://git.kernel.org/broonie/sound/c/08798200d790
[05/13] ASoC: qcom: q6apm-dai: reset queue ptr on trigger stop
        https://git.kernel.org/broonie/sound/c/05e5370b04c3
[06/13] ASoC: dt-bindings: qcom: add LPASS LPI MI2S dai ids
        https://git.kernel.org/broonie/sound/c/c6e2c74a1999
[07/13] ASoC: qcom: qdsp6: lpass-ports: add support for LPASS LPI MI2S dais
        https://git.kernel.org/broonie/sound/c/2d99c2869c35
[08/13] ASoC: qcom: q6dsp: Add Senary MI2S audio interface support
        https://git.kernel.org/broonie/sound/c/cd1716423637
[09/13] ASoC: qcom: common: validate cpu dai id during parsing
        https://git.kernel.org/broonie/sound/c/4847eb57fcf1
[10/13] ASoC: qcom: qdapm-lpass-dai: correct the error message
        https://git.kernel.org/broonie/sound/c/c4c6e17a3bd5
[11/13] ASoC: qcom: q6apm-lpass-dai: move graph start to trigger
        https://git.kernel.org/broonie/sound/c/dce7c38257ad
[12/13] ASoC: qcom: qdsp6: remove search for module iid in hot path
        https://git.kernel.org/broonie/sound/c/aeb8c96748af
[13/13] ASoC: qcom: q6apm: Add support for early buffer mapping on DSP
        https://git.kernel.org/broonie/sound/c/7cc1926fcd8d

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