Skip to contentSkip to conversation

Regression in v4.5-rc1, bisected to commit 39bfcd5235e0 ("drm/i915: more virtual south bridge detection")

PATCH In review Bjørn Mork 5 participants 10 messages Jan 25, 2016 – Jan 28, 2016

Subsystems (2)
lore
Share & tools
lore
#0 lore 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 <[email protected]>
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'.

: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):

drivers/gpu/drm/i915/i915_drv.c +2 -1
index 649e20aaa3ff..90faa8e03fca 100644
@@ -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;
drivers/gpu/drm/i915/i915_drv.h +1 -0
index 3d8741eff7d3..439226d39437 100644
@@ -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

#1 lore raw

PATCH 1/1 Revert "drm/i915: more virtual south bridge detection"

This reverts

commit 39bfcd5235e07e95ad3e70eab8e0b85db181de9e

Author: Gerd Hoffmann <[email protected]>
Date:   Thu Nov 26 12:03:51 2015 +0100

drm/i915: more virtual south bridge detection

because it mistakes real physical south bridges for virtual ones.

Reference: http://mid.gmane.org/[email protected]

Cc Gerd Hoffmann <[email protected]>
Fixes 39bfcd5235e0 ("drm/i915: more virtual south bridge detection")

---

Bjørn, please provide your Tested-by.

Gerd, back to the drawing board, I'm afraid.

---
 drivers/gpu/drm/i915/i915_drv.c | 3 +--
 drivers/gpu/drm/i915/i915_drv.h | 1 -
 2 files changed, 1 insertion(+), 3 deletions(-)
drivers/gpu/drm/i915/i915_drv.c +1 -2
index 706b8eabfaf4..a702262daefc 100644
@@ -500,8 +500,7 @@ 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) ||
-				   (id == INTEL_PCH_QEMU_DEVICE_ID_TYPE)) {
+			} else if (id == INTEL_PCH_P2X_DEVICE_ID_TYPE) {
 				dev_priv->pch_type = intel_virt_detect_pch(dev);
 			} else
 				continue;
drivers/gpu/drm/i915/i915_drv.h +0 -1
index afb0beee9975..1c06661ebf08 100644
@@ -2645,7 +2645,6 @@ 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)
Signature · 1 line
2.1.4
author Tested-by on v1 1/1
#2 lore raw

Re: [PATCH] Revert "drm/i915: more virtual south bridge detection"

Quoted 11 lines · Jani Nikula

This reverts

commit 39bfcd5235e07e95ad3e70eab8e0b85db181de9e

Author: Gerd Hoffmann <[email protected]>
Date:   Thu Nov 26 12:03:51 2015 +0100

drm/i915: more virtual south bridge detection

because it mistakes real physical south bridges for virtual ones.

Quoted 8 lines

Reference: http://mid.gmane.org/[email protected]

Cc Gerd Hoffmann <[email protected]>
Fixes 39bfcd5235e0 ("drm/i915: more virtual south bridge detection")

---

Bjørn, please provide your Tested-by.

In case you still want it:

But I'm also happy with Gerd's solution (assuming he fixex the QEMU subsystem vendor-id).

Thanks,
Bjørn
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

#3 lore raw

✗ Fi.CI.BAT: failure for Revert "drm/i915: more virtual south bridge detection"

In reply to Bjørn Mork
== Summary ==

== Summary ==

Built on 182ba56041dbc1e89e3bb2b2a48e48aa5a61b717 drm-intel-nightly: 2016y-01m-25d-07h-47m-26s UTC integration manifest

byt-nuc total:143 pass:127 dwarn:0 dfail:0 fail:0 skip:15

HANGED hsw-brixbox in

Results at /archive/results/CI_IGT_test/Patchwork_1259/

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

#4 lore raw
In reply to Bjørn Mork
Quoted 6 lines · Bjørn Mork

Hello,

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

drm/i915: more virtual south bridge detection

I am likely seeing the same problem on a Dell laptop. I haven't finished my bisect yet, but the above commit is still in the list of 605 possible problem commits.

I'll test reverting that commit tonight and see if that fixes my problem.

#5 lore raw
In reply to Bjørn Mork

Bjørn Mork [2016-01-25 03:52]:

Quoted 3 lines

Hello,

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

Same thing with my Thinkpad T500. I had just started bisecting, but will try this revert first.

Signature · 5 lines
Hilsen Harald
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
#6 lore raw
In reply to Bjørn Mork

Bjørn Mork [2016-01-25 03:52]:

Quoted 2 lines

I have confirmed tha reverting this commit on top of v4.5-rc1 fixes the problem.

Confirmed. Fixes the problem with my T500 also.

Signature · 6 lines
Hilsen Harald

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
#7 lore raw

✓ Fi.CI.BAT: success for Revert "drm/i915: more virtual south bridge detection"

In reply to Bjørn Mork
== Summary ==

== Summary ==

Built on 430706bace599ea1a908b9a7c6b7ea17535fe17f drm-intel-nightly: 2016y-01m-27d-16h-33m-06s UTC integration manifest

Test kms_pipe_crc_basic:

        Subgroup read-crc-pipe-b:
                dmesg-warn -> PASS       (ilk-hp8440p)
bdw-nuci7        total:141  pass:132  dwarn:0   dfail:0   fail:0   skip:9  
bdw-ultra        total:144  pass:138  dwarn:0   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:144  pass:120  dwarn:0   dfail:0   fail:0   skip:24 
byt-nuc          total:144  pass:129  dwarn:0   dfail:0   fail:0   skip:15 
hsw-gt2          total:144  pass:140  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:144  pass:105  dwarn:0   dfail:0   fail:1   skip:38 
ivb-t430s        total:144  pass:138  dwarn:0   dfail:0   fail:0   skip:6  
skl-i5k-2        total:144  pass:135  dwarn:1   dfail:0   fail:0   skip:8  
snb-dellxps      total:144  pass:130  dwarn:0   dfail:0   fail:0   skip:14 
snb-x220t        total:144  pass:130  dwarn:0   dfail:0   fail:1   skip:13 

Results at /archive/results/CI_IGT_test/Patchwork_1272/

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

#8 lore raw

✓ Fi.CI.BAT: success for Revert "drm/i915: more virtual south bridge detection"

In reply to Bjørn Mork
== Summary ==

== Summary ==

Built on 430706bace599ea1a908b9a7c6b7ea17535fe17f drm-intel-nightly: 2016y-01m-27d-16h-33m-06s UTC integration manifest

Test kms_pipe_crc_basic:

        Subgroup read-crc-pipe-b:
                dmesg-warn -> PASS       (ilk-hp8440p)
bdw-nuci7        total:141  pass:132  dwarn:0   dfail:0   fail:0   skip:9  
bdw-ultra        total:144  pass:138  dwarn:0   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:144  pass:120  dwarn:0   dfail:0   fail:0   skip:24 
byt-nuc          total:144  pass:129  dwarn:0   dfail:0   fail:0   skip:15 
hsw-gt2          total:144  pass:140  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:144  pass:105  dwarn:0   dfail:0   fail:1   skip:38 
ivb-t430s        total:144  pass:138  dwarn:0   dfail:0   fail:0   skip:6  
skl-i5k-2        total:144  pass:135  dwarn:1   dfail:0   fail:0   skip:8  
snb-dellxps      total:144  pass:130  dwarn:0   dfail:0   fail:0   skip:14 
snb-x220t        total:144  pass:130  dwarn:0   dfail:0   fail:1   skip:13 

Results at /archive/results/CI_IGT_test/Patchwork_1272/

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

#9 lore raw

✓ Fi.CI.BAT: success for Revert "drm/i915: more virtual south bridge detection"

In reply to Bjørn Mork
== Summary ==

== Summary ==

Built on b3f8ad64bc71f6236f05c2e9f4ad49a61745869a drm-intel-nightly: 2016y-01m-28d-10h-26m-23s UTC integration manifest

Test kms_flip:

        Subgroup basic-flip-vs-dpms:
                pass       -> DMESG-WARN (ilk-hp8440p) UNSTABLE
bdw-nuci7        total:156  pass:147  dwarn:0   dfail:0   fail:0   skip:9  
bdw-ultra        total:159  pass:153  dwarn:0   dfail:0   fail:0   skip:6  
bsw-nuc-2        total:159  pass:135  dwarn:0   dfail:0   fail:0   skip:24 
byt-nuc          total:159  pass:142  dwarn:0   dfail:0   fail:0   skip:17 
hsw-brixbox      total:159  pass:152  dwarn:0   dfail:0   fail:0   skip:7  
hsw-gt2          total:159  pass:155  dwarn:0   dfail:0   fail:0   skip:4  
ilk-hp8440p      total:159  pass:113  dwarn:1   dfail:0   fail:1   skip:44 
ivb-t430s        total:159  pass:151  dwarn:0   dfail:0   fail:0   skip:8  
skl-i5k-2        total:159  pass:150  dwarn:1   dfail:0   fail:0   skip:8  
snb-dellxps      total:159  pass:141  dwarn:0   dfail:0   fail:0   skip:18 
snb-x220t        total:159  pass:141  dwarn:0   dfail:0   fail:1   skip:17 

Results at /archive/results/CI_IGT_test/Patchwork_1290/

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx