> -----Original Message----- > From: Bjorn Helgaas [mailto:bhelg...@google.com] > Sent: Thursday, May 7, 2015 10:08 AM > To: William Davis > Cc: j...@8bytes.org; iommu@lists.linux-foundation.org; linux- > p...@vger.kernel.org; Terence Ripperda; John Hubbard; jgli...@redhat.com > Subject: Re: [PATCH 6/6] x86: add pci-nommu implementation of map_resource > > On Fri, May 01, 2015 at 01:32:18PM -0500, wda...@nvidia.com wrote: > > From: Will Davis <wda...@nvidia.com> > > > > diff --git a/arch/x86/kernel/pci-nommu.c b/arch/x86/kernel/pci-nommu.c > > index da15918..6e9e66d 100644 > > --- a/arch/x86/kernel/pci-nommu.c > > +++ b/arch/x86/kernel/pci-nommu.c > > @@ -38,6 +38,22 @@ static dma_addr_t nommu_map_page(struct device *dev, > struct page *page, > > return bus; > > } > > > > +static dma_addr_t nommu_map_resource(struct device *dev, struct resource > *res, > > + unsigned long offset, size_t size, > > + enum dma_data_direction dir, > > + struct dma_attrs *attrs) > > +{ > > + dma_addr_t bus = res->start + offset; > > "res->start" is the CPU physical address, not the bus address. There is a > pci_bus_address() interface to get the bus address. > > On many, but not all, x86 platforms the CPU physical address is identical > to the PCI bus address. >
Thanks for pointing that out. Since we already have the resource here (and not the BAR index), I'll use pcibios_resource_to_bus(), as pci_bus_address() does. Thanks, Will -- nvpublic _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu