Alex Williamson d3d2ab43dd PCI: Add DMA alias quirk for Adaptec 3405
The Adaptec 3405 is actually an Intel 80333 I/O processor where the exposed
device at 0e.0 is actually the address translation unit of the I/O
processor and a hidden, private device at 01.0 masters the DMA for the
device.  Create a fixed alias between the exposed and hidden devfn so we
can enable the IOMMU.

Scenarios like this are potentially likely for any device incorporating
this I/O processor, so this little bit of abstraction with the fixed alias
table should make future additions trivial.

Without this fix, booting a system with the Intel IOMMU enabled and an
Adaptec 3405 at 02:0e.0 results in a flood of errors like this:

  dmar: DRHD: handling fault status reg 3
  dmar: DMAR:[DMA Write] Request device [02:01.0] fault addr ffbff000
  DMAR:[fault reason 02] Present bit in context entry is clear

[bhelgaas: changelog, comment]
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: Adaptec OEM Raid Solutions <aacraid@adaptec.com>
2015-01-23 15:44:45 -06:00
..
2014-12-14 16:10:09 -08:00
2014-12-16 14:08:14 +01:00
2014-06-10 20:20:19 -06:00
2014-12-14 16:10:09 -08:00
2014-12-10 20:58:52 -08:00
2014-06-10 20:20:19 -06:00
2014-06-10 20:20:19 -06:00
2014-06-10 20:20:19 -06:00
2014-06-10 20:20:19 -06:00