Merge branch 'x86-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 iommu quirk fix from Thomas Gleixner: "A quirk for the iommu quirk to include silicon which was assumed not to be out in the wild. This time with the correct logic applied" * 'x86-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86: Adjust irq remapping quirk for older revisions of 5500/5520 chipsets
This commit is contained in:
commit
b6d739e958
1 changed files with 6 additions and 9 deletions
|
@ -203,18 +203,15 @@ static void __init intel_remapping_check(int num, int slot, int func)
|
||||||
revision = read_pci_config_byte(num, slot, func, PCI_REVISION_ID);
|
revision = read_pci_config_byte(num, slot, func, PCI_REVISION_ID);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Revision 13 of all triggering devices id in this quirk have
|
* Revision <= 13 of all triggering devices id in this quirk
|
||||||
* a problem draining interrupts when irq remapping is enabled,
|
* have a problem draining interrupts when irq remapping is
|
||||||
* and should be flagged as broken. Additionally revisions 0x12
|
* enabled, and should be flagged as broken. Additionally
|
||||||
* and 0x22 of device id 0x3405 has this problem.
|
* revision 0x22 of device id 0x3405 has this problem.
|
||||||
*/
|
*/
|
||||||
if (revision == 0x13)
|
if (revision <= 0x13)
|
||||||
set_irq_remapping_broken();
|
set_irq_remapping_broken();
|
||||||
else if ((device == 0x3405) &&
|
else if (device == 0x3405 && revision == 0x22)
|
||||||
((revision == 0x12) ||
|
|
||||||
(revision == 0x22)))
|
|
||||||
set_irq_remapping_broken();
|
set_irq_remapping_broken();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Reference in a new issue