On Tue, 2012-08-28 at 00:05 +0800, Andrew Cooks wrote: > There's a problem relating to DMA Remapping which affects systems with > Marvell SATA controllers. It was first reported on 2012-01-28 on > bugzilla.kernel.org[1] and is best described by Don Dutile: "...the > lspci dump in the bugzilla report doesn't show a device w/BDF=0b:00.1; > so, if the SATA device (which is 0b:00.0) is spitting out 0b:00.1 as > the source of any of its DMA packets, the IOMMU will fault on it, > since 0b:00.1 didn't request DMA mappings (0b:00.0 did)."[2] > > Is this kind of problem caused by a missing/incorrect entry in an ACPI > table? Is it feasible to introduce a fake device for the missing > function using a pci quirk? We've added pci_get_dma_source() to help with such devices, but it's only used by the IOMMU grouping code and requires a struct pci_dev for the actual DMA source. I think for this device we're going to need to run a quirk when we scan it that creates a fake device, add it to pci_get_dma_source(), then make use of it in the dma mapping path. I think the only other alternative would be to disable hardware IOMMUs when this device is found in the system. Thanks, Alex -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html