[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1214486603-23655-1-git-send-email-haavard.skinnemoen@atmel.com>
Date: Thu, 26 Jun 2008 15:23:17 +0200
From: Haavard Skinnemoen <haavard.skinnemoen@...el.com>
To: Dan Williams <dan.j.williams@...el.com>,
Pierre Ossman <drzeus-list@...eus.cx>
Cc: linux-kernel@...r.kernel.org, linux-embedded@...r.kernel.org,
kernel@...32linux.org, shannon.nelson@...el.com,
David Brownell <david-b@...bell.net>,
Haavard Skinnemoen <haavard.skinnemoen@...el.com>
Subject: [PATCH v4 0/6] dmaengine/mmc: DMA slave interface and two new drivers
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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists