Bug 42263

Summary: [bisected ILK] Plug in a monitor will make the eDP black screen (regression in 3.2)
Product: DRI Reporter: Guang Yang <guang.a.yang>
Component: DRM/IntelAssignee: Jesse Barnes <jbarnes>
Status: CLOSED FIXED QA Contact:
Severity: critical    
Priority: high CC: ajax, ben, chris, daniel, jbarnes, keithp, yi.sun
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 44622    
Attachments:
Description Flags
dmesg.txt is the bug's dmesg information
none
dmesg after resume (when the screen stays black)
none
new dmesg log with 3.2 RC6
none
fixup dp bpc calculations none

Description Guang Yang 2011-10-26 00:52:18 UTC
Created attachment 52780 [details]
dmesg.txt is the bug's dmesg information

System Environment:
--------------------------
Platform:        IronLake
Kernel: (drm-intel-next)82d165557ef094d4b4dfc05871aee618ec7102b0

Bug detailed description:
-------------------------
When I plug in a VGA/DP monitor on the capella mobile platform ,the eDP will be black screen.
Comment 1 Guang Yang 2011-10-26 01:41:58 UTC
Here is a good kernel commit.

Kernel: (drm-intel-next)64a742fac3a22f57303d8f1b7e347350a1c48254
Comment 2 Guang Yang 2011-11-29 23:47:52 UTC
 This issue occurs after resume,too.
 I've bisected this and following commit is the first bad commit:

commit cd9dde44f47501394b9f0715b6a36a92aa74c0d0
Author: Adam Jackson <ajax@redhat.com>
Date:   Fri Oct 14 12:43:49 2011 -0400

    drm/i915/dp: Fix the math in intel_dp_link_required
    
    The previous code was confused about units, which is pretty reasonable
    given that the units themselves are confusing.
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>
    Signed-off-by: Keith Packard <keithp@keithp.com>

:040000 040000 3c0a0f38fc6482a401340e03fa3fbd687d11eda4
294673b782b3ecc93540f46f7721d385bd30cfac M	drivers
Comment 3 henk 2011-12-06 11:22:34 UTC
I've got the same problem.

The problem lies in the following change in intel_dp.c:
The old value 
 return (pixel_clock * bpp + 7) / 8; 
works, the new value 
 return (pixel_clock * bpp + 9) / 10; 
gives a black screen after resume.
Comment 4 henk 2011-12-19 06:20:02 UTC
This bug still exists in kernel 3.2-rc6. 
Please fix this bug before 3.2 final, because major vendors like Ubuntu will be using this kernel in their LTS release.
Comment 5 Adam Jackson 2011-12-20 09:59:12 UTC
Please attach dmesg (with drm.debug=4 on kernel command line) from 3.2-rc6 or later.
Comment 6 henk 2011-12-20 11:34:00 UTC
Created attachment 54608 [details]
dmesg after resume (when the screen stays black)
Comment 7 Adam Jackson 2011-12-20 11:57:56 UTC
(In reply to comment #6)
> Created attachment 54608 [details]
> dmesg after resume (when the screen stays black)

This dmesg does not show a failure from the eDP bandwidth computation code.  It shows a failure from the link training code.  I would expect that to be a different issue from what yangguang is reporting.

yangguang, can you reproduce this in 3.2-rc6?
Comment 8 Guang Yang 2011-12-20 23:52:50 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > Created attachment 54608 [details]
> > dmesg after resume (when the screen stays black)
> This dmesg does not show a failure from the eDP bandwidth computation code.  It
> shows a failure from the link training code.  I would expect that to be a
> different issue from what yangguang is reporting.
> yangguang, can you reproduce this in 3.2-rc6?

I have try the 3.2-rc6,this issue still occurs,when I boot the system ,then plug in a VGA ,the EDP turn to be black,when pluging out the VGA ,the EDP still can't light .
I try the resume,too.It still can't light the EDP after resumeing with a VGA,but the VGA can work normally.
Comment 9 Guang Yang 2011-12-21 00:02:13 UTC
Created attachment 54627 [details]
new dmesg log with 3.2 RC6
Comment 10 Lubos Kolouch 2012-01-08 11:15:56 UTC
I am hitting this bug with 3.2 kernel as well when I try to resume from suspend to RAM => the screen is blank and I have to reboot it.

The notebook is running though (besides I cannot see anything), I can ssh to it etc.

The message in logs is kernel: [drm:intel_dp_complete_link_train] *ERROR* failed to train DP, aborting, I bisected it to the same commit (cd9dde44f47501394b9f0715b6a36a92aa74c0d0)
Comment 11 Daniel Vetter 2012-01-26 03:52:13 UTC
Created attachment 56178 [details] [review]
fixup dp bpc calculations

Can you please try this patch?
Comment 12 camalot 2012-01-26 21:19:07 UTC
(In reply to comment #11)
> Created attachment 56178 [details] [review] [review]
> fixup dp bpc calculations
> 
> Can you please try this patch?

I've been having similar sounding problems on resume from suspend-to-ram on my Dell Latitude 6510.  Applying the patch seems to have resolved them.  Previously on most resumes the display panel backlight would turn on but nothing would be displayed.  Now it appears to work in all combinations of suspending and resuming with VGA plugged in or not, in the dock or not, etc.
Comment 13 Guang Yang 2012-02-07 02:28:21 UTC
(In reply to comment #11)
> Created attachment 56178 [details] [review] [review]
> fixup dp bpc calculations
> Can you please try this patch?
I have try this patch with latest drm-intel-testing,plugin the VGA can work well,but it will be black screen when plugin the DP.
Comment 14 Guang Yang 2012-02-07 02:34:47 UTC
(In reply to comment #11)
> Created attachment 56178 [details] [review] [review]
> fixup dp bpc calculations
> Can you please try this patch?

I want to mean that the edp can work well,but dp can't light up while pluging in .
Comment 15 Daniel Vetter 2012-02-07 07:34:35 UTC
Ok, let's clarify:
- Is the "eDP goes black" issue gone with this patch?
- Is the failure light up the external DP monitor also part of this regression, or was that always broken?
- Does plugging in VGA now work correctly?

If the external DP issue isn't part of this regression, I think we should close this bug (about eDP) as fixed and open a new bug to track the DP issue.
Comment 16 Guang Yang 2012-02-07 17:56:05 UTC
(In reply to comment #15)
> Ok, let's clarify:
> - Is the "eDP goes black" issue gone with this patch?
> - Is the failure light up the external DP monitor also part of this regression,
> or was that always broken?
> - Does plugging in VGA now work correctly?
> If the external DP issue isn't part of this regression, I think we should close
> this bug (about eDP) as fixed and open a new bug to track the DP issue.

   At first I try the latest drm-intel-testing without this patch ,when I boot without any monitors, the EDP can work well; but if plugin VGA monitor,the EDP will turn to be black,and the plugin VGA can work well,this like the issue reported at this bug ;  if plugin DP monitor,the EDP and DP all turn to be black.
   Then I try this patch with latest drm-intel-testing,the edp can work well booting without other monitor,when I plug in VGA,VGA and EDP can work well;but when I plug in DP,the EDP can work well,the DP can't work.
   so I think with this patch the issue that plug in a monitor will make the eDP black screen seems to be solved,but it may cause new DP issue.
Comment 17 Guang Yang 2012-02-07 19:40:27 UTC
   I think this issue track is like this: 
   At first all can work well.
   Then a regression is about EDP,boot only with EDP,it can work well; when plug in the VGA or DP,the plugin monitor can work well,but the EDP will be black screen.
 so I have bisect the first bad commit cd9dde44f47501394b9f0715b6a36a92aa74c0d0.

   Then with the drm-intel-testing: boot only with EDP,it can work well; when plug in the VGA,VGA can work well,but the EDP can't light; when plug in the DP,EDP and DP all can't work.
   Then I try the drm-intel-testing with the patch: boot only with EDP,it can work well; when plug in the VGA,the VGA and EDP can work well; when plug in the DP,the EDP can work well,but the DP can't light.
   It seems the badest situation is at drm-intel-testing.
Comment 18 Gordon Jin 2012-02-08 00:31:27 UTC
(In reply to comment #15)

so from Guang's reply, my understanding is:

> Ok, let's clarify:
> - Is the "eDP goes black" issue gone with this patch?

Yes, but DP still has problem (which was not in the original bug report but introduced into -testing later).

> - Is the failure light up the external DP monitor also part of this regression,
> or was that always broken?

It worked before.

> - Does plugging in VGA now work correctly?

Yes, with the patch.
Comment 19 Florian Mickler 2012-02-19 03:20:59 UTC
A patch referencing this bug report has been merged in Linux v3.3-rc4:

commit c898261c0dad617f0f1080bedc02d507a2fcfb92
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jan 25 08:16:25 2012 -0800

    drm/i915: Force explicit bpp selection for intel_dp_link_required
Comment 20 Guang Yang 2012-02-21 00:07:16 UTC
(In reply to comment #19)
> A patch referencing this bug report has been merged in Linux v3.3-rc4:
> commit c898261c0dad617f0f1080bedc02d507a2fcfb92
> Author: Keith Packard <keithp@keithp.com>
> Date:   Wed Jan 25 08:16:25 2012 -0800
>     drm/i915: Force explicit bpp selection for intel_dp_link_required

I try the latest drm-intel-next-queued kernel which including this patch:
commit c898261c0dad617f0f1080bedc02d507a2fcfb92
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Jan 25 08:16:25 2012 -0800
drm/i915: Force explicit bpp selection for intel_dp_link_required
and I can't reproduce this bug.
Comment 21 Daniel Vetter 2012-02-21 00:20:33 UTC
Marking as fixed, please reopen if it blows up again.
Comment 22 Gordon Jin 2012-02-21 19:04:45 UTC
so it's fixed in 3.3 not 3.2.
Comment 23 Elizabeth 2017-10-06 14:51:33 UTC
Closing old verified.

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.