[PATCH v3 00/15] ASoC: OMAP: Convert to use dmaengine
Vinod Koul
vinod.koul at linux.intel.com
Sun Sep 16 23:17:46 EDT 2012
On Fri, 2012-09-14 at 15:05 +0300, Peter Ujfalusi wrote:
> Hello,
dmaengine parts look good to me. How do you want to get this merged,
dmaengine or ASoC tree?
>
> Changes since v2:
> - As it has been discussed the no_wakeup parameter has been replaced with flags
> for the dmaengine APIs
>
> Changes since v1:
> - Support for pause/resume for OMAP audio via dmaengine
> - dmaengine: support for NO_PERIOD_WAKEUP in cyclic mode
> - OMAP to keep supporting NO_PERIOD_WAKEUP for audio
> - Other plaforms can also try to enable this mode since we have now generic
> interface to do so.
>
> This series will switch the OMAP audio to use dmaengine.
> The final patch which does the switch was based on Russell King's earlier patch.
>
> The first 10 patch is to prepare the OMAP audio drivers for a smooth change to
> dmaengine:
> - sDMA FRAME sync mode is removed and replaced with PACKET mode
> - dai drivers no longer need to configure sDMA sync mode
> - dai drivers does not need to specify the DMA word length - with the exception
> of the omap-hdmi driver which requires 32bit word length regardless of the
> audio format in use
> - the McPDM driver used (to my surprise) hackish way of getting the DMA channel
> and address - via defines from some header files
>
> After the conversion OMAP audio support should have the same features as before,
> no regressions expected.
>
> I have tested the series on:
> - BeagleBoard (audio via McBSP):
> - aplay/arecord. In element mode and in threshold mode with different period
> sizes
> - mplayer -ao alsa: for direct ALSA access
> - mplayer -ao pulse: via PulseAudio to test NO_PERIOD_WAKEUP feature
> - OMAP4 Blaze (audio via McPDM and DMIC)
> - aplay/arecord
> - mplayer -ao alsa: for direct ALSA access
> - mplayer -ao pulse: via PulseAudio to test NO_PERIOD_WAKEUP feature
>
> The patches has been generated against:
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-3.7
>
> Janusz: Can you retest this series on OMAP1 to be sure I have not broken it?
> Ricardo: Can you test the omap-hmdi if it is still working?
>
> Regards,
> Peter
> ---
> Peter Ujfalusi (15):
> dmaengine: omap: Support for element mode in cyclic DMA
> dmaengine: omap: Add support for pause/resume in cyclic dma mode
> dmaengine: Add flags parameter to dmaengine_prep_dma_cyclic()
> dmaengine: Pass flags via device_prep_dma_cyclic() callback
> dmaengine: omap-dma: Add support to suppress interrupts in cyclic
> mode
> ASoC: omap-mcbsp: Use sDMA packet mode instead of frame mode
> ASoC: omap-pcm: Select sDMA synchronization based on packet_size
> ASoC: OMAP: Remove sync_mode from omap_pcm_dma_data struct
> ASoC: omap-pcm: Prepare to configure the DMA data_type based on
> stream properties
> ARM: OMAP4: hwmod_data: Add resource names to McPDM memory ranges
> ASoC: omap-mcpdm: Use platform_get_resource_* to get resources
> ASoC: OMAP: mcbsp, mcpdm, dmic: Let omap-pcm to pick the dma_type
> ASoC: omap-pcm, omap-dmic: Change the use of
> omap_pcm_dma_data->data_type
> ASoC: OMAP: mcbsp, mcpdm, dmic, hdmi: Set dma_data at startup time
> ASoC: omap-pcm: Convert to use dmaengine
>
> arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 2 +
> drivers/dma/at_hdmac.c | 3 +-
> drivers/dma/ep93xx_dma.c | 4 +-
> drivers/dma/imx-dma.c | 2 +-
> drivers/dma/imx-sdma.c | 2 +-
> drivers/dma/mmp_tdma.c | 2 +-
> drivers/dma/mxs-dma.c | 2 +-
> drivers/dma/omap-dma.c | 45 ++++--
> drivers/dma/pl330.c | 2 +-
> drivers/dma/sa11x0-dma.c | 2 +-
> drivers/dma/sirf-dma.c | 2 +-
> drivers/dma/ste_dma40.c | 3 +-
> drivers/dma/tegra20-apb-dma.c | 2 +-
> include/linux/dmaengine.h | 7 +-
> sound/soc/omap/Kconfig | 3 +-
> sound/soc/omap/omap-dmic.c | 9 +-
> sound/soc/omap/omap-hdmi.c | 17 ++-
> sound/soc/omap/omap-mcbsp.c | 60 +++-----
> sound/soc/omap/omap-mcpdm.c | 40 +++--
> sound/soc/omap/omap-pcm.c | 236 ++++++++---------------------
> sound/soc/omap/omap-pcm.h | 4 +-
> sound/soc/soc-dmaengine-pcm.c | 6 +-
> 22 files changed, 186 insertions(+), 269 deletions(-)
>
--
~Vinod
More information about the linux-arm-kernel
mailing list