From: Gustavo Pimentel <Gustavo.Pimentel@synopsys.com>
To: dmaengine@vger.kernel.org, linux-pci@vger.kernel.org,
linux-kernel@vger.kernel.org, "Vinod Koul" <vkoul@kernel.org>,
"Dan Williams" <dan.j.williams@intel.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Lukas Wunner" <lukas@wunner.de>
Cc: Gustavo Pimentel <Gustavo.Pimentel@synopsys.com>
Subject: [PATCH v7 00/15] dmaengine: dw-edma: HDMA support
Date: Thu, 18 Feb 2021 20:03:54 +0100 [thread overview]
Message-ID: <cover.1613674948.git.gustavo.pimentel@synopsys.com> (raw)
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 3433 bytes --]
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
Changes:
V2: Applied changes based on Bjorn Helgaas' review
Rebased patches on top of v5.11-rc1 version
V3: Applied changes based on Lukas Wunner' review
V4: Fix a typo detected by kernel test robot
V5: Rework driver accordingly to Bjorn Helgaas's feedback
V6: Rework driver accordingly to Krzysztof Wilczyński's feedback
V7: Rework driver accordingly to Bjorn Helgaas's feedback
Rebased patches on top of Bjorn Helgaas next branch due to the
support of PCI_VNDR_* defines
Cc: dmaengine@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Vinod Koul <vkoul@kernel.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Krzysztof Wilczyński <kw@linux.com>
Cc: Lukas Wunner <lukas@wunner.de>
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
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 check
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 | 277 +++++++++++++++++++++-------
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 | 30 ++++
include/linux/pci.h | 1 +
10 files changed, 842 insertions(+), 355 deletions(-)
--
2.7.4
next reply other threads:[~2021-02-18 19:11 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-18 19:03 Gustavo Pimentel [this message]
2021-02-18 19:03 ` [PATCH v7 01/15] dmaengine: dw-edma: Add writeq() and readq() for 64 bits architectures Gustavo Pimentel
2021-02-18 19:03 ` [PATCH v7 02/15] dmaengine: dw-edma: Fix comments offset characters' alignment Gustavo Pimentel
2021-02-18 19:03 ` [PATCH v7 03/15] dmaengine: dw-edma: Add support for the HDMA feature Gustavo Pimentel
2021-02-18 19:03 ` [PATCH v7 04/15] PCI: Add pci_find_vsec_capability() to find a specific VSEC Gustavo Pimentel
2021-02-18 19:27 ` Bjorn Helgaas
2021-02-18 21:32 ` Gustavo Pimentel
2021-02-18 19:03 ` [PATCH v7 05/15] dmaengine: dw-edma: Add PCIe VSEC data retrieval support Gustavo Pimentel
2021-02-18 19:04 ` [PATCH v7 06/15] dmaengine: dw-edma: Add device_prep_interleave_dma() support Gustavo Pimentel
2021-02-18 19:04 ` [PATCH v7 07/15] dmaengine: dw-edma: Improve number of channels check Gustavo Pimentel
2021-02-18 19:04 ` [PATCH v7 08/15] dmaengine: dw-edma: Reorder variables to keep consistency Gustavo Pimentel
2021-02-18 19:04 ` [PATCH v7 09/15] dmaengine: dw-edma: Improve the linked list and data blocks definition Gustavo Pimentel
2021-02-18 19:04 ` [PATCH v7 10/15] dmaengine: dw-edma: Change linked list and data blocks offset and sizes Gustavo Pimentel
2021-02-18 19:04 ` [PATCH v7 11/15] dmaengine: dw-edma: Move struct dentry variable from static definition into dw_edma struct Gustavo Pimentel
2021-02-18 19:04 ` [PATCH v7 12/15] dmaengine: dw-edma: Fix crash on loading/unloading driver Gustavo Pimentel
2021-02-18 19:04 ` [PATCH v7 13/15] dmaengine: dw-edma: Change DMA abreviation from lower into upper case Gustavo Pimentel
2021-02-18 19:04 ` [PATCH v7 14/15] dmaengine: dw-edma: Revert fix scatter-gather address calculation Gustavo Pimentel
2021-02-18 19:04 ` [PATCH v7 15/15] dmaengine: dw-edma: Add pcim_iomap_table return check Gustavo Pimentel
2021-03-16 17:29 ` [PATCH v7 00/15] dmaengine: dw-edma: HDMA support Vinod Koul
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1613674948.git.gustavo.pimentel@synopsys.com \
--to=gustavo.pimentel@synopsys.com \
--cc=bhelgaas@google.com \
--cc=dan.j.williams@intel.com \
--cc=dmaengine@vger.kernel.org \
--cc=kw@linux.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).