[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