android_kernel_motorola_sm6225/sound/soc
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
..
adi
amd scripts/spelling.txt: add "disble(d)" pattern and fix typo instances 2017-03-09 17:01:09 -08:00
atmel Merge remote-tracking branches 'asoc/topic/ak4613', 'asoc/topic/ak4642', 'asoc/topic/atmel', 'asoc/topic/cs35l34' and 'asoc/topic/cs35l35' into asoc-next 2017-07-03 16:51:31 +01:00
au1x
bcm ASoC: bcm: add depends on HAS_DMA 2016-11-02 14:57:05 -06:00
blackfin ASoC: blackfin: Convert to the new PCM ops 2017-06-02 19:38:10 +02:00
cirrus
codecs Merge remote-tracking branches 'asoc/topic/davinci', 'asoc/topic/drm', 'asoc/topic/dwc' and 'asoc/topic/es8316' into asoc-next 2017-07-03 16:51:36 +01:00
davinci ASoC: davinci-mcasp: Support for one channel (mono) audio 2017-05-14 18:22:12 +09:00
dwc ASoC: dwc: Added a quirk DW_I2S_QUIRK_16BIT_IDX_OVERRIDE to dwc driver 2017-06-28 19:01:12 +01:00
fsl ASoC: fsl: mpc5200_dma: remove unused psc_dma 2017-06-21 11:53:45 +01:00
generic Merge remote-tracking branch 'asoc/topic/rcar' into asoc-next 2017-07-03 16:51:30 +01:00
hisilicon ASoC: hisilicon: localize functions without external linkage 2017-05-14 19:00:18 +09:00
img ASoC: img: remove unused ‘format’ 2016-12-15 11:22:52 +00:00
intel sound updates for 4.13-rc1 2017-07-06 10:56:51 -07:00
jz4740
kirkwood ASoC: constify snd_soc_ops structures 2016-10-24 18:34:55 +01:00
mediatek ASoC: mediatek: Constify hw_constraints 2017-06-13 21:33:03 +01:00
mxs ASoC: mxs-saif: fix setting master base rate 2017-01-17 18:19:36 +00:00
nuc900
omap ASoC: omap-mcbsp: Use sysfs_match_string() helper 2017-06-09 18:38:35 +01:00
pxa ASoC: pxa: add COMPILE_TEST on SND_PXA2XX_SOC 2017-06-21 11:54:04 +01:00
qcom ASoC: qcom: move clock names into LPASS variant struct 2017-04-21 18:07:45 +01:00
rockchip Merge remote-tracking branches 'asoc/topic/omap', 'asoc/topic/pxa', 'asoc/topic/rockchip' and 'asoc/topic/rt5514' into asoc-next 2017-07-03 16:15:15 +01:00
samsung ASoC: samsung: Constify hw_constraints 2017-06-13 21:33:26 +01:00
sh ASoC: rsnd: control SSICR::EN correctly 2017-08-08 12:04:17 +01:00
sirf ASoC: sirf: Added blank line after declarations 2017-03-07 14:31:51 +01:00
spear
sti ASoC: sti: Fix error handling if of_clk_get() fails 2017-04-30 21:30:52 +09:00
stm ASoC: stm32: sai: remove some stray tabs 2017-06-28 18:45:04 +01:00
sunxi ASoC: sun4i-codec: Add support for V3s codec 2017-06-06 19:30:00 +01:00
tegra ASoC: tegra: Add blank line after declarations 2017-03-07 14:29:51 +01:00
txx9 ASoC: txx9: Added requiered spaces. 2017-03-07 15:18:35 +01:00
ux500 ASoC: ux500: Added blank line after declarations 2017-03-07 14:31:27 +01:00
xtensa
zte ASoC: zx-i2s: flip I2S master/slave mode 2017-06-19 17:19:39 +01:00
Kconfig Merge remote-tracking branches 'asoc/topic/sta529', 'asoc/topic/sti', 'asoc/topic/stm', 'asoc/topic/sunxi' and 'asoc/topic/tas2552' into asoc-next 2017-04-30 22:16:31 +09:00
Makefile Merge remote-tracking branches 'asoc/topic/sta529', 'asoc/topic/sti', 'asoc/topic/stm', 'asoc/topic/sunxi' and 'asoc/topic/tas2552' into asoc-next 2017-04-30 22:16:31 +09:00
soc-ac97.c ASoC: Fixup some small kernel-doc typos 2017-01-12 17:23:01 +00:00
soc-cache.c
soc-compress.c ASoC: compress: Derive substream from stream based on direction 2017-06-19 17:11:25 +01:00
soc-core.c Merge remote-tracking branch 'asoc/topic/rcar' into asoc-next 2017-07-03 16:51:30 +01:00
soc-dapm.c ASoC: dapm: fix some pointer error handling 2017-01-20 13:11:02 +00:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: Revert "Drop SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME flag" 2017-01-23 18:16:33 +00:00
soc-io.c
soc-jack.c ASoC: jack: add snd_soc_codec_set_jack 2017-04-10 19:46:09 +01:00
soc-ops.c ASoC: Fixup some small kernel-doc typos 2017-01-12 17:23:01 +00:00
soc-pcm.c ALSA: pcm: Drop the old copy and silence ops 2017-06-02 19:38:19 +02:00
soc-topology.c Merge remote-tracking branches 'asoc/topic/stm32', 'asoc/topic/sunxi', 'asoc/topic/tlv320dac31xx', 'asoc/topic/topology' and 'asoc/topic/wm-adsp' into asoc-next 2017-07-03 16:15:20 +01:00
soc-utils.c ASoC: core: Add component pin control functions 2016-11-30 17:16:09 +00:00