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 >
