linux/sound/soc
Kuninori Morimoto 5423d77253
ASoC: rsnd: Enable IPMMU v2
commit 4821d914fe ("ASoC: rsnd: use dma_sync_single_for_xxx() for
IOMMU") (= v1) which have been already reverted had supported IPMMU
support on rsnd driver.
Because memory allocating timing and DMAEngine access timing were
different, it used continuous memory and called dma map function by
itself.

OTOH, it is using DMA descriptor mode (= DMA cyclic mode), thus, there
was timing conflict between DMA sync/unsync and DMA transfer starting,
and it maked sound noise.

This patch supports IPMMU with coherent memory, and, it uses Audio DMAC
dev for allocating memory by snd_pcm_lib_preallocate_pages_for_all() to
indicate memory area to IPMMU.
One note is that Playback/Capture need each paired Audio DMAC dev.
Because of this, we need to keep each paired Audio DMAC dev when probing,
and use it when allocating each memory for IPMMU.

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>
2018-04-16 12:38:01 +01:00
..
adi
amd ASoC: AMD: Support headset button on Stoney DA7219 2018-04-16 11:53:53 +01:00
atmel ASoC: atmel_ssc_dai: fix spelling mistake: "Stoping" -> "Stopping" 2018-04-16 11:53:35 +01:00
au1x ASoC: au1x: dma: replace platform to component 2018-02-12 11:45:36 +00:00
bcm Merge remote-tracking branches 'asoc/topic/cx20442', 'asoc/topic/cygnus', 'asoc/topic/da7210', 'asoc/topic/da7213' and 'asoc/topic/da7218' into asoc-next 2018-03-28 10:29:26 +08:00
cirrus
codecs ASoC: max9860: switch to SPDX license tag 2018-04-16 12:37:36 +01:00
davinci ASoC: davinci-i2s: replace platform to component 2018-02-12 11:45:21 +00:00
dwc Merge remote-tracking branches 'asoc/topic/dwc', 'asoc/topic/es7134', 'asoc/topic/es8316', 'asoc/topic/es8328' and 'asoc/topic/fsl' into asoc-next 2018-03-28 10:29:36 +08:00
fsl Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2018-04-05 11:56:35 -07:00
generic
hisilicon
img ASoC: pistachio: replace codec to component 2018-02-12 11:08:03 +00:00
intel ASoC: intel: skl_rt286: Replace GFP_ATOMIC with GFP_KERNEL in skylake_audio_probe 2018-04-16 11:53:44 +01:00
jz4740
kirkwood ASoC: kirkwood: replace platform to component 2018-02-12 11:45:28 +00:00
mediatek Merge remote-tracking branches 'asoc/topic/rt5645', 'asoc/topic/rt5651', 'asoc/topic/rt5659' and 'asoc/topic/rt5660' into asoc-next 2018-03-28 10:30:29 +08:00
mxs
nuc900 ASoC: nuc900-pcm: replace platform to component 2018-02-12 11:45:37 +00:00
omap Merge remote-tracking branches 'asoc/topic/twl4030', 'asoc/topic/twl6040', 'asoc/topic/uda134x', 'asoc/topic/uda1380' and 'asoc/topic/uniphier' into asoc-next 2018-03-28 10:31:10 +08:00
pxa Merge remote-tracking branches 'asoc/topic/pistachio', 'asoc/topic/pxa', 'asoc/topic/rsnd', 'asoc/topic/rt274' and 'asoc/topic/rt286' into asoc-next 2018-03-28 10:30:19 +08:00
qcom ASoC: qcom: lpass-platform: replace platform to component 2018-02-12 11:45:30 +00:00
rockchip Merge remote-tracking branches 'asoc/topic/rt5645', 'asoc/topic/rt5651', 'asoc/topic/rt5659' and 'asoc/topic/rt5660' into asoc-next 2018-03-28 10:30:29 +08:00
samsung Merge remote-tracking branches 'asoc/topic/wm8991', 'asoc/topic/wm8994', 'asoc/topic/wm8995', 'asoc/topic/wm8996' and 'asoc/topic/wm9081' into asoc-next 2018-03-28 10:31:54 +08:00
sh ASoC: rsnd: Enable IPMMU v2 2018-04-16 12:38:01 +01:00
sirf ASoC: sirf: remove duplicated bit-wise or of USP_RXFIFO_THD_INT 2018-02-26 10:19:20 +00:00
spear
sti
stm ASoC: stm32: sai: Add support of S/PDIF playback 2018-02-26 11:19:04 +00:00
sunxi Merge remote-tracking branches 'asoc/topic/sta529', 'asoc/topic/sti-sas', 'asoc/topic/stm32', 'asoc/topic/sun4i' and 'asoc/topic/sun8i' into asoc-next 2018-03-28 10:30:49 +08:00
tegra ASoC: wm8903: replace codec to component 2018-02-12 09:41:37 +00:00
txx9 ASoC: txx9aclc: replace platform to component 2018-02-12 11:45:38 +00:00
uniphier ASoC: uniphier: add syscon property for UniPhier sound system 2018-03-18 17:57:54 -07:00
ux500
xtensa ASoC: xtfpga-i2s: replace platform to component 2018-02-12 11:45:32 +00:00
zte
Kconfig ASoC: remove blackfin drivers 2018-03-14 09:35:29 -07:00
Makefile ASoC: remove blackfin drivers 2018-03-14 09:35:29 -07:00
soc-ac97.c ASoC: ac97: replace codec to component 2018-02-12 09:37:29 +00:00
soc-acpi.c
soc-cache.c
soc-compress.c
soc-core.c Merge remote-tracking branch 'asoc/topic/samsung' into asoc-next 2018-03-28 10:26:30 +08:00
soc-dapm.c Merge remote-tracking branches 'asoc/topic/sirf-audio', 'asoc/topic/sn95031', 'asoc/topic/soc-dapm', 'asoc/topic/spdif_receiver' and 'asoc/topic/spdif_transmitter' into asoc-next 2018-03-28 10:30:40 +08:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: Revert "ASoC: soc-generic-dmaengine-pcm: Fix error handling" 2018-02-26 19:59:31 +00:00
soc-io.c ASoC: soc-io: Fix snd_soc_component_update_bits_legacy 2018-03-12 09:58:02 -07:00
soc-jack.c
soc-ops.c
soc-pcm.c ASoC: pcm: improve debug output for DPCM BE searching. 2018-03-19 15:07:15 +08:00
soc-topology.c Merge remote-tracking branches 'asoc/topic/tlv320aic32x4', 'asoc/topic/tlv320aic3x', 'asoc/topic/tlv320dac33', 'asoc/topic/topology' and 'asoc/topic/tscs42xx' into asoc-next 2018-03-28 10:31:04 +08:00
soc-utils.c ASoC: soc-utils: replace codec to component 2018-02-12 11:46:14 +00:00