[alsa-devel] [PATCH 7/8] ASoC: rsnd: Request/Release DMA channel each time

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Wed Oct 26 01:55:18 CEST 2016


Hi Mark
Cc: Laurent

Thank you for your feedback

> > Current Renesas Sound driver requests DMA channel when .probe timing,
> > and release it when .remove timing. And use DMA on .start/.stop
> > But, Audio DMAC power ON was handled when request timing (= .probe),
> > and power OFF was when release timing (= .remove).
> > This means Audio DMAC power is always ON during driver was enabled.
> > This patch fixup to request/release DMA channel each time.
> 
> Isn't this something which should be handled by better power management
> in the DMA driver rather than this?

I discussed about this topic with Laurent.
Yes, the best choice is that DMAEngine side should care about it,
but, it can't on current DMAEngine design.

# We need to call pm_runtime_get_sync() to power the hardware on
# which can't be called in atomic context.
# And dma_async_issue_pending() needs to be callable in atomic context
# so to fix this we would likely need to extend the DMA engine API

So, current *better* choice is sound driver request/release DMA channel
each time.

I will post v2 patch with [1/8] update



More information about the Alsa-devel mailing list