linux_dsm_epyc7002/sound/soc/sh/rcar
Kuninori Morimoto 597b046f0d ASoC: rsnd: control SSICR::EN correctly
In case of SSI0 playback, SSI1 capture, SSI0 might be shared for
clock output if clock master mode.

Current rsnd driver had been assumed that SSI clock contiguous
output which is needed for SSI parent needs SSICR::EN (SSI module
enable) bit.
But, this bit controls data input/output, not for clock.
Clock contiguous output needs SSICR : FORCE, SCKD, SWSD,
and SSIWSR : CONT. Not SSICR : EN.

Because of this wrong assumption, and insufficient control, on current
code, for example, if it starts SSI0(playback) -> SSI1(capture) order,
SSI0 SSICR::EN bit will temporarily be 0.
It causes playback side underrun error. This is bug.
We can reproduce this issue with SSI+SRC (without DVC), and capture
during playback operation.

This patch fixup current (wrong) assumption, and control SSICR::EN bit
correctly.

Reported-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tested-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2017-08-08 12:04:17 +01:00
..
adg.c ASoC: rcar: unregister fixed rate on ADG 2017-08-02 12:06:16 +01:00
cmd.c ASoC: rsnd: make arrays path and cmd_case static const 2017-06-30 12:45:36 +01:00
core.c ASoC: rsnd: constify dev_pm_ops structures. 2017-06-30 12:17:32 +01:00
ctu.c ASoC: rsnd: control kctrl items acceptance anytime/runtime 2017-06-13 21:38:45 +01:00
dma.c ASoC: rsnd: cleanup pointer related code 2017-06-07 20:30:38 +01:00
dvc.c ASoC: rsnd: rename "slots" related variable 2017-06-15 18:17:54 +01:00
gen.c Merge branch 'fix/rcar' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rcar 2017-06-07 20:30:32 +01:00
Makefile ASoC: rsrc-card: rename rsrc-card to simple-scu-card phase3 2016-08-24 11:19:16 +01:00
mix.c ASoC: rsnd: add rsnd_runtime_channel_xxx() 2016-03-05 13:27:27 +09:00
rsnd.h ASoC: rsnd: fixup unsigned expression compared with zero: main_rate 2017-06-21 12:14:04 +01:00
src.c ASoC: rsnd: control kctrl items acceptance anytime/runtime 2017-06-13 21:38:45 +01:00
ssi.c ASoC: rsnd: control SSICR::EN correctly 2017-08-08 12:04:17 +01:00
ssiu.c Merge branch 'fix/rcar' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rcar 2017-06-07 20:30:32 +01:00