19 Dec, 2011

1 commit

  • ARCH_MX3 was removed in commit a89cf59 :
    "arm/imx: merge i.MX3 and i.MX6"
    thus preventing to select MX3_IPU, thus preventing IPU and display
    to work on i.MX3x SOC.
    i.MX SDMA support is also affected.

    Signed-off-by: Eric Bénard
    Cc: Sascha Hauer
    Cc: Vinod Koul
    Cc: Dan Williams
    Signed-off-by: Sascha Hauer

    Eric Bénard
     

14 Sep, 2011

1 commit

  • This patch updates following 3 items.
    1. Removes unneccessary code.
    2. Add AMBA, PL330 configuration
    3. Change the meaning of 'peri_id' variable
    from PL330 event number to specific dma id by user.

    Signed-off-by: Boojin Kim
    Acked-by: Linus Walleij
    Acked-by: Vinod Koul
    Cc: Dan Williams
    Signed-off-by: Kukjin Kim
    Signed-off-by: Vinod Koul

    Boojin Kim
     

09 Jun, 2011

1 commit

  • The ep93xx DMA controller has 10 independent memory to peripheral (M2P)
    channels, and 2 dedicated memory to memory (M2M) channels. M2M channels can
    also be used by SPI and IDE to perform DMA transfers to/from their memory
    mapped FIFOs.

    This driver supports both M2P and M2M channels with DMA_SLAVE, DMA_CYCLIC and
    DMA_MEMCPY (M2M only) capabilities.

    Signed-off-by: Mika Westerberg
    Signed-off-by: Ryan Mallon
    Acked-by: H Hartley Sweeten
    Acked-by: Vinod Koul
    Signed-off-by: Grant Likely

    Mika Westerberg
     

09 May, 2011

1 commit

  • Support new device OKI SEMICONDUCTOR ML7223 IOH(Input/Output Hub).
    The ML7223 IOH is for MP(Media Phone) use.
    The ML7223 is companion chip for Intel Atom E6xx series.
    The ML7223 is completely compatible for Intel EG20T PCH.

    Signed-off-by: Tomoya MORINAGA
    Signed-off-by: Vinod Koul

    Tomoya MORINAGA
     

23 Mar, 2011

1 commit


07 Mar, 2011

1 commit


02 Mar, 2011

1 commit

  • This patch adds dma support for Freescale MXS-based SoC i.MX23/28,
    including apbh-dma and apbx-dma.

    * apbh-dma and apbx-dma are supported in the driver as two mxs-dma
    instances.

    * apbh-dma is different between mx23 and mx28, hardware version
    register is used to differentiate.

    * mxs-dma supports pio function besides data transfer. The driver
    uses dma_data_direction DMA_NONE to identify the pio mode, and
    steals sgl and sg_len to get pio words and numbers from clients.

    * mxs dmaengine has some very specific features, like sense function
    and the special NAND support (nand_lock, nand_wait4ready). These
    are too specific to implemented in generic dmaengine driver.

    * The driver refers to imx-sdma and only a single descriptor is
    statically assigned to each channel.

    Signed-off-by: Shawn Guo
    Signed-off-by: Vinod Koul

    Shawn Guo
     

18 Jan, 2011

1 commit

  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (63 commits)
    ARM: PL08x: cleanup comments
    Update CONFIG_MD_RAID6_PQ to CONFIG_RAID6_PQ in drivers/dma/iop-adma.c
    ARM: PL08x: fix a warning
    Fix dmaengine_submit() return type
    dmaengine: at_hdmac: fix race while monitoring channel status
    dmaengine: at_hdmac: flags located in first descriptor
    dmaengine: at_hdmac: use subsys_initcall instead of module_init
    dmaengine: at_hdmac: no need set ACK in new descriptor
    dmaengine: at_hdmac: trivial add precision to unmapping comment
    dmaengine: at_hdmac: use dma_address to program DMA hardware
    pch_dma: support new device ML7213 IOH
    ARM: PL08x: prevent dma_set_runtime_config() reconfiguring memcpy channels
    ARM: PL08x: allow dma_set_runtime_config() to return errors
    ARM: PL08x: fix locking between prepare function and submit function
    ARM: PL08x: introduce 'phychan_hold' to hold on to physical channels
    ARM: PL08x: put txd's on the pending list in pl08x_tx_submit()
    ARM: PL08x: rename 'desc_list' as 'pend_list'
    ARM: PL08x: implement unmapping of memcpy buffers
    ARM: PL08x: store prep_* flags in async_tx structure
    ARM: PL08x: shrink srcbus/dstbus in txd structure
    ...

    Linus Torvalds
     

15 Jan, 2011

1 commit

  • Support new device OKI SEMICONDUCTOR's ML7213 IOH(Input/Output Hub) which is for
    IVI(In-Vehicle Infotainment) use.
    The ML7213 is companion chip for Intel Atom E6xx series.
    The ML7213 is completely compatible for Intel EG20T PCH.

    Signed-off-by: Tomoya MORINAGA
    Signed-off-by: Dan Williams

    Tomoya MORINAGA
     

30 Dec, 2010

1 commit


30 Oct, 2010

1 commit


08 Oct, 2010

3 commits


06 Oct, 2010

1 commit

  • 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: Sascha Hauer
    Reviewed-by: Linus Walleij
    Signed-off-by: Dan Williams

    Sascha Hauer
     

30 Sep, 2010

1 commit

  • 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
    Cc: Ben Dooks
    Cc: Kukjin Kim
    Cc: Alessandro Rubini
    Acked-by: Viresh Kumar
    Signed-off-by: Linus Walleij
    [GFP_KERNEL to GFP_NOWAIT in pl08x_prep_dma_memcpy]
    Signed-off-by: Dan Williams

    Linus Walleij
     

11 Aug, 2010

1 commit


05 Aug, 2010

1 commit

  • Topcliff PCH is the platform controller hub that is going to
    be used in Intel's upcoming general embedded platforms. This
    adds the driver for Topcliff PCH DMA controller. The DMA
    channels are strictly for device to host or host to device
    transfers and cannot be used for generic memcpy.

    Signed-off-by: Yong Wang
    [kill GFP_ATOMIC, kill __raw_{read|write}l, locking fixlet]
    Signed-off-by: Dan Williams

    Yong Wang
     

28 Jul, 2010

1 commit

  • This patch add DMA drivers for DMA controllers in Langwell chipset
    of Intel(R) Moorestown platform and DMA controllers in Penwell of
    Intel(R) Medfield platfrom

    This patch adds support for Moorestown DMAC1 and DMAC2 controllers.
    It also add support for Medfiled GP DMA and DMAC1 controllers.
    These controllers supports memory to peripheral and peripheral to
    memory transfers. It support only single block transfers.

    This driver is based on Kernel DMA engine
    Anyone who wishes to use this controller should use DMA engine APIs

    This controller exposes DMA_SLAVE capabilities and notifies the client drivers
    of DMA transaction completion

    Config option required to be enabled CONFIG_INTEL_MID_DMAC=y

    Signed-off-by: Vinod Koul
    Signed-off-by: Alan Cox
    Signed-off-by: Dan Williams

    Vinod Koul
     

31 May, 2010

1 commit


24 May, 2010

2 commits


15 Apr, 2010

1 commit

  • This is a straightforward driver for the ST-Ericsson DMA40 DMA
    controller found in U8500, implemented akin to the existing
    COH 901 318 driver.

    Signed-off-by: Linus Walleij
    Acked-by: Srinidh Kasagar
    Cc: STEricsson_nomadik_linux@list.st.com
    Cc: Alessandro Rubini
    Signed-off-by: Andrew Morton
    Signed-off-by: Dan Williams

    Linus Walleij
     

07 Apr, 2010

1 commit


26 Mar, 2010

1 commit

  • Adds the support for the DMA engine withing the timberdale FPGA.

    The DMA channels are strict device to host, or host to device
    and can not be used for generic memcpy.

    Signed-off-by: Richard Röjfors
    Signed-off-by: Dan Williams

    Richard Röjfors
     

02 Mar, 2010

2 commits

  • Adds initial version of MPC512x DMA driver.
    Only memory to memory transfers are currenly supported.

    Signed-off-by: Piotr Ziecik
    Signed-off-by: Wolfgang Denk
    Signed-off-by: Anatolij Gustschin
    Cc: John Rigby
    Acked-by: Grant Likely
    Signed-off-by: Dan Williams

    Piotr Ziecik
     
  • This adds Kconfig options for DEBUG and VERBOSE_DEBUG to the DMA
    engine subsystem, I got tired of editing the Makefile manually
    each time I want to debug things in here, modelled this on the
    debug switches for other subsystems and works like a charm when
    working on our DMA engines.

    Signed-off-by: Linus Walleij
    Signed-off-by: Dan Williams

    Linus Walleij
     

17 Dec, 2009

1 commit

  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
    ppc440spe-adma: adds updated ppc440spe adma driver
    iop-adma.c: use resource_size()
    dmaengine: clarify the meaning of the DMA_CTRL_ACK flag
    sh: stylistic improvements for the DMA driver
    dmaengine: fix dmatest to verify minimum transfer length and test buffer size
    sh: DMA driver has to specify its alignment requirements
    Add COH 901 318 DMA block driver v5

    Linus Torvalds
     

12 Dec, 2009

1 commit


05 Dec, 2009

1 commit


20 Nov, 2009

2 commits

  • This patch adds support for the ST-Ericsson COH 901 318 DMA block,
    found in the U300 series platforms. It registers a DMA slave for
    device I/O and also a memcpy slave for memcpy.

    Signed-off-by: Linus Walleij
    Acked-by: Maciej Sosnowski
    Signed-off-by: Dan Williams

    Linus Walleij
     
  • ioat3.2 does not support asynchronous error notifications which makes
    the driver experience latencies when non-zero pq validate results are
    expected. Provide a mechanism for turning off async_xor_val and
    async_syndrome_val via Kconfig. This approach is generally useful for
    any driver that specifies ASYNC_TX_DISABLE_CHANNEL_SWITCH and would like
    to force the async_tx api to fall back to the synchronous path for
    certain operations.

    Signed-off-by: Dan Williams

    Dan Williams
     

26 Oct, 2009

1 commit


09 Sep, 2009

5 commits

  • This restriction prevented ASYNC_TX_DMA from being enabled on platform
    configurations where DMA address conversion could not be performed in
    place on the stack. Since commit 04ce9ab3 ("async_xor: permit callers
    to pass in a 'dma/page scribble' region") the async_tx api now either
    uses a caller provided 'scribble' buffer, or performs the conversion in
    place when sizeof(dma_addr_t)

    Dan Williams
     
  • This supported all DMA channels, and it was tested in SH7722,
    SH7780, SH7785 and SH7763.
    This can not use with SH DMA API.

    Signed-off-by: Nobuhiro Iwamatsu
    Reviewed-by: Matt Fleming
    Acked-by: Maciej Sosnowski
    Acked-by: Paul Mundt
    Signed-off-by: Dan Williams

    Nobuhiro Iwamatsu
     
  • Conflicts:
    crypto/async_tx/async_xor.c
    drivers/dma/ioat/dma_v2.h
    drivers/dma/ioat/pci.c
    drivers/md/raid5.c

    Dan Williams
     
  • Channel switching is problematic for some dmaengine drivers as the
    architecture precludes separating the ->prep from ->submit. In these
    cases the driver can select ASYNC_TX_DISABLE_CHANNEL_SWITCH to modify
    the async_tx allocator to only return channels that support all of the
    required asynchronous operations.

    For example MD_RAID456=y selects support for asynchronous xor, xor
    validate, pq, pq validate, and memcpy. When
    ASYNC_TX_DISABLE_CHANNEL_SWITCH=y any channel with all these
    capabilities is marked DMA_ASYNC_TX allowing async_tx_find_channel() to
    quickly locate compatible channels with the guarantee that dependency
    chains will remain on one channel. When
    ASYNC_TX_DISABLE_CHANNEL_SWITCH=n async_tx_find_channel() may select
    channels that lead to operation chains that need to cross channel
    boundaries using the async_tx channel switch capability.

    Signed-off-by: Dan Williams

    Dan Williams
     
  • Dan Williams
     

23 Jul, 2009

1 commit

  • This AHB DMA Controller (aka HDMA or DMAC on AT91 systems) is availlable on
    at91sam9rl chip. It will be used on other products in the future.

    This first release covers only the memory-to-memory tranfer type. This is the
    only tranfer type supported by this chip. On other products, it will be used
    also for peripheral DMA transfer (slave API support to come).

    I used dmatest client without problem in different configurations to test it.

    Full documentation for this controller can be found in the SAM9RL datasheet:
    http://www.atmel.com/dyn/products/product_card.asp?part_id=4243

    Signed-off-by: Nicolas Ferre
    Acked-by: Maciej Sosnowski
    Signed-off-by: Dan Williams

    Nicolas Ferre
     

02 Jul, 2009

1 commit

  • On HIGHMEM64G systems dma_addr_t is known to be larger than (void *)
    which precludes async_xor from performing dma address conversions by
    reusing the input parameter address list. However, other parts of the
    dmaengine infrastructure do not suffer this constraint, so the
    HIGHMEM64G restriction can be down-levelled.

    Signed-off-by: Dan Williams

    Dan Williams