On Thu, 2020-01-09 at 15:36 +0100, Christoph Hellwig wrote: > On Tue, Dec 31, 2019 at 01:24:22PM -0700, Jon Derrick wrote: > > Devices on the VMD domain use the VMD endpoint's requester-id and have > > been relying on the VMD endpoint's dma operations. The downside of this > > was that VMD domain devices would use the VMD endpoint's attributes when > > doing DMA and IOMMU mapping. We can be smarter about this by only using > > the VMD endpoint when mapping and providing the correct child device's > > attributes during dma operations. > > > > This patch adds a new dma alias mechanism by adding a hint to a pci_dev > > to point to a singular DMA requester's pci_dev. This integrates into the > > existing dma alias infrastructure to reduce the impact of the changes > > required to support this mode. > > If we want to lift this check into common code I think it should go > into struct device, as that is what DMA operates on normally. I thought about that too, but the dma alias mechanism was in pci_dev. I can prepare a new version with struct device. > That > being said given that this insane hack only exists for braindamage in > Intel hardware I'd rather keep it as isolated as possible. jmho but the footprint of the new set is pretty minimal and removes a lot of dubious code in vmd.c.