All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Bjørn Mork" <bjorn@mork.no>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>,
	Jani Nikula <jani.nikula@linux.intel.com>,
	intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org
Subject: Regression in v4.5-rc1, bisected to commit 39bfcd5235e0 ("drm/i915: more virtual south bridge detection")
Date: Mon, 25 Jan 2016 03:52:25 +0100	[thread overview]
Message-ID: <87y4bes74m.fsf@nemi.mork.no> (raw)

Hello,

my oldish Thinkpad X301 only wanted to show a blank screen in v4.5-rc1.
Bisecting resulted in:

HEAD is now at 39bfcd5235e0 drm/i915: more virtual south bridge detection
39bfcd5235e07e95ad3e70eab8e0b85db181de9e is the first bad commit
commit 39bfcd5235e07e95ad3e70eab8e0b85db181de9e
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Thu Nov 26 12:03:51 2015 +0100

    drm/i915: more virtual south bridge detection
    
    Commit "30c964a drm/i915: Detect virtual south bridge" detects and
    handles the southbridge emulated by vmware esx.  Add the ich9 south
    bridge emulated by 'qemu -M q35'.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

:040000 040000 b59ceb519d517a00e41e575346505b9ebde06288 825eb4e5684952de0931312183d1cf163c43219a M      drivers


I have confirmed tha reverting this commit on top of v4.5-rc1 fixes the
problem.  And looking into the details, I believe this makes sense.  The
patch does this (where id is a 0xff00 masked device ID):


diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 649e20aaa3ff..90faa8e03fca 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -565,7 +565,8 @@ void intel_detect_pch(struct drm_device *dev)
                                DRM_DEBUG_KMS("Found SunrisePoint LP PCH\n");
                                WARN_ON(!IS_SKYLAKE(dev) &&
                                        !IS_KABYLAKE(dev));
-                       } else if (id == INTEL_PCH_P2X_DEVICE_ID_TYPE) {
+                       } else if ((id == INTEL_PCH_P2X_DEVICE_ID_TYPE) ||
+                                  (id == INTEL_PCH_QEMU_DEVICE_ID_TYPE)) {
                                dev_priv->pch_type = intel_virt_detect_pch(dev);
                        } else
                                continue;
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 3d8741eff7d3..439226d39437 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2609,6 +2609,7 @@ struct drm_i915_cmd_table {
 #define INTEL_PCH_SPT_DEVICE_ID_TYPE           0xA100
 #define INTEL_PCH_SPT_LP_DEVICE_ID_TYPE                0x9D00
 #define INTEL_PCH_P2X_DEVICE_ID_TYPE           0x7100
+#define INTEL_PCH_QEMU_DEVICE_ID_TYPE          0x2900 /* qemu q35 has 2918 */
 
 #define INTEL_PCH_TYPE(dev) (__I915__(dev)->pch_type)
 #define HAS_PCH_SPT(dev) (INTEL_PCH_TYPE(dev) == PCH_SPT)



FWIW, the very real ISA bridge of my laptop matches the above:

bjorn@nemi:~$ lspci -vvvnns1f.0
00:1f.0 ISA bridge [0601]: Intel Corporation ICH9M-E LPC Interface Controller [8086:2917] (rev 03)
        Subsystem: Lenovo ICH9M-E LPC Interface Controller [17aa:20f5]
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Capabilities: <access denied>
        Kernel driver in use: lpc_ich
        Kernel modules: lpc_ich


This is a GM45 chipset.  I believe most chipsets of this generation use
29xx device IDs for the ISA bridge.  For example the P35:

 bjorn@canardo:~$ lspci -nns1f.0
 00:1f.0 ISA bridge [0601]: Intel Corporation 82801IB (ICH9) LPC Interface Controller [8086:2918] (rev 02)

You cannot assume all these are virtual systems. There are still crazy
people out there using the real thing :)



Bjørn

             reply	other threads:[~2016-01-25  2:52 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-25  2:52 Bjørn Mork [this message]
2016-01-25  8:26 ` [PATCH] Revert "drm/i915: more virtual south bridge detection" Jani Nikula
2016-01-25  9:18   ` Bjørn Mork
2016-01-25  9:18     ` Bjørn Mork
2016-01-25  8:54 ` ✗ Fi.CI.BAT: failure for " Patchwork
2016-01-25 15:49 ` Regression in v4.5-rc1, bisected to commit 39bfcd5235e0 ("drm/i915: more virtual south bridge detection") Bruno Wolff III
2016-01-26 10:49 ` Harald Arnesen
2016-01-26 10:49   ` Harald Arnesen
2016-01-26 11:59 ` Harald Arnesen
2016-01-26 11:59   ` Harald Arnesen
2016-01-28  8:00 ` ✓ Fi.CI.BAT: success for Revert "drm/i915: more virtual south bridge detection" Patchwork
2016-01-28  8:12 ` Patchwork
2016-01-28 13:12 ` Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y4bes74m.fsf@nemi.mork.no \
    --to=bjorn@mork.no \
    --cc=daniel.vetter@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=kraxel@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.