bomb out of edp bringout that's going to be fail anyway

This commit is contained in:
Kyle McMartin 2010-10-18 19:28:12 -04:00
parent 6268215f01
commit a1b8c4ed84
3 changed files with 60 additions and 2 deletions

View File

@ -11,13 +11,14 @@ diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
index 8e499e8..076c5de 100644
--- a/drivers/pci/intel-iommu.c
+++ b/drivers/pci/intel-iommu.c
@@ -3755,6 +3755,16 @@ static void __devinit quirk_iommu_rwbf(struct pci_dev *dev)
@@ -3755,6 +3755,17 @@ static void __devinit quirk_iommu_rwbf(struct pci_dev *dev)
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2a40, quirk_iommu_rwbf);
+/* https://bugzilla.redhat.com/show_bug.cgi?id=605888 */
+static void __devinit quirk_ricoh_multifunction(struct pci_dev *dev)
+{
+ printk(KERN_INFO "intel_iommu: broken Ricoh device %04X detected, disabling...\n");
+ dmar_disabled = 1;
+}
+DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe822, quirk_ricoh_multifunction);

View File

@ -0,0 +1,50 @@
https://bugzilla.redhat.com/show_bug.cgi?id=639146
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index ce8ff0e..3bbd2c4 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1353,6 +1353,27 @@ static bool i915_switcheroo_can_switch(struct pci_dev *pdev)
return can_switch;
}
+/* check the VBT to see whether the eDP is on DP-D port */
+static bool intel_dpd_is_edp(struct drm_device *dev)
+{
+ struct drm_i915_private *dev_priv = dev->dev_private;
+ struct child_device_config *p_child;
+ int i;
+
+ if (!dev_priv->child_dev_num)
+ return false;
+
+ for (i = 0; i < dev_priv->child_dev_num; i++) {
+ p_child = dev_priv->child_dev + i;
+
+ if (p_child->dvo_port == PORT_IDPD &&
+ p_child->device_type == DEVICE_TYPE_eDP)
+ return true;
+ }
+
+ return false;
+}
+
static int i915_load_modeset_init(struct drm_device *dev,
unsigned long prealloc_start,
unsigned long prealloc_size,
@@ -1409,6 +1430,15 @@ static int i915_load_modeset_init(struct drm_device *dev,
if (ret)
DRM_INFO("failed to find VBIOS tables\n");
+ /* XXX: eDP doesn't even work in git HEAD,
+ * bail out and pray that text mode still works...
+ */
+ if (intel_dpd_is_edp(dev)) {
+ DRM_ERROR("eDP support is currently non-functional, please boot with \"nomodeset xdriver=vesa\"\n");
+ ret = -EINVAL;
+ goto cleanup_ringbuffer;
+ }
+
/* if we have > 1 VGA cards, then disable the radeon VGA resources */
ret = vga_client_register(dev->pdev, dev, NULL, i915_vga_set_decode);
if (ret)

View File

@ -48,7 +48,7 @@ Summary: The Linux kernel
# reset this by hand to 1 (or to 0 and then use rpmdev-bumpspec).
# scripts/rebase.sh should be made to do that for you, actually.
#
%global baserelease 44
%global baserelease 45
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@ -2013,6 +2013,13 @@ fi
# and build.
%changelog
* Mon Oct 18 2010 Kyle McMartin <kyle@redhat.com> 2.6.35.6-45
- Print a useful message when disabling IOMMU when a Ricoh cardreader
is probed.
- Disable eDP pipe bringup on i915 since it won't work anyway, and changes
away from text-mode, resulting in nothing but a backlight on a lot of
laptops. (rhbz#639146)
* Mon Oct 18 2010 Kyle McMartin <kyle@redhat.com>
- ima: Default it to off, pass ima=on to enable. Reduce impact of the option
when disabled.