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

Kyle McMartin kyle at fedoraproject.org
Mon Oct 18 15:40:02 UTC 2010


commit 915df7f6de0e63a45e08f7f7c3c920cc0850ee67
Author: kyle <kyle at ihatethathostname.lab.bos.redhat.com>
Date:   Mon Oct 18 11:39:49 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..25f4d7c
--- /dev/null
+++ b/dmar-disable-when-ricoh-multifunction.patch
@@ -0,0 +1,33 @@
+From 6d5193dfd682c5eb6c98024355dd53fbb153cd4f 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 cc46b61..c523294 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -761,6 +761,8 @@ Patch13630: dm-allow-setting-of-uuid-via-rename-if-not-already-set.patch
 Patch13635: r8169-fix-dma-allocations.patch
 Patch13636: skge-quirk-to-4gb-dma.patch
 
+Patch13637: dmar-disable-when-ricoh-multifunction.patch
+
 %endif
 
 BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@@ -1418,6 +1420,9 @@ ApplyPatch r8169-fix-dma-allocations.patch
 # rhbz#447489
 ApplyPatch skge-quirk-to-4gb-dma.patch
 
+# rhbz#605888
+ApplyPatch dmar-disable-when-ricoh-multifunction.patch
+
 # END OF PATCH APPLICATIONS
 
 %endif
@@ -2005,6 +2010,9 @@ fi
 
 %changelog
 * Mon Oct 18 2010 Kyle McMartin <kyle at redhat.com>
+- Quirk to disable DMAR with Ricoh card reader/firewire. (rhbz#605888)
+
+* Mon Oct 18 2010 Kyle McMartin <kyle at redhat.com>
 - Two networking fixes (skge, r8169) from sgruska. (rhbz#447489,629158)
 
 * Fri Oct 15 2010 Kyle McMartin <kyle at redhat.com>


More information about the scm-commits mailing list