[PATCH 0/2] iommu: Fix regression in IOMMU grouping
From: Alex Williamson
Date: Fri Sep 19 2014 - 12:03:13 EST
We've had surprisingly little fallout from the DMA alias changes, but
unfortunately one regression has popped up. We have an AMD system
that seems to use the SATA controller to master transactions for the
legacy IDE controller and they are different slots on the root complex.
The IVRS reports 00:11.0 (SATA) as an alias from 00:14.1 (IDE), which
doesn't work with the new, converged PCI IOMMU grouping code, where
we've made a simplifying assumption that aliases will be to the same
slot.
To fix this, we need to rip out that assumption and write the alias
search code that I was unable to come up with previously. I think
this can now do the chaining of aliases, which I referenced in the
removed comments. Any sort of multi-level aliases are exceptionally
unlikely, but I think this code can now handle whatever firmware and
alias quirks can throw at it.
I know this is late for 3.17, but this is a regression from the prior
code. If reviews and testing can give us the confidence to put it in
for 3.17, that would be my preference. I've also marked it for stable
in case we want to loop back through that way. Thanks,
Alex
---
Alex Williamson (2):
iommu/amd: Split init_iommu_group() from iommu_init_device()
iommu: Rework iommu_group_get_for_pci_dev()
drivers/iommu/amd_iommu.c | 27 ++++---
drivers/iommu/iommu.c | 163 +++++++++++++++++++++++++++------------------
2 files changed, 109 insertions(+), 81 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/