[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-embedded
Subject:    [PATCH v4 0/6] dmaengine/mmc: DMA slave interface and two new drivers
From:       Haavard Skinnemoen <haavard.skinnemoen () atmel ! com>
Date:       2008-06-26 13:23:17
Message-ID: 1214486603-23655-1-git-send-email-haavard.skinnemoen () atmel ! com
[Download RAW message or body]

First of all, I'm sorry it went so much time between v3 and v4 of this
patchset. I was hoping to finish this stuff up before all kinds of
other tasks started demanding my attention, but I didn't, so I had to
put it on hold for a while. Let's try again...

This patchset extends the DMA engine API to allow drivers to offer DMA
to and from I/O registers with hardware handshaking, aka slave DMA.
Such functionality is very common in DMA controllers integrated on SoC
devices, and it's typically used to do DMA transfers to/from other
on-SoC peripherals, but it can often do DMA transfers to/from
externally connected devices as well (e.g. IDE hard drives).

The main differences from v3 of this patchset are:
  * A DMA descriptor can hold a whole scatterlist. This means that
    clients using slave DMA can submit large requests in a single call
    to the driver, and they only need to keep track of a single
    descriptor.
  * The dma_slave_descriptor struct is gone since clients no longer
    need to keep track of multiple descriptors.
  * The drivers perform better and are more stable.

The dw_dmac driver depends on this patch:

	http://lkml.org/lkml/2008/6/25/148

and the atmel-mci driver depends on this series:

	http://lkml.org/lkml/2008/6/26/158

as well as all preceding patches in this series, of course.

Comments are welcome, as usual! Shortlog and diffstat follow.

Haavard Skinnemoen (6):
      dmaengine: Add dma_client parameter to device_alloc_chan_resources
      dmaengine: Add dma_chan_is_in_use() function
      dmaengine: Add slave DMA interface
      dmaengine: Make DMA Engine menu visible for AVR32 users
      dmaengine: Driver for the Synopsys DesignWare DMA controller
      Atmel MCI: Driver for Atmel on-chip MMC controllers

 arch/avr32/boards/atngw100/setup.c         |    7 +
 arch/avr32/boards/atstk1000/atstk1002.c    |    3 +
 arch/avr32/mach-at32ap/at32ap700x.c        |   73 ++-
 drivers/dma/Kconfig                        |   11 +-
 drivers/dma/Makefile                       |    1 +
 drivers/dma/dmaengine.c                    |   31 +-
 drivers/dma/dw_dmac.c                      | 1105 +++++++++++++++++++++
 drivers/dma/dw_dmac_regs.h                 |  224 +++++
 drivers/dma/ioat_dma.c                     |    5 +-
 drivers/dma/iop-adma.c                     |    7 +-
 drivers/mmc/host/Kconfig                   |   10 +
 drivers/mmc/host/Makefile                  |    1 +
 drivers/mmc/host/atmel-mci-regs.h          |  194 ++++
 drivers/mmc/host/atmel-mci.c               | 1428 ++++++++++++++++++++++++++++
 include/asm-avr32/arch-at32ap/at32ap700x.h |   16 +
 include/asm-avr32/arch-at32ap/board.h      |    6 +-
 include/asm-avr32/atmel-mci.h              |   12 +
 include/linux/dmaengine.h                  |   73 ++-
 include/linux/dw_dmac.h                    |   62 ++
 19 files changed, 3229 insertions(+), 40 deletions(-)
 create mode 100644 drivers/dma/dw_dmac.c
 create mode 100644 drivers/dma/dw_dmac_regs.h
 create mode 100644 drivers/mmc/host/atmel-mci-regs.h
 create mode 100644 drivers/mmc/host/atmel-mci.c
 create mode 100644 include/asm-avr32/atmel-mci.h
 create mode 100644 include/linux/dw_dmac.h

Haavard
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic