Re: v4.14/v4.15-rc1: deferred setup in drm/fb-helper breaks entering pc3

From: Maarten Lankhorst
Date: Tue Nov 28 2017 - 04:48:43 EST


Op 28-11-17 om 10:30 schreef Thomas Voegtle:
> On Tue, 28 Nov 2017, Maarten Lankhorst wrote:
>
>> Op 27-11-17 om 19:09 schreef Thomas Voegtle:
>>>
>>> Hello,
>>>
>>> with v4.14 I recognized that my file server (headless haswell system)
>>> doesn't enter packages pc3 anymore and only enters pc2 according to
>>> powertop.
>>> In v4.13 the system used pc2 and pc3.
>>>
>>> So I bisected that down to:
>>>
>>> ca91a2758fcef6635626993557dd51cfbb6dd134 is the first bad commit
>>> commit ca91a2758fcef6635626993557dd51cfbb6dd134
>>> Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
>>> Date:ÂÂ Thu Jul 6 15:00:21 2017 +0200
>>>
>>> ÂÂÂ drm/fb-helper: Support deferred setup
>>>
>>>
>>> Reverting this commit on top of v4.14 and v4.15-rc1 fixes the problem and
>>> the system uses package states pc2 and pc3 again.
>>>
>>> Nothing is connected to the VGA and DVI port.
>>> I'm using a kernel without modules on openSUSE 42.3.
>>> I have no "vga=xxx" or something like that on the cmdline.
>>>
>>>
>>> Thanks,
>>>
>>> ÂÂÂÂÂ Thomas
>>>
>> Could you send some logs with drm.debug=0x1f ?
>>
>> ~Maarten
>
> dmesg attached.

Does this work? A log of a working config (4.14 or with revert) would be nice regardless. :)

diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index 07374008f146..6d71ced16f6e 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -1809,6 +1809,7 @@ static int drm_fb_helper_single_fb_probe(struct drm_fb_helper *fb_helper,

if (crtc_count == 0 || sizes.fb_width == -1 || sizes.fb_height == -1) {
DRM_INFO("Cannot find any crtc or sizes\n");
+ restore_fbdev_mode(fb_helper);
return -EAGAIN;
}