From: Frank Li <Frank.li@oss.nxp.com>
To: Koichiro Den <den@valinux.co.jp>
Cc: "Manivannan Sadhasivam" <mani@kernel.org>,
"Jingoo Han" <jingoohan1@gmail.com>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczyński" <kwilczynski@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Kishon Vijay Abraham I" <kishon@kernel.org>,
"Frank Li" <Frank.Li@kernel.org>,
"Marek Vasut" <marek.vasut+renesas@mailbox.org>,
"Yoshihiro Shimoda" <yoshihiro.shimoda.uh@renesas.com>,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6 0/6] PCI: endpoint: Expose endpoint DMA resources (part 2/3)
Date: Fri, 7 Aug 2026 16:43:40 -0400 [thread overview]
Message-ID: <anZDfAvWOGZOU_EB@lizhi-Precision-Tower-5810> (raw)
In-Reply-To: <20260804033855.2115817-1-den@valinux.co.jp>
On Tue, Aug 04, 2026 at 12:38:49PM +0900, Koichiro Den wrote:
> Hi,
>
> This is v6, part 2 of three series for PCI endpoint DMA.
>
> The three series are:
>
> * part 1: dmaengine: dw-edma: Prepare for PCI EP DMA
> * part 2: PCI: endpoint: Expose endpoint DMA resources
> * part 3: PCI: endpoint: Add PCI DMA endpoint function
This part only 3 patch, You can merge to part2. It will be easy to know
overall picture.
Frank
>
> This series defines the endpoint DMA BAR metadata and auxiliary
> resources, adds EPC operations for DMA channel delegation, and teaches
> the DesignWare endpoint controller to publish and delegate its
> integrated DMA resources.
>
> The metadata lives in a normal endpoint BAR, not in PCI config space.
> This keeps discovery independent from controller-specific writable
> extended capability storage.
>
> Part 1 v6 has landed in linux-next via dmaengine/next:
> https://lore.kernel.org/all/20260721062815.4117887-1-den@valinux.co.jp/
>
> v6 is rebased on next-20260803.
>
> Best regards,
> Koichiro
> ---
> Changes in v6:
> - Rebase onto next-20260803, which includes part 1 v6.
> - Use one DMA resource snapshot for bounds checking and array filling.
> (Sashiko)
> - Move DMA resource exposure after delegation support so every advertised
> channel is immediately usable. (Sashiko)
>
> Changes in v5:
> - Keep reporting a standalone doorbell when linked-list DMA resources
> are unavailable. (Sashiko)
> - Serialize irq_mode restoration with channel state updates. (Sashiko)
> - Clarify the provider-defined sharing-group quiesce contract.
> - Use guard()/scoped_guard() for new code.
>
> Changes in v4:
> - Rebased onto the new part 1 series.
> - "dmaengine: dw-edma: Add delegated channel request helpers" moved
> from part 1 into this series, next to its only users; this also
> resolves the undeclared-functions issue reported against v3 5/5.
> (Sashiko)
> - Lift the v3 PF0-only restriction on DMA resource exposure and
> channel delegation: part 1 now programs the per-channel requester
> function number. Delegation to PF1+ therefore requires part 1
> applied on the host side.
> - Move pci_epc_function_is_valid() up to avoid a potential error
> pointer dereference. (Sashiko)
>
> Changes in v3:
> - Decouple logical DMA channel metadata from descriptor memory resources.
> Logical channels now refer to descriptor memory by resource ID instead
> of embedding descriptor metadata in each channel resource. (Sashiko)
> - Replace the v2 DMAengine filter-callback metadata with EPC-level DMA
> channel delegation/reclaim operations, keeping DMAengine provider
> details out of generic EPC resource metadata.
> - Add the DesignWare EPC backend for DMA channel delegation.
> - Limit DesignWare endpoint DMA resource exposure to linked-list channels
> until non-LL metadata and host-side parsing are added.
> - Suppress DesignWare DMA auxiliary resources when the local DW eDMA
> provider is not available.
> - Reject VF DMA resource and delegation requests because the DWC
> eDMA/HDMA register window exposed to the Root Complex is PF-only.
>
> Changes in v2:
> - Follow the part 1/3 v2 channel-claim model: EPC DMA resources now
> carry DMAengine filter information instead of raw DMA channel
> pointers. (Sashiko)
> - Update the DesignWare endpoint resource provider accordingly. (Sashiko)
>
> v5: https://lore.kernel.org/r/20260717050635.2145014-1-den@valinux.co.jp/
> v4: https://lore.kernel.org/r/20260710082156.2395844-1-den@valinux.co.jp/
> v3: https://lore.kernel.org/r/20260620170438.3756593-1-den@valinux.co.jp/
> v2: https://lore.kernel.org/r/20260525063129.3316894-1-den@valinux.co.jp/
> v1: https://lore.kernel.org/r/20260521063405.2842644-1-den@valinux.co.jp/
>
>
> Koichiro Den (6):
> PCI: endpoint: Define endpoint DMA BAR metadata format
> PCI: endpoint: Add DMA auxiliary resource metadata
> PCI: endpoint: Add API to delegate EPC DMA channels to the host
> dmaengine: dw-edma: Add delegated channel request helpers
> PCI: dwc: Implement endpoint DMA channel delegation
> PCI: dwc: Expose endpoint DMA resources
>
> MAINTAINERS | 1 +
> drivers/dma/dw-edma/dw-edma-core.c | 91 ++++++++
> .../pci/controller/dwc/pcie-designware-ep.c | 205 +++++++++++++++++-
> drivers/pci/endpoint/pci-epc-core.c | 105 +++++++++
> include/linux/dma/edma.h | 14 ++
> include/linux/pci-ep-dma.h | 170 +++++++++++++++
> include/linux/pci-epc.h | 62 ++++++
> 7 files changed, 640 insertions(+), 8 deletions(-)
> create mode 100644 include/linux/pci-ep-dma.h
>
> base-commit: 9a4cdc958dd79fc6c3b20b51a10debec6ca09fec
> --
> 2.51.0
>
next prev parent reply other threads:[~2026-08-07 20:43 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-04 3:38 [PATCH v6 0/6] PCI: endpoint: Expose endpoint DMA resources (part 2/3) Koichiro Den
2026-08-04 3:38 ` [PATCH v6 1/6] PCI: endpoint: Define endpoint DMA BAR metadata format Koichiro Den
2026-08-04 3:41 ` sashiko-bot
2026-08-04 15:23 ` Frank Li
2026-08-05 2:03 ` Koichiro Den
2026-08-04 3:38 ` [PATCH v6 2/6] PCI: endpoint: Add DMA auxiliary resource metadata Koichiro Den
2026-08-04 3:41 ` sashiko-bot
2026-08-04 15:26 ` Frank Li
2026-08-04 3:38 ` [PATCH v6 3/6] PCI: endpoint: Add API to delegate EPC DMA channels to the host Koichiro Den
2026-08-04 3:44 ` sashiko-bot
2026-08-04 16:06 ` Frank Li
2026-08-04 3:38 ` [PATCH v6 4/6] dmaengine: dw-edma: Add delegated channel request helpers Koichiro Den
2026-08-04 3:52 ` sashiko-bot
2026-08-05 2:15 ` Koichiro Den
2026-08-04 16:23 ` Frank Li
2026-08-05 2:05 ` Koichiro Den
2026-08-05 18:47 ` Frank Li
2026-08-06 3:45 ` Koichiro Den
2026-08-06 16:50 ` Frank Li
2026-08-08 16:42 ` Koichiro Den
2026-08-10 19:10 ` Frank Li
2026-08-10 21:52 ` Frank Li
2026-08-12 4:11 ` Koichiro Den
2026-08-12 14:39 ` Frank Li
2026-08-04 3:38 ` [PATCH v6 5/6] PCI: dwc: Implement endpoint DMA channel delegation Koichiro Den
2026-08-04 3:46 ` sashiko-bot
2026-08-04 3:38 ` [PATCH v6 6/6] PCI: dwc: Expose endpoint DMA resources Koichiro Den
2026-08-04 3:54 ` sashiko-bot
2026-08-04 16:29 ` Frank Li
2026-08-07 20:43 ` Frank Li [this message]
2026-08-08 17:04 ` [PATCH v6 0/6] PCI: endpoint: Expose endpoint DMA resources (part 2/3) Koichiro Den
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=anZDfAvWOGZOU_EB@lizhi-Precision-Tower-5810 \
--to=frank.li@oss.nxp.com \
--cc=Frank.Li@kernel.org \
--cc=bhelgaas@google.com \
--cc=den@valinux.co.jp \
--cc=jingoohan1@gmail.com \
--cc=kishon@kernel.org \
--cc=kwilczynski@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mani@kernel.org \
--cc=marek.vasut+renesas@mailbox.org \
--cc=robh@kernel.org \
--cc=yoshihiro.shimoda.uh@renesas.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.