* [PATCH v4 0/5] R-Car Gen2 DMA Controller driver
@ 2014-10-30 0:28 Laurent Pinchart
2014-10-30 14:26 ` Wolfram Sang
0 siblings, 1 reply; 2+ messages in thread
From: Laurent Pinchart @ 2014-10-30 0:28 UTC (permalink / raw)
To: linux-sh
Hello,
This patch sets adds a new driver for the DMA controller found in the R-Car
Gen2 SoCs under the name "Direct Memory Access Controller for System
(SYS-DMAC)". Support for the "Realtime Direct Memory Access Controller
(RT-DMAC)" and "Direct Memory Access Controller for Audio (Audio-DMAC)" will
be added later.
For the rationale of why a new driver is needed, and performance figures,
please see the cover letter of v1 ("[PATCH 0/7] R-Car Gen2 DMA Controller
driver") [1].
The driver is now mostly feature-complete with support for hardware
descriptors lists (included as a separate patch to ease review) and cyclic
transfers. They have been tested with both the SDHI and audio drivers.
I've pushed the patches to
git://linuxtv.org/pinchartl/fbdev.git dma/next
My audio test branch is available at
git://linuxtv.org/pinchartl/fbdev.git dma/audio
Known issues are
- Stub system PM implementation. I'm working on this.
- Risk of conflict with Maxime's DMA engine rework series.
I believe the first issue isn't a show stopper. I can rebase the patches if
Maxime's patches get merged first.
Vinod, I would like to get this merged in v3.19 if possible.
Changes since v3:
- Add CONFIG_RENESAS_DMA config entry common to all Renesas DMA engines
- Add support for hardware descriptors lists previously posted as a separate
patch series, with the following changes:
- Typo fixes
- Use GFP_NOWAIT to allocate hardware descriptors
- Clear descriptor stage end interrupt when halting the channel
- Program the descriptor interrupt pointer
- Stop the channel in the IRQ handler only at the end of the transfer
- Align allocated hwdesc size to page size
- Ignore allocated hwdesc memory when the transfer doesn't use hwdescs
Changes since v2:
- Replace several occurrences of size_t with unsigned int
- Remove unneeded local variable initialization
- Compute maximum transfer size at runtime
- Typo fixes
- Replace WARN_ON with WARN_ON_ONCE in interrupt handler
- Validate the number of channels
- Reset the device before enabling interrupts
- Use DMA_SLAVE_BUSWIDTH_* constants instead of numerical values
- Use devm_kasprintf
- Update to the new prep_dma_cyclic API
- Filter out channels from unrelated devices
- Fix typo in register definition
- Rename rcar_dmac_hw_desc to rcar_dmac_xfer_chunk
- Ignore the deprecated dma_slave_config direction field
- Allocate memory with GFP_NOWAIT in prep handlers
- Split runtime and system PM
- Move runtime PM to channel alloc/fre
Changes since v1:
- Allocate IRQ name strings dynamically
- Only call the callback function if one is supplied
- Don't overallocate sg list entries
- Allocate sg list entries with GFP_KERNEL
- Don't manage function clock manually
- Make channel filter ignore unrelated devices
- Document why the cyclic sg list is kcalloc'ed
- Remove ch15 from interrupt names in DT
- Replace CONFIG_OF with OF in Kconfig
[1] http://www.spinics.net/lists/linux-sh/msg33768.html
Laurent Pinchart (5):
dmaengine: Add 16 bytes, 32 bytes and 64 bytes bus widths
dmaengine: rcar-dmac: Remove duplicate sentence from DT bindings
dmaengine: rcar-dmac: Add Renesas R-Car Gen2 DMA Controller (DMAC)
driver
dmaengine: rcar-dmac: Implement support for hardware descriptor lists
dmaengine: rcar-dmac: Cache hardware descriptors memory
.../devicetree/bindings/dma/renesas,rcar-dmac.txt | 3 -
drivers/dma/Makefile | 2 +-
drivers/dma/sh/Kconfig | 14 +-
drivers/dma/sh/Makefile | 1 +
drivers/dma/sh/rcar-dmac.c | 1773 ++++++++++++++++++++
include/linux/dmaengine.h | 3 +
6 files changed, 1791 insertions(+), 5 deletions(-)
create mode 100644 drivers/dma/sh/rcar-dmac.c
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-10-30 14:26 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-30 0:28 [PATCH v4 0/5] R-Car Gen2 DMA Controller driver Laurent Pinchart
2014-10-30 14:26 ` Wolfram Sang
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).