[PATCH v3 00/15] Fixes / cleanups in dw_dmac (affects on few subsystems)

From: Andy Shevchenko
Date: Fri Mar 18 2016 - 10:25:17 EST


This patch series (v2: http://www.spinics.net/lists/dmaengine/msg08274.html)
contains a number of mostly minor fixes and cleanups for the DW DMA driver. A
couple of them affect the DT binding so these may need to be updated to
maintain compatibility. The rest should be relatively straight-forward.

This version has been tested on the following bare metal platforms:
- ATNGW100 (avr32 based platform) with MMC
- Sam460ex (powerpc 44x based platform) with SATA
- Intel Braswell with UART
- Intel Galileo (Intel Quark based platform) with UART

(SATA driver and Intel Galileo UART support are based on this series and not
available in upstream yet)

Vinod, there are few patch sets developed on top of this one, so, the idea is
to keep this in an immuutable branch / tag.

Changes since v2:
- add patch 1 to fix master selection which was broken for long time
- remove "use field-by-field initialization" patch since like Mans metioned in
has mostly no value and even might increase error prone
- rebase on top of recent linux-next
- wide testing on several platforms

Changes since v1:
- zeroing struct dw_dma_slave before use
- fall back to old data_width property if data-width is not found
- append tags for few patches
- correct title of cover letter
- rebase on top of recent linux-next

Andy Shevchenko (11):
dmaengine: dw: fix master selection
dmaengine: dw: rename masters to reflect actual topology
dmaengine: dw: substitute dma_read_byaddr by dma_readl_native
dmaengine: dw: revisit data_width property
dmaengine: dw: define counter variables as unsigned int
dmaengine: dw: keep entire platform data in struct dw_dma
dmaengine: dw: pass platform data via struct dw_dma_chip
dmaengine: dw: move dwc->paused to dwc->flags
dmaengine: dw: move dwc->initialized to dwc->flags
dmaengine: dw: move residue to a descriptor
dmaengine: dw: set cdesc to NULL when free cyclic transfers

Mans Rullgard (4):
dmaengine: dw: set src and dst master select according to xfer
direction
dmaengine: dw: fix byte order of hw descriptor fields
dmaengine: dw: set LMS field in descriptors
dmaengine: dw: clear LLP_[SD]_EN bits in last descriptor of a chain

Documentation/devicetree/bindings/dma/snps-dma.txt | 9 +-
arch/arc/boot/dts/abilis_tb10x.dtsi | 2 +-
arch/arm/boot/dts/spear13xx.dtsi | 4 +-
arch/avr32/mach-at32ap/at32ap700x.c | 16 +-
drivers/ata/sata_dwc_460ex.c | 6 +-
drivers/dma/dw/core.c | 355 ++++++++++-----------
drivers/dma/dw/pci.c | 5 +-
drivers/dma/dw/platform.c | 27 +-
drivers/dma/dw/regs.h | 55 ++--
drivers/spi/spi-pxa2xx-pci.c | 8 +-
drivers/tty/serial/8250/8250_pci.c | 8 +-
include/linux/dma/dw.h | 5 +-
include/linux/platform_data/dma-dw.h | 15 +-
sound/soc/intel/common/sst-firmware.c | 2 +-
14 files changed, 268 insertions(+), 249 deletions(-)

--
2.7.0