[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aW6UWJ6HLltjwhT/@lizhi-Precision-Tower-5810>
Date: Mon, 19 Jan 2026 15:30:16 -0500
From: Frank Li <Frank.li@....com>
To: Koichiro Den <den@...inux.co.jp>
Cc: dave.jiang@...el.com, cassel@...nel.org, mani@...nel.org,
kwilczynski@...nel.org, kishon@...nel.org, bhelgaas@...gle.com,
geert+renesas@...der.be, robh@...nel.org, vkoul@...nel.org,
jdmason@...zu.us, allenbh@...il.com, jingoohan1@...il.com,
lpieralisi@...nel.org, linux-pci@...r.kernel.org,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-renesas-soc@...r.kernel.org, devicetree@...r.kernel.org,
dmaengine@...r.kernel.org, iommu@...ts.linux.dev,
ntb@...ts.linux.dev, netdev@...r.kernel.org,
linux-kselftest@...r.kernel.org, arnd@...db.de,
gregkh@...uxfoundation.org, joro@...tes.org, will@...nel.org,
robin.murphy@....com, magnus.damm@...il.com, krzk+dt@...nel.org,
conor+dt@...nel.org, corbet@....net, skhan@...uxfoundation.org,
andriy.shevchenko@...ux.intel.com, jbrunet@...libre.com,
utkarsh02t@...il.com
Subject: Re: [RFC PATCH v4 15/38] PCI: endpoint: pci-epf-vntb: Implement
.get_dma_dev()
On Sun, Jan 18, 2026 at 10:54:17PM +0900, Koichiro Den wrote:
> For DMA API allocations and mappings, pci-epf-vntb should provide an
> appropriate struct device for the NTB core/clients.
>
> Implement .get_dma_dev() and return the EPC parent device.
Simple said:
Implement .get_dma_dev() and return the EPC parent device for NTB
core/client's DMA allocations and mappings API.
Reviewed-by: Frank Li <Frank.Li@....com>
>
> Signed-off-by: Koichiro Den <den@...inux.co.jp>
> ---
> drivers/pci/endpoint/functions/pci-epf-vntb.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/pci/endpoint/functions/pci-epf-vntb.c b/drivers/pci/endpoint/functions/pci-epf-vntb.c
> index 9fbc27000f77..7cd976757d15 100644
> --- a/drivers/pci/endpoint/functions/pci-epf-vntb.c
> +++ b/drivers/pci/endpoint/functions/pci-epf-vntb.c
> @@ -1747,6 +1747,15 @@ static int vntb_epf_link_disable(struct ntb_dev *ntb)
> return 0;
> }
>
> +static struct device *vntb_epf_get_dma_dev(struct ntb_dev *ndev)
> +{
> + struct epf_ntb *ntb = ntb_ndev(ndev);
> +
> + if (!ntb || !ntb->epf)
> + return NULL;
> + return ntb->epf->epc->dev.parent;
> +}
> +
> static void *vntb_epf_get_private_data(struct ntb_dev *ndev)
> {
> struct epf_ntb *ntb = ntb_ndev(ndev);
> @@ -1780,6 +1789,7 @@ static const struct ntb_dev_ops vntb_epf_ops = {
> .db_clear_mask = vntb_epf_db_clear_mask,
> .db_clear = vntb_epf_db_clear,
> .link_disable = vntb_epf_link_disable,
> + .get_dma_dev = vntb_epf_get_dma_dev,
> .get_private_data = vntb_epf_get_private_data,
> };
>
> --
> 2.51.0
>
Powered by blists - more mailing lists