Re: [PATCH 00/15] dmaengine: dw-edma: HDMA support

From: Vinod Koul
Date: Mon Feb 01 2021 - 02:19:54 EST


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