linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/15] ASoC: OMAP: Convert to use dmaengine
@ 2012-09-14 12:05 Peter Ujfalusi
  2012-09-14 12:05 ` [PATCH v3 01/15] dmaengine: omap: Support for element mode in cyclic DMA Peter Ujfalusi
                   ` (17 more replies)
  0 siblings, 18 replies; 31+ messages in thread
From: Peter Ujfalusi @ 2012-09-14 12:05 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood, Tony Lindgren, Russell King,
	Vinod Koul, Dan Williams, Jarkko Nikula
  Cc: alsa-devel, linux-omap, linux-arm-kernel, linux-kernel,
	Janusz Krzysztofik, Ricardo Neri, Lars-Peter Clausen

Hello,

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(-)

-- 
1.7.12


^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2012-09-24 23:38 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-14 12:05 [PATCH v3 00/15] ASoC: OMAP: Convert to use dmaengine Peter Ujfalusi
2012-09-14 12:05 ` [PATCH v3 01/15] dmaengine: omap: Support for element mode in cyclic DMA Peter Ujfalusi
2012-09-14 12:05 ` [PATCH v3 02/15] dmaengine: omap: Add support for pause/resume in cyclic dma mode Peter Ujfalusi
2012-09-17  3:13   ` Vinod Koul
2012-09-17  8:41     ` Peter Ujfalusi
2012-09-18  8:28     ` Russell King - ARM Linux
2012-09-17  9:55   ` Vinod Koul
2012-09-14 12:05 ` [PATCH v3 03/15] dmaengine: Add flags parameter to dmaengine_prep_dma_cyclic() Peter Ujfalusi
2012-09-17  9:58   ` Vinod Koul
2012-09-22 15:09   ` Mark Brown
2012-09-14 12:05 ` [PATCH v3 04/15] dmaengine: Pass flags via device_prep_dma_cyclic() callback Peter Ujfalusi
2012-09-17  9:59   ` Vinod Koul
2012-09-17 10:06   ` Nicolas Ferre
2012-09-19  2:45   ` Shawn Guo
2012-09-14 12:05 ` [PATCH v3 05/15] dmaengine: omap-dma: Add support to suppress interrupts in cyclic mode Peter Ujfalusi
2012-09-17 10:00   ` Vinod Koul
2012-09-14 12:05 ` [PATCH v3 06/15] ASoC: omap-mcbsp: Use sDMA packet mode instead of frame mode Peter Ujfalusi
2012-09-14 12:05 ` [PATCH v3 07/15] ASoC: omap-pcm: Select sDMA synchronization based on packet_size Peter Ujfalusi
2012-09-14 12:05 ` [PATCH v3 08/15] ASoC: OMAP: Remove sync_mode from omap_pcm_dma_data struct Peter Ujfalusi
2012-09-14 12:05 ` [PATCH v3 09/15] ASoC: omap-pcm: Prepare to configure the DMA data_type based on stream properties Peter Ujfalusi
2012-09-14 12:05 ` [PATCH v3 10/15] ARM: OMAP4: hwmod_data: Add resource names to McPDM memory ranges Peter Ujfalusi
2012-09-14 12:05 ` [PATCH v3 11/15] ASoC: omap-mcpdm: Use platform_get_resource_* to get resources Peter Ujfalusi
2012-09-14 12:05 ` [PATCH v3 12/15] ASoC: OMAP: mcbsp, mcpdm, dmic: Let omap-pcm to pick the dma_type Peter Ujfalusi
2012-09-14 12:05 ` [PATCH v3 13/15] ASoC: omap-pcm, omap-dmic: Change the use of omap_pcm_dma_data->data_type Peter Ujfalusi
2012-09-14 12:05 ` [PATCH v3 14/15] ASoC: OMAP: mcbsp, mcpdm, dmic, hdmi: Set dma_data at startup time Peter Ujfalusi
2012-09-14 12:05 ` [PATCH v3 15/15] ASoC: omap-pcm: Convert to use dmaengine Peter Ujfalusi
2012-09-15 21:38 ` [alsa-devel] [PATCH v3 00/15] ASoC: OMAP: " Janusz Krzysztofik
2012-09-17  3:17 ` Vinod Koul
2012-09-17  8:44   ` [alsa-devel] " Peter Ujfalusi
2012-09-17  9:51     ` Vinod Koul
2012-09-24 23:36 ` Ricardo Neri

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).