mbox series

[v2,0/2] Fixes for McASP and dmaengine_pcm

Message ID 20240610-asoc_next-v2-0-b52aaf5d67c4@ti.com
Headers show
Series Fixes for McASP and dmaengine_pcm | expand

Message

Jai Luthra June 10, 2024, 10:55 a.m. UTC
This series fixes two patches:

1. Fix the dmaengine API usage by calling dmaengine_synchronize() after
   dmaengine_terminate_async() when xrun events occur in application
2. Use the McASP AFIFO property from DT to refine the period size,
   instead of hardcoding minimum to 64 samples

Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
Changes in v2:
- Fix compiler warning for prepare callback by marking it static
- Pass numevt directly to hw_rule_min_periodsize()
- Link to v1: https://lore.kernel.org/r/20240604-asoc_next-v1-0-e895c88e744d@ti.com

---
Jai Luthra (2):
      ALSA: dmaengine: Synchronize dma channel in prepare()
      ASoC: ti: davinci-mcasp: Set min period size using FIFO config

 include/sound/dmaengine_pcm.h         |  1 +
 sound/core/pcm_dmaengine.c            | 10 ++++++++++
 sound/soc/soc-generic-dmaengine-pcm.c |  8 ++++++++
 sound/soc/ti/davinci-mcasp.c          |  9 +++++++--
 4 files changed, 26 insertions(+), 2 deletions(-)
---
base-commit: d97496ca23a2d4ee80b7302849404859d9058bcd
change-id: 20240604-asoc_next-c063fcc190c6

Best regards,

Comments

Jai Luthra June 11, 2024, 12:35 p.m. UTC | #1
Hi Lars, Mark,

On Jun 11, 2024 at 11:39:12 +0100, Mark Brown wrote:
> On Mon, Jun 10, 2024 at 05:45:52PM -0700, Lars-Peter Clausen wrote:
> > On 6/10/24 03:56, Jai Luthra wrote:
> 
> > > Sometimes the stream may be stopped due to XRUN events, in which case
> > > the userspace can call snd_pcm_drop() and snd_pcm_prepare() to stop and
> > > start the stream again.
> 
> > > In these cases, we must wait for the DMA channel to synchronize before
> > > marking the stream as prepared for playback, as the DMA channel gets
> > > stopped by snd_pcm_drop() without any synchronization.
> 
> > We should really implement the sync_stop() PCM callback and let the ALSA
> > core let care of the sync.
> 
> Good point, that's a better idea.

Thanks for the suggestion, sending a v3 with the change.

Peter,
I've kept your R-by intact as it is a minor change.
Mark Brown June 12, 2024, 8:21 p.m. UTC | #2
On Mon, 10 Jun 2024 16:25:59 +0530, Jai Luthra wrote:
> This series fixes two patches:
> 
> 1. Fix the dmaengine API usage by calling dmaengine_synchronize() after
>    dmaengine_terminate_async() when xrun events occur in application
> 2. Use the McASP AFIFO property from DT to refine the period size,
>    instead of hardcoding minimum to 64 samples
> 
> [...]

Applied to

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

Thanks!

[1/2] ALSA: dmaengine: Synchronize dma channel in prepare()
      (no commit info)
[2/2] ASoC: ti: davinci-mcasp: Set min period size using FIFO config
      commit: c5dcf8ab10606e76c1d8a0ec77f27d84a392e874

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