On Thu, Sep 18, 2025 at 06:16:38AM +0000, Kasireddy, Vivek wrote: > However, assuming that pci_p2pdma_map_type() did not fail, based on my > experiments, the GPU PF is still unable to access the buffer located in VF's > VRAM portion directly because it is represented using PCI BAR addresses.
In this case messing with ACS is completely wrong. If the intention is to convay a some kind of "private" address representing the physical VRAM then you need to use a DMABUF mechanism to do that, not deliver a P2P address that the other side cannot access. Christian told me dmabuf has such a private address mechanism, so please figure out a way to use it.. > > Do not open code quirks like this in random places, if this device > > supports some weird ACS behavior and does not include it in the ACS > > Caps the right place is to supply an ACS quirk in quirks.c so all the > > code knows about the device behavior, including the iommu grouping. > Ok, I'll move it to quirks.c. No, don't, it is completely wrong to mess with ACS flags for the problem you are trying to solve. > On my test system, it looks like the VFs and the PF are put into different > iommu groups. I am checking with our hardware folks to understand how this > is expected to work but does it mean that P2P between PF and VF is not > supported in my case? A special internal path through VRAM is outside the scope of iommu grouping. Jason
