[kernel] Quirk to disable DMAR with Ricoh card reader/firewire

Kyle McMartin kyle at fedoraproject.org
Mon Oct 18 15:59:45 UTC 2010


commit dbda5f5afdca53ed9c5518634594372d6b5a75ec
Author: Kyle McMartin <kyle at mcmartin.ca>
Date:   Mon Oct 18 11:59:37 2010 -0400

    Quirk to disable DMAR with Ricoh card reader/firewire

 dmar-disable-when-ricoh-multifunction.patch |   33 +++++++++++++++++++++++++++
 kernel.spec                                 |    8 ++++++
 2 files changed, 41 insertions(+), 0 deletions(-)
---
diff --git a/dmar-disable-when-ricoh-multifunction.patch b/dmar-disable-when-ricoh-multifunction.patch
new file mode 100644
index 0000000..120730f
--- /dev/null
+++ b/dmar-disable-when-ricoh-multifunction.patch
@@ -0,0 +1,33 @@
+From da7662784dcced04a5b7a3a5b2bbb8276d699522 Mon Sep 17 00:00:00 2001
+From: Kyle McMartin <kyle at mcmartin.ca>
+Date: Sun, 17 Oct 2010 15:55:32 -0400
+Subject: [PATCH] dmar: disable if ricoh multifunction detected
+
+---
+ drivers/pci/intel-iommu.c |   10 ++++++++++
+ 1 files changed, 10 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
+index 4789f8e..5923914 100644
+--- a/drivers/pci/intel-iommu.c
++++ b/drivers/pci/intel-iommu.c
+@@ -3784,6 +3784,16 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0044, quirk_calpella_no_shadow_g
+ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0062, quirk_calpella_no_shadow_gtt);
+ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x006a, quirk_calpella_no_shadow_gtt);
+ 
++/* https://bugzilla.redhat.com/show_bug.cgi?id=605888 */
++static void __devinit quirk_ricoh_multifunction(struct pci_dev *dev)
++{
++	dmar_disabled = 1;
++}
++DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe822, quirk_ricoh_multifunction);
++DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe230, quirk_ricoh_multifunction);
++DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe832, quirk_ricoh_multifunction);
++DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe476, quirk_ricoh_multifunction);
++
+ /* On Tylersburg chipsets, some BIOSes have been known to enable the
+    ISOCH DMAR unit for the Azalia sound device, but not give it any
+    TLB entries, which causes it to deadlock. Check for that.  We do
+-- 
+1.7.3.1
+
diff --git a/kernel.spec b/kernel.spec
index affce54..3bb6f1e 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -725,6 +725,8 @@ Patch12301: btusb-macbookpro-6-2.patch
 
 Patch12302: pnpacpi-cope-with-invalid-device-ids.patch
 
+Patch12303: dmar-disable-when-ricoh-multifunction.patch
+
 %endif
 
 BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@@ -1338,6 +1340,9 @@ ApplyPatch btusb-macbookpro-6-2.patch
 # rhbz#641468
 ApplyPatch pnpacpi-cope-with-invalid-device-ids.patch
 
+# rhbz#605888
+ApplyPatch dmar-disable-when-ricoh-multifunction.patch
+
 # END OF PATCH APPLICATIONS
 
 %endif
@@ -1945,6 +1950,9 @@ fi
 #                 ||     ||
 
 %changelog
+* Mon Oct 18 2010 Kyle McMartin <kyle at redhat.com>
+- Quirk to disable DMAR with Ricoh card reader/firewire. (rhbz#605888)
+
 * Fri Oct 15 2010 Kyle McMartin <kyle at redhat.com>
 - Switched to pci=use_crs by default (it should have been fixed since
   cebbert sucked in the patches anyway.)


More information about the scm-commits mailing list