1. 22 Oct, 2010 2 commits
  2. 19 Oct, 2010 9 commits
  3. 08 Oct, 2010 1 commit
    • Dan Williams's avatar
      async_tx: make async_tx channel switching opt-in · 5fc6d897
      Dan Williams authored
      The majority of drivers in drivers/dma/ will never establish cross
      channel operation chains and do not need the extra overhead in struct
      dma_async_tx_descriptor.  Make channel switching opt-in by default.
      
      Cc: Anatolij Gustschin <agust@denx.de>
      Cc: Ira Snyder <iws@ovro.caltech.edu>
      Cc: Linus Walleij <linus.walleij@stericsson.com>
      Cc: Saeed Bishara <saeed@marvell.com>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      5fc6d897
  4. 07 Oct, 2010 20 commits
  5. 05 Oct, 2010 3 commits
    • Sascha Hauer's avatar
      dmaengine: Add Freescale i.MX SDMA support · 1ec1e82f
      Sascha Hauer authored
      This patch adds support for the Freescale i.MX SDMA engine.
      
      The SDMA engine is a scatter/gather DMA engine which is implemented
      as a seperate coprocessor. SDMA needs its own firmware which is
      requested using the standard request_firmware mechanism. The firmware
      has different entry points for each peripheral type, so drivers
      have to pass the peripheral type to the DMA engine which in turn
      picks the correct firmware entry point from a table contained in
      the firmware image itself.
      The original Freescale code also supports support for transfering
      data to the internal SRAM which needs different entry points to
      the firmware. Support for this is currently not implemented. Also,
      support for the ASRC (asymmetric sample rate converter) is skipped.
      
      I took a very simple approach to implement dmaengine support. Only
      a single descriptor is statically assigned to a each channel. This
      means that transfers can't be queued up but only a single transfer
      is in progress. This simplifies implementation a lot and is sufficient
      for the usual device/memory transfers.
      Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      Reviewed-by: default avatarLinus Walleij <linus.ml.walleij@gmail.com>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      1ec1e82f
    • Sascha Hauer's avatar
      dmaengine: add wrapper functions for device control functions · 6e3ecaf0
      Sascha Hauer authored
      Add wrapper functions around the dma_device->device_control function
      to bring back type safety. Also, add a wrapper function around
      dma_async_tx_descriptor->tx_submit. This is named dmaengine_submit
      instead of dmaengine_tx_submit to get rid of the confusing 'tx' in the
      function name
      Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      6e3ecaf0
    • Sascha Hauer's avatar
      dmaengine: add possibility for cyclic transfers · 782bc950
      Sascha Hauer authored
      Cyclic transfers are useful for audio where a single buffer divided
      in periods has to be transfered endlessly until stopped. After being
      prepared the transfer is started using the dma_async_descriptor->tx_submit
      function. dma_async_descriptor->callback is called after each period.
      The transfer is stopped using the DMA_TERMINATE_ALL callback.
      While being used for cyclic transfers the channel cannot be used
      for other transfer types.
      Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      Cc: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      782bc950
  6. 29 Sep, 2010 1 commit
    • Linus Walleij's avatar
      dmaengine: driver for the ARM PL080/PL081 PrimeCells v5 · e8689e63
      Linus Walleij authored
      This creates a DMAengine driver for the ARM PL080/PL081 PrimeCells
      based on the implementation earlier submitted by Peter Pearse.
      This is working like a charm for memcpy and slave DMA to the PL011
      PrimeCell on the PB11MPCore.
      
      This DMA controller is used in mostly unmodified form in the ARM
      RealView and Versatile platforms, in the ST-Ericsson Nomadik, and
      in the ST SPEAr platform.
      
      It has been converted to use the header from the Samsung PL080
      derivate instead of its own defintions. The Samsungs have a custom
      driver in their mach-* folders though, atleast we can share the
      register definitions.
      
      Cc: Peter Pearse <peter.pearse@arm.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Alessandro Rubini <rubini@unipv.it>
      Acked-by: default avatarViresh Kumar <viresh.kumar@st.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@stericsson.com>
      [GFP_KERNEL to GFP_NOWAIT in pl08x_prep_dma_memcpy]
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      e8689e63
  7. 23 Sep, 2010 1 commit
  8. 22 Sep, 2010 3 commits