linux/sound/soc
Stephen Warren 194c7dea00 ASoC: dmaengine: add custom DMA config to snd_dmaengine_pcm_config
Add fields to struct snd_dmaengine_pcm_config to allow custom:

- DMA channel names.

  This is useful when the default "tx" and "rx" channel names don't
  apply, for example if a HW module supports multiple channels, each
  having different DMA channel names. This is the case with the FIFOs
  in Tegra's AHUB. This new facility can replace
  SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME.

- DMA device

  This allows requesting DMA channels for a device other than the device
  which is registering the "PCM" driver. This is quite unusual, but is
  currently useful on Tegra. In much HW, and in Tegra20, each DAI HW
  module contains its own FIFOs which DMA writes to. However, in Tegra30,
  the DMA FIFOs were split out AHUB HW module, which then routes the data
  through a cross-bar, and into the DAI HW modules. However, the current
  ASoC driver structure does not expose this detail, and acts as if the
  FIFOs are still part of the DAI HW modules. Consequently, the "PCM"
  driver is registered with the DAI HW module, yet the DMA channels must
  be looked up in the AHUB HW module's device tree node. This new config
  field allows that to happen. Eventually, the Tegra drivers will be
  reworked to fully expose the AHUB, and this config field can be
  removed.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-12-09 18:45:01 +00:00
..
atmel Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 07:55:21 +09:00
au1x Merge remote-tracking branch 'asoc/topic/au1x' into asoc-next 2013-08-22 14:28:29 +01:00
blackfin sound fixes for 3.13-rc1 2013-11-16 12:50:53 -08:00
cirrus Merge remote-tracking branch 'asoc/topic/ep93xx' into asoc-next 2013-11-08 10:43:28 +00:00
codecs sound fixes #2 for 3.13-rc1 2013-11-22 10:57:31 -08:00
davinci Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2013-11-20 13:20:24 -08:00
dwc ASoC: designware_i2s: Remove unnecessary dev_set_drvdata() 2013-08-29 13:18:32 +01:00
fsl Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
generic ASoC: simple-card: un-implemented set_fmt is not error 2013-10-20 17:28:02 +01:00
jz4740 DMA-API: sound: fix dma mask handling in a lot of drivers 2013-10-31 14:48:47 +00:00
kirkwood Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 07:55:21 +09:00
mid-x86 Merge remote-tracking branch 'asoc/topic/warn' into asoc-next 2013-11-08 10:43:41 +00:00
mxs Merge remote-tracking branch 'asoc/topic/mxs' into asoc-next 2013-11-08 10:43:32 +00:00
nuc900 DMA-API: sound: fix dma mask handling in a lot of drivers 2013-10-31 14:48:47 +00:00
omap Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 07:55:21 +09:00
pxa Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 07:55:21 +09:00
s6000 Merge branch 'for-linus-dma-masks' of git://git.linaro.org/people/rmk/linux-arm 2013-11-14 07:55:21 +09:00
samsung tree-wide: use reinit_completion instead of INIT_COMPLETION 2013-11-15 09:32:21 +09:00
sh ASoC: Fixes for v3.13 2013-11-21 15:07:44 +01:00
spear ASoC: SPEAr spdif_out: Remove redundant variable 2013-09-19 12:56:26 +01:00
tegra Merge remote-tracking branch 'asoc/topic/tegra' into asoc-next 2013-11-08 10:43:37 +00:00
txx9 ASoC: txx9: Use WARN_ON() instead of BUG_ON() 2013-11-07 19:55:17 +00:00
ux500 ASoC: mop500: add .owner to struct snd_soc_card 2013-07-15 11:12:24 +01:00
Kconfig ALSA: move dmaengine implementation from ASoC to ALSA core 2013-08-15 11:18:09 +01:00
Makefile ASoC: core: Implement devm_snd_soc_register_component() 2013-09-17 00:49:57 +01:00
soc-cache.c Merge remote-tracking branch 'asoc/topic/warn' into asoc-next 2013-11-08 10:43:41 +00:00
soc-compress.c ASoC: compress: Use power efficient workqueue 2013-08-12 11:04:54 +01:00
soc-core.c Merge remote-tracking branch 'asoc/topic/core' into asoc-next 2013-11-08 10:43:25 +00:00
soc-dapm.c Merge remote-tracking branch 'asoc/fix/ab8500' into asoc-linus 2013-11-20 15:20:24 +00:00
soc-devres.c ASoC: Add resource managed snd_dmaengine_pcm_register() 2013-11-28 13:35:36 +00:00
soc-generic-dmaengine-pcm.c ASoC: dmaengine: add custom DMA config to snd_dmaengine_pcm_config 2013-12-09 18:45:01 +00:00
soc-io.c ASoC: Remove snd_soc_bulk_write_raw() 2013-09-17 00:37:03 +01:00
soc-jack.c ASoC: dont call dapm_sync while reporting jack always 2013-10-22 09:29:02 +01:00
soc-pcm.c ASoC: Add pinctrl PM to components of active DAIs 2013-11-04 09:08:59 -08:00
soc-utils.c ASoC: core utils: Dont set DMA params for BE substreams 2013-09-17 00:37:03 +01:00