linux/sound/soc/sh/rcar
Kuninori Morimoto 06e8f5c842
ASoC: rsnd: don't call clk_get_rate() under atomic context
ADG is using clk_get_rate() under atomic context, thus, we might
have scheduling issue.
To avoid this issue, we need to get/keep clk rate under
non atomic context.

We need to handle ADG as special device at Renesas Sound driver.
From SW point of view, we want to impletent it as
rsnd_mod_ops :: prepare, but it makes code just complicate.

To avoid complicated code/patch, this patch adds new clk_rate[] array,
and keep clk IN rate when rsnd_adg_clk_enable() was called.

Reported-by: Leon Kong <Leon.KONG@cn.bosch.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tested-by: Leon Kong <Leon.KONG@cn.bosch.com>
Link: https://lore.kernel.org/r/87v9vb0xkp.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-08-07 14:17:47 +01:00
..
adg.c ASoC: rsnd: don't call clk_get_rate() under atomic context 2019-08-07 14:17:47 +01:00
cmd.c ASoC: rsnd: move .get_status under rsnd_mod_ops 2018-11-05 11:27:29 +00:00
core.c ASoC: rsnd: move pcm_new from snd_soc_component_driver to snd_soc_dai_driver 2019-05-20 15:21:28 +01:00
ctu.c ASoC: rsnd: fixup mod ID calculation in rsnd_ctu_probe_ 2019-06-18 19:17:39 +01:00
dma.c ASoC: rsnd: add SSIU BUSIF support 2018-11-06 17:40:10 +00:00
dvc.c Merge branch 'for-4.20' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-4.21 intel dep 2018-12-13 14:36:46 +00:00
gen.c ASoC: rsnd: gen: fix SSI9 4/5/6/7 busif related register address 2019-02-26 11:43:18 +00:00
Makefile ASoC: rsnd: convert to SPDX identifiers 2018-06-18 12:16:46 +01:00
mix.c ASoC: rsnd: move .get_status under rsnd_mod_ops 2018-11-05 11:27:29 +00:00
rsnd.h ASoC: rsnd: fixup 6ch settings to 8ch 2019-04-25 19:41:09 +01:00
src.c ASoC: rsnd: src: fix compiler warnings 2019-03-11 16:59:04 +00:00
ssi.c ASoC: rsnd: add missing pin sharing with SSI9 2019-06-26 12:28:35 +01:00
ssiu.c ASoC: rsnd: ssiu: tidyup SSI_MODE1/2 settings 2019-06-26 12:28:14 +01:00