On 15-12-20, 18:30, Gustavo Pimentel wrote: > This patch series adds the HDMA support, as long the IP design has set > the compatible register map parameter, which allows compatibility at > some degree for the existing Synopsys DesignWare eDMA driver that is > already available on the Kernel. > > The HDMA "Hyper-DMA" IP is an enhancement of the eDMA "embedded-DMA" IP. > > This new improvement comes with a PCI DVSEC that allows to the driver > recognize and switch behavior if it's an eDMA or an HDMA, becoming > retrocompatible, in the absence of this DVSEC, the driver will assume > that is an eDMA IP. > > It also adds the interleaved support, since it will be similar to the > current scatter-gather implementation. > > As well fixes/improves some abnormal behaviors not detected before, such as: > - crash on loading/unloading driver > - memory space definition for the data area and for the linked list space > - scatter-gather address calculation on 32 bits platforms > - minor comment and variable reordering > > Cc: Vinod Koul <vkoul@xxxxxxxxxx> > Cc: Dan Williams <dan.j.williams@xxxxxxxxx> > Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > Cc: dmaengine@xxxxxxxxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx > Cc: linux-pci@xxxxxxxxxxxxxxx > > Gustavo Pimentel (15): > dmaengine: dw-edma: Add writeq() and readq() for 64 bits architectures > dmaengine: dw-edma: Fix comments offset characters' alignment > dmaengine: dw-edma: Add support for the HDMA feature > PCI: Add pci_find_vsec_capability() to find a specific VSEC Had this been picked up.. I see we have dependency on pci patch for this series.. > dmaengine: dw-edma: Add PCIe VSEC data retrieval support > dmaengine: dw-edma: Add device_prep_interleave_dma() support > dmaengine: dw-edma: Improve number of channels check > dmaengine: dw-edma: Reorder variables to keep consistency > dmaengine: dw-edma: Improve the linked list and data blocks definition > dmaengine: dw-edma: Change linked list and data blocks offset and > sizes > dmaengine: dw-edma: Move struct dentry variable from static definition > into dw_edma struct > dmaengine: dw-edma: Fix crash on loading/unloading driver > dmaengine: dw-edma: Change DMA abreviation from lower into upper case > dmaengine: dw-edma: Revert fix scatter-gather address calculation > dmaengine: dw-edma: Add pcim_iomap_table return checker > > drivers/dma/dw-edma/dw-edma-core.c | 178 +++++++++++------- > drivers/dma/dw-edma/dw-edma-core.h | 37 ++-- > drivers/dma/dw-edma/dw-edma-pcie.c | 275 +++++++++++++++++++++------- > drivers/dma/dw-edma/dw-edma-v0-core.c | 300 ++++++++++++++++++++++++------- > drivers/dma/dw-edma/dw-edma-v0-core.h | 2 +- > drivers/dma/dw-edma/dw-edma-v0-debugfs.c | 77 ++++---- > drivers/dma/dw-edma/dw-edma-v0-debugfs.h | 4 +- > drivers/dma/dw-edma/dw-edma-v0-regs.h | 291 +++++++++++++++++++----------- > drivers/pci/pci.c | 29 +++ > include/linux/pci.h | 1 + > include/uapi/linux/pci_regs.h | 5 + > 11 files changed, 844 insertions(+), 355 deletions(-) > > -- > 2.7.4 -- ~Vinod