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 <[email protected]>
>
> Signed-off-by: Koichiro Den <[email protected]>
> ---
>  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
>

Reply via email to