rpms/kernel/F-12 linux-2.6-iommu-hp-cantiga-resume.patch, NONE, 1.1 kernel.spec, 1.1936, 1.1937
David Woodhouse
dwmw2 at fedoraproject.org
Thu Nov 26 10:57:40 UTC 2009
- Previous message (by thread): File partimage-0.6.8.tar.bz2 uploaded to lookaside cache by roma
- Next message (by thread): rpms/partimage/F-10 .cvsignore, 1.2, 1.3 README.partimage.html, 1.1, 1.2 import.log, 1.1, 1.2 partimage.spec, 1.1, 1.2 sources, 1.2, 1.3 partimage-0.6.7-gcc43.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: dwmw2
Update of /cvs/pkgs/rpms/kernel/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20631
Modified Files:
kernel.spec
Added Files:
linux-2.6-iommu-hp-cantiga-resume.patch
Log Message:
Bring me the skull of a BIOS engineer
linux-2.6-iommu-hp-cantiga-resume.patch:
intel-iommu.c | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
--- NEW FILE linux-2.6-iommu-hp-cantiga-resume.patch ---
--- linux-2.6.31.x86_64/drivers/pci/intel-iommu.c.orig 2009-11-25 10:37:05.000000000 +0000
+++ linux-2.6.31.x86_64/drivers/pci/intel-iommu.c 2009-11-26 07:20:04.000000000 +0000
@@ -3073,6 +3073,36 @@ static void __init init_no_remapping_dev
}
#ifdef CONFIG_SUSPEND
+
+/*
+ * On Cantiga, the dedicated IOMMU for the integrated graphics won't
+ * come back unless the MMIO BAR for the gfx device (00:02.0) is enabled.
+ * And some HP BIOSes don't restore it on resume. Linux will restore it
+ * later, but that's too late -- we need to reinitialise the IOMMU first.
+ */
+void cantiga_gfx_bar_enable(struct dmar_drhd_unit *drhd)
+{
+ int i;
+ uint32_t mmiobar;
+
+ for (i = 0; i < drhd->devices_cnt; i++) {
+ if (!drhd->devices[i] ||
+ drhd->devices[i]->vendor != 0x8086 ||
+ drhd->devices[i]->device != 0x2a42)
+ continue;
+
+ pci_read_config_dword(drhd->devices[i], PCI_BASE_ADDRESS_0,
+ &mmiobar);
+ if (!(mmiobar & PCI_BASE_ADDRESS_MEM_MASK) &&
+ pci_resource_start(drhd->devices[i], 0)) {
+ WARN(1, "BIOS failed to restore BARs for integrated graphics device; fixing...\n");
+ pci_write_config_dword(drhd->devices[i],
+ PCI_BASE_ADDRESS_0,
+ pci_resource_start(drhd->devices[i], 0) | mmiobar);
+ }
+ }
+}
+
static int init_iommu_hw(void)
{
struct dmar_drhd_unit *drhd;
@@ -3091,6 +3121,9 @@ static int init_iommu_hw(void)
DMA_CCMD_GLOBAL_INVL);
iommu->flush.flush_iotlb(iommu, 0, 0, 0,
DMA_TLB_GLOBAL_FLUSH);
+
+ cantiga_gfx_bar_enable(drhd);
+
iommu_enable_translation(iommu);
iommu_disable_protect_mem_regions(iommu);
}
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-12/kernel.spec,v
retrieving revision 1.1936
retrieving revision 1.1937
diff -u -p -r1.1936 -r1.1937
--- kernel.spec 25 Nov 2009 20:03:58 -0000 1.1936
+++ kernel.spec 26 Nov 2009 10:57:40 -0000 1.1937
@@ -630,6 +630,7 @@ Patch102: linux-2.6-iommu-at-zero.patch
Patch103: linux-2.6-iommu-dmar-all-1s.patch
Patch104: linux-2.6-iommu-another-hp-screwup.patch
Patch105: linux-2.6-iommu-sanity-checks-for-intr-remap-too.patch
+Patch106: linux-2.6-iommu-hp-cantiga-resume.patch
Patch141: linux-2.6-ps3-storage-alias.patch
Patch143: linux-2.6-g5-therm-shutdown.patch
@@ -1249,6 +1250,8 @@ ApplyPatch linux-2.6-iommu-dmar-all-1s.p
ApplyPatch linux-2.6-iommu-another-hp-screwup.patch
# Apply the 'at zero' and 'all 0xFF' sanity checks for intr_remap too
ApplyPatch linux-2.6-iommu-sanity-checks-for-intr-remap-too.patch
+# Fix up MMIO BAR for integrated graphics on HP laptops on resume (#536675)
+ApplyPatch linux-2.6-iommu-hp-cantiga-resume.patch
#
# PowerPC
@@ -2152,6 +2155,9 @@ fi
# and build.
%changelog
+* Wed Nov 26 2009 David Woodhouse <David.Woodhouse at intel.com> 2.6.31.6-151
+- VT-d: Work around yet more HP BIOS brokenness (#536675)
+
* Wed Nov 25 2009 Kyle McMartin <kyle at redhat.com>
- dlm: fix connection close handling.
Fix by lmb, requested by fabio.
- Previous message (by thread): File partimage-0.6.8.tar.bz2 uploaded to lookaside cache by roma
- Next message (by thread): rpms/partimage/F-10 .cvsignore, 1.2, 1.3 README.partimage.html, 1.1, 1.2 import.log, 1.1, 1.2 partimage.spec, 1.1, 1.2 sources, 1.2, 1.3 partimage-0.6.7-gcc43.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list