diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2010-09-21 17:28:23 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2010-09-21 17:28:23 -0400 |
commit | 9eecabcb9a924f1e11ba670365fd4babe423045c (patch) | |
tree | 860699db6130f062fdbb94da94e352029c145e40 /drivers/pci/intel-iommu.c | |
parent | b30a3f6257ed2105259b404d419b4964e363928c (diff) |
intel-iommu: Abort IOMMU setup for igfx if BIOS gave no shadow GTT space
Yet another BIOS bug; Lenovo this time (X201). Red Hat bug #593516.
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/pci/intel-iommu.c')
-rw-r--r-- | drivers/pci/intel-iommu.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c index c3ceebb5be84..dee88c6cb3ef 100644 --- a/drivers/pci/intel-iommu.c +++ b/drivers/pci/intel-iommu.c | |||
@@ -3761,6 +3761,23 @@ static void __devinit quirk_iommu_rwbf(struct pci_dev *dev) | |||
3761 | 3761 | ||
3762 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2a40, quirk_iommu_rwbf); | 3762 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2a40, quirk_iommu_rwbf); |
3763 | 3763 | ||
3764 | static void __devinit quirk_calpella_no_shadow_gtt(struct pci_dev *dev) | ||
3765 | { | ||
3766 | unsigned short ggc; | ||
3767 | |||
3768 | if (pci_read_config_word(dev, 0x52, &ggc)) | ||
3769 | return; | ||
3770 | |||
3771 | if (!(ggc & 0x800)) { | ||
3772 | printk(KERN_INFO "DMAR: BIOS has allocated no shadow GTT; disabling IOMMU for graphics\n"); | ||
3773 | dmar_map_gfx = 0; | ||
3774 | } | ||
3775 | } | ||
3776 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0040, quirk_calpella_no_shadow_gtt); | ||
3777 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0044, quirk_calpella_no_shadow_gtt); | ||
3778 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0062, quirk_calpella_no_shadow_gtt); | ||
3779 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x006a, quirk_calpella_no_shadow_gtt); | ||
3780 | |||
3764 | /* On Tylersburg chipsets, some BIOSes have been known to enable the | 3781 | /* On Tylersburg chipsets, some BIOSes have been known to enable the |
3765 | ISOCH DMAR unit for the Azalia sound device, but not give it any | 3782 | ISOCH DMAR unit for the Azalia sound device, but not give it any |
3766 | TLB entries, which causes it to deadlock. Check for that. We do | 3783 | TLB entries, which causes it to deadlock. Check for that. We do |