]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: rsnd: add nolock_start/stop callback
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tue, 25 Oct 2016 00:37:35 +0000 (00:37 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 25 Oct 2016 14:02:43 +0000 (15:02 +0100)
commit46c29da8a1498f8f3d00a7d17876defa10d08d07
tree839476bc3f9a3f86b5143ed144f226b55d4d7f45
parentb45c166000a05d551a230fcb486c844aa02ea453
ASoC: rsnd: add nolock_start/stop callback

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.
To fixup this issue, it should request/release DMA channel on each
playback/recorde timing.
But, DMA channel request/release function uses mutex lock inside.
This means it will breaks current spinlock's interrupt protect.
To solve this issue, DMA channel request/release function needs to
be called from non-spinlock area. This patch adds its callback.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sh/rcar/core.c
sound/soc/sh/rcar/rsnd.h