Summary: | [bisected] GDM Login screen doesn't show up on kernel 5.3 or later | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Masami Ichikawa <masami256> | ||||||||||||||||||||
Component: | DRM/Intel | Assignee: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||||||||||||||||
Status: | RESOLVED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||||||||||||||||||
Severity: | major | ||||||||||||||||||||||
Priority: | high | CC: | freedesktop201910, intel-gfx-bugs, jani.nikula, jirislaby, rncbc | ||||||||||||||||||||
Version: | DRI git | ||||||||||||||||||||||
Hardware: | x86-64 (AMD64) | ||||||||||||||||||||||
OS: | Linux (All) | ||||||||||||||||||||||
See Also: | https://bugs.freedesktop.org/show_bug.cgi?id=112005 | ||||||||||||||||||||||
Whiteboard: | Triaged, ReadyForDev | ||||||||||||||||||||||
i915 platform: | CFL, KBL | i915 features: | display/DP | ||||||||||||||||||||
Attachments: |
|
Description
Masami Ichikawa
2019-10-10 07:04:21 UTC
Created attachment 145693 [details]
dmesg output
Created attachment 145694 [details]
/sys/class/drm/card0/error file
Created attachment 145695 [details]
vbios dump file
Created attachment 145696 [details]
xrandr output
(In reply to Masami Ichikawa from comment #0) > 1. problem > > Boot with kernel 5.3 or later, GDM login screen doesn't show up. > Following log is displayed in console. > > Starting Show Plymouth Boot Screen... > > When I remove rhgb and quiet from kernel command line, it shows gray > background screen and blinking. > > Kernel 5.2.18 doesn't have such issue. > I checked 5.2.18(fedora kernel) and 5.2.18(stable release) both works fine. > > I've tested drm-tip tree(HEAD is ec6a1544198d81f34a367bfb18173e402bbee0fa). > The drm-tip tree kernel has same issue. > > > 2. Steps to reproduce the issue. > > Boot with kernel 5.3 or later > > 3. How often does the steps listed above trigger the issue? > > always > > 4. The following information about your system: > > system architecture: x86_64 > kernel versions: 5.4-rc2(mainline), 5.4-rc2(drm-tip), 5.3.2(fedora kernel), > 5.3.2(stable release) > Linux distribution: Fedora 30 > Display connector: HDMI and DIV > /sys/class/drm/card0/error: I'll attach > dmesg: I'll attach > xrandr output: I'll attatch (taks this output on kernel 5.2.18) > VBIOS dump: I'll attach > > 5. bisect > > If I did bisect correctly, "drm/i915/bios: make child device order the > priority order(36a0f92020dc8794d3aa69b7fb4c5d2bf99b0099)" is first bad > commit. previous commit "drm/i915: Enable > intel_color_get_config()(3633e5116dfb01f98de4c88daf2c673c52290755)" works > fines. > > I took dmesg, /sys/class/drm/card0/error, VBIOS dump on drm-tip kernel. Jani, any comments? I made quick hack. following patch works fine for me on mainline kernel 5.4-rc2. diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c index efb39f350b19..c886dae82aa7 100644 --- a/drivers/gpu/drm/i915/display/intel_bios.c +++ b/drivers/gpu/drm/i915/display/intel_bios.c @@ -1313,6 +1313,8 @@ static void sanitize_aux_ch(struct drm_i915_private *dev_priv, p = get_port_by_aux_ch(dev_priv, info->alternate_aux_channel); if (p != PORT_NONE) { + info = &dev_priv->vbt.ddi_port_info[p]; + DRM_DEBUG_KMS("port %c trying to use the same AUX CH (0x%x) as port %c, " "disabling port %c DP support\n", port_name(port), info->alternate_aux_channel, @@ -1330,6 +1332,7 @@ static void sanitize_aux_ch(struct drm_i915_private *dev_priv, info->supports_dp = false; info->alternate_aux_channel = 0; } + } static const u8 cnp_ddc_pin_map[] = { I'm having a similar issue as Masami and git bisect pointed to the same commit 36a0f92020dc8794d3aa69b7fb4c5d2bf99b0099, so I thought I just add my comment here instead of raising a new bug. My situation is a bit different as my server does not start GDM but stays on the console, but starting with the commit that Masami mentioned, my console always stays blank so I'm assuming the actual root cause for both our problems is the same. My board is an Asrock B250M-HDV with Pentium Gold G4560 CPU (HD Graphics 610), running Debian 10.1 with stock x86_64 kernel and I noticed that the bug only occurs with the board's VGA output, DVI was fine but is usually not available to the server, HDMI could not be tested. Testing with the latest available drm-tip (commit 0204e2b48f2a9ae8aff60393755f8164f2fa1038) the console stayed blank. The patch from Masami worked successfully both on drm-tip and official 5.3.5. For comparison I'm attaching dmesg debug output once with and once without fix. The interesting part starts at [3.062539] on the broken dmesg and [3.071882] on the dmesg with fix. Maybe the debug output makes more sense to someone else than it does to me. Created attachment 145708 [details]
dmesg with bug
Created attachment 145709 [details]
dmesg with fix from Masami
Please attach a dump of /sys/kernel/debug/dri/0/i915_vbt Created attachment 145710 [details]
i915_vbt
As requested by Ville Syrjala
Created attachment 145711 [details]
i915_vbt dump file
i915_vbt dump file requested by Ville Syrjala
Yeah the VBT clearly says both port A and port E are present and using the same AUX ch, which is nonsense. One alternative might be the port A strap since that was documented to be busted only on early SKL part. But WaIgnoreDDIAStrap tells us we should keep ignoring it forever so that seems like a dead end. So I guess we just go back to the old way of handling the conflicts. Created attachment 145712 [details] [review] [PATCH] drm/i915: Favor last VBT child device with conflicting AUX ch/DDC pin Here's a bit more polished/extended version of essentially the same patch as what Masami provided. Would appreciate if you can double check that I didn't fumble things and it actually works. Applied the patch to both drm-tip and 5.3.6 and I confirm both are working with the patch. I hope it also works for Masami and will eventually appear in stable. Thanks Ville for the quick fix. I tested drm-tip and 5.3.5 kernels too. that both work fine :) Thank you for Torsten the fix and thank you for Torsten to help debugging the problem. Lets wait until the patch lands in drmtip before closing the issue. Fixed with commit 41e35ffb380bde1379e4030bb5b2ac824d5139cf Author: Ville Syrjälä <ville.syrjala@linux.intel.com> Date: Fri Oct 11 23:20:30 2019 +0300 drm/i915: Favor last VBT child device with conflicting AUX ch/DDC pin Thanks for the bug report and testing. *** Bug 111985 has been marked as a duplicate of this bug. *** *** Bug 112028 has been marked as a duplicate of this bug. *** |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.