[PATCH v2 00/20] ASoC: qcom: q6dsp: fixes and updates

Srinivas Kandagatla posted 20 patches 1 month, 3 weeks ago
sound/soc/qcom/qdsp6/audioreach.c | 234 +++++++++---------------------
sound/soc/qcom/qdsp6/q6adm.c      | 179 ++++++++++-------------
sound/soc/qcom/qdsp6/q6afe.c      |  49 ++-----
sound/soc/qcom/qdsp6/q6apm-dai.c  |  25 +---
sound/soc/qcom/qdsp6/q6apm.c      |  57 +++-----
sound/soc/qcom/qdsp6/q6asm-dai.c  |  87 ++++++-----
sound/soc/qcom/qdsp6/q6asm.c      | 203 ++++++++------------------
sound/soc/qcom/qdsp6/q6asm.h      |   1 +
sound/soc/qcom/qdsp6/q6prm.c      |  27 +---
9 files changed, 302 insertions(+), 560 deletions(-)
[PATCH v2 00/20] ASoC: qcom: q6dsp: fixes and updates
Posted by Srinivas Kandagatla 1 month, 3 weeks ago
This patchset has 4 fixes and some enhancements to the Elite DSP driver
support.
Fixes includes 
	- setting correct flags for expected behaviour of appl_ptr
	- fix closing of copp instances
	- fix buffer alignment.
	- fix state checks before closing asm stream
Enhancements include:
	- adding q6asm_get_hw_pointer and ack callback support
	- simplify code via __free(kfree) mechanism.
	- use spinlock guards
	- few cleanups discovered during doing above 2.

There is another set of updates comming soon, which will add support
for early memory mapping and few more modules support in audioreach.

Changes since v1:
	- updated commit logs as suggested 
	- merged "[PATCH 00/12] ASoC: qcom: q6dsp: few cleanups"
	 https://www.spinics.net/lists/kernel/msg5884053.html series
into this series as its going to be merge conflict, and to ease
applying patches.
	- dropped patches that are applied, added tested-by on patches
	  tested.
	- rebased on next-20251023

Tested on RB3, RB5, X13s, T14s.

Srinivas Kandagatla (20):
  ASoC: qcom: q6apm-dai: set flags to reflect correct operation of
    appl_ptr
  ASoC: qcom: q6adm: the the copp device only during last instance
  ASoC: qcom: qdsp6: q6asm-dai: set 10 ms period and buffer alignment.
  ASoC: qcom: q6asm-dai: perform correct state check before closing
  ASoC: qcom: q6asm: handle the responses after closing
  ASoC: qcom: q6asm-dai: schedule all available frames to avoid dsp
    under-runs
  ASoC: qcom: q6asm: add q6asm_get_hw_pointer
  ASoC: qcom: q6asm-dai: use q6asm_get_hw_pointer
  ASoC: qcom: q6asm: set runtime correctly for each stream
  ASoc: qcom: audioreach: remove unused variables
  ASoc: qcom: audioreach: Use automatic cleanup of kfree()
  ASoc: qcom: q6adm: Use automatic cleanup of kfree()
  ASoc: qcom: q6afe: Use automatic cleanup of kfree()
  ASoc: qcom: q6apm: Use automatic cleanup of kfree()
  ASoc: qcom: q6prm: Use automatic cleanup of kfree()
  ASoc: qcom: q6asm: Use automatic cleanup of kfree()
  ASoC: qcom: q6afe: Use guard() for spin locks
  ASoC: qcom: q6apm-dai: Use guard() for spin locks
  ASoC: qcom: q6asm-dai: Use guard() for spin locks
  ASoC: qcom: q6asm: Use guard() for spin locks

 sound/soc/qcom/qdsp6/audioreach.c | 234 +++++++++---------------------
 sound/soc/qcom/qdsp6/q6adm.c      | 179 ++++++++++-------------
 sound/soc/qcom/qdsp6/q6afe.c      |  49 ++-----
 sound/soc/qcom/qdsp6/q6apm-dai.c  |  25 +---
 sound/soc/qcom/qdsp6/q6apm.c      |  57 +++-----
 sound/soc/qcom/qdsp6/q6asm-dai.c  |  87 ++++++-----
 sound/soc/qcom/qdsp6/q6asm.c      | 203 ++++++++------------------
 sound/soc/qcom/qdsp6/q6asm.h      |   1 +
 sound/soc/qcom/qdsp6/q6prm.c      |  27 +---
 9 files changed, 302 insertions(+), 560 deletions(-)

-- 
2.51.0
Re: [PATCH v2 00/20] ASoC: qcom: q6dsp: fixes and updates
Posted by Mark Brown 1 month, 1 week ago
On Thu, 23 Oct 2025 11:24:24 +0100, Srinivas Kandagatla wrote:
> This patchset has 4 fixes and some enhancements to the Elite DSP driver
> support.
> Fixes includes
> 	- setting correct flags for expected behaviour of appl_ptr
> 	- fix closing of copp instances
> 	- fix buffer alignment.
> 	- fix state checks before closing asm stream
> Enhancements include:
> 	- adding q6asm_get_hw_pointer and ack callback support
> 	- simplify code via __free(kfree) mechanism.
> 	- use spinlock guards
> 	- few cleanups discovered during doing above 2.
> 
> [...]

Applied to

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

Thanks!

[01/20] ASoC: qcom: q6apm-dai: set flags to reflect correct operation of appl_ptr
        commit: 950a4e5788fc7dc6e8e93614a7d4d0449c39fb8d
[02/20] ASoC: qcom: q6adm: the the copp device only during last instance
        commit: 74cc4f3ea4e99262ba0d619c6a4ee33e2cd47f65
[03/20] ASoC: qcom: qdsp6: q6asm-dai: set 10 ms period and buffer alignment.
        commit: 81c53b52de21b8d5a3de55ebd06b6bf188bf7efd
[04/20] ASoC: qcom: q6asm-dai: perform correct state check before closing
        commit: bfbb12dfa144d45575bcfe139a71360b3ce80237
[05/20] ASoC: qcom: q6asm: handle the responses after closing
        commit: a354f030dbce17ab3cf299660a38b162d97f7151
[06/20] ASoC: qcom: q6asm-dai: schedule all available frames to avoid dsp under-runs
        commit: e386c2cf3df2b62a6cc78d2f7984102b64753bee
[07/20] ASoC: qcom: q6asm: add q6asm_get_hw_pointer
        commit: b6a1d7243ec3a3fe1a3c2969fcd32c802fb5d2a9
[08/20] ASoC: qcom: q6asm-dai: use q6asm_get_hw_pointer
        commit: 44432315444cbbedadbb9d808c9fc8c8b21cb4bf
[09/20] ASoC: qcom: q6asm: set runtime correctly for each stream
        commit: f678ea19e8f60b05b8d3a5bcda9a238d5355bd50
[10/20] ASoc: qcom: audioreach: remove unused variables
        commit: bcb3f6f5286b96ff0a7106d2ca7208744b20b37e
[11/20] ASoc: qcom: audioreach: Use automatic cleanup of kfree()
        commit: 88a5f8e628ef745bb94bdf2fa019d9f8e069ccea
[12/20] ASoc: qcom: q6adm: Use automatic cleanup of kfree()
        commit: 896f1e4e106449ac2b39f0ca62b6afaed540f758
[13/20] ASoc: qcom: q6afe: Use automatic cleanup of kfree()
        commit: 55094e55ae36c7566e29ae0473d205dbc9d2f4a8
[14/20] ASoc: qcom: q6apm: Use automatic cleanup of kfree()
        commit: 89cf2223ee7bd83d45c6bef3ac52bedd018f77dd
[15/20] ASoc: qcom: q6prm: Use automatic cleanup of kfree()
        commit: de8e95773c48bad9d7339ccb376ad22d93932468
[16/20] ASoc: qcom: q6asm: Use automatic cleanup of kfree()
        commit: 6e00112d31c86029ad0440f8c29ee0d131984cda
[17/20] ASoC: qcom: q6afe: Use guard() for spin locks
        commit: 4b1edbb028fb95b546893068b321a983b1ef50bc
[18/20] ASoC: qcom: q6apm-dai: Use guard() for spin locks
        commit: b828059f86f67729aae3934650ae9e44a59ff9d8
[19/20] ASoC: qcom: q6asm-dai: Use guard() for spin locks
        commit: 680c683c8f49455bcfa1604eac4e508ba96ccbfa
[20/20] ASoC: qcom: q6asm: Use guard() for spin locks
        commit: 655079ac8a7721ac215a0596e3f33b740e01144a

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