Bug 47034

Summary: [G45] mode set failure with testdisplay, low resolution modes fail and display doesn't come back
Product: DRI Reporter: Guang Yang <guang.a.yang>
Component: DRM/IntelAssignee: Daniel Vetter <daniel>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: ben, chris, daniel, jbarnes, rodrigo.vivi, yangweix.shui
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesgwithVGA
none
dmesg after run testdisplay
none
dmesg after run testdisplay on VGA with drm.debug=0xe
none
Clear the waternarks before oring new values
none
dmesg info with patch
none
Clear srwm when disabled
none
dmesg with commit 52bd02d8e3fd83201a1a81bdb4ec6fc0b54d24a0 none

Description Guang Yang 2012-03-06 23:41:36 UTC
System Environment:
--------------------------
Kernel: (drm-intel-testing)9c5a1897768918a941aebbeaefd9f698358c7cf9
platform: G45

Bug detailed description:
-------------------------
   First boot the system with VGA,when do "testdisplay -a -s 10", it can't show all listed mode. Exactly some modes  below 800x600@75  can't be displayed , screen is black. At the same time when "testdisplay -a -s 10" is done, the   screen can't be lighted up too.
  This issue  is same to  Bug 37525 and Bug 38135.

Reproduce steps:
----------------
1. VGA port
2. testdisplay -a -s 10
Comment 1 Guang Yang 2012-03-06 23:42:18 UTC
Created attachment 58104 [details]
dmesgwithVGA
Comment 2 Daniel Vetter 2012-03-18 10:03:30 UTC
Just to check: Do these low resolutions work on a different platform with the exact same monitor? I.e. is this just an issue with g45 or do we actually detect a bogus edid timing that needs to be fixed?
Comment 3 Guang Yang 2012-03-19 00:32:09 UTC
(In reply to comment #2)
> Just to check: Do these low resolutions work on a different platform with the
> exact same monitor? I.e. is this just an issue with g45 or do we actually
> detect a bogus edid timing that needs to be fixed?
OK,First I try the environment as this bug reports,the issue can reproduce;then I try this bad monitor with another machine of IVB platform,run testdisplay can show all of the low resolutions .Finally I use another monitor with G45,the low resolutions still can't work with testdisplay. 
   so,I think it seems like just an issue with g45.
Comment 4 Jesse Barnes 2012-04-05 17:11:07 UTC
"Can't show modes" makes it hard to tell whether you're talking about the mode list or a mode set failure.  Updating the summary.
Comment 5 Guang Yang 2012-04-09 01:39:13 UTC
    On new round of QA cycle,I try with 
Kernel: (drm-intel-testing)295633246f8922f550971f810f09244a450b4ca6
the bug still occurs.
Comment 6 Guang Yang 2012-04-09 01:47:17 UTC
Created attachment 59667 [details]
dmesg after run testdisplay
Comment 7 Chris Wilson 2012-04-14 06:04:54 UTC
Is this a regression? Are interlaced modes causing an issue here?
Comment 8 Daniel Vetter 2012-04-14 08:49:20 UTC
Afaik it's not a regression and similar bugs on the same platform have been reported for other connectors by QA. I haven't marked them as duplicates though until we know that this is the case. But I suspect we screw up something in our pll settings for these low dotclocks on g45.
Comment 9 Guang Yang 2012-05-08 19:24:54 UTC
Created attachment 61260 [details]
dmesg after run testdisplay on VGA with drm.debug=0xe

I try the new QA testing cycle with 
Kernel: (drm-intel-testing)25fcc53b96dd4801907d9b1cc4b76258ab0f3d65
the bug still occurs.
 And I attach a dmesg after running testdisplay -a -s 10 on VGA with drm.debug=0xe.
Comment 10 Chris Wilson 2012-12-04 16:35:28 UTC
Created attachment 71001 [details] [review]
Clear the waternarks before oring new values
Comment 11 Chris Wilson 2012-12-05 15:22:08 UTC
Please retest with

commit 8c919b28932d2a1fcadd196bbf36d8866afc458a
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Dec 4 16:33:19 2012 +0000

    drm/i915: Clear the existing watermarks for g4x when modifying the cursor sr
Comment 12 Guang Yang 2012-12-07 06:09:20 UTC
Created attachment 71113 [details]
dmesg info with patch

(In reply to comment #11)
> Please retest with
> 
> commit 8c919b28932d2a1fcadd196bbf36d8866afc458a
> Author: Chris Wilson <chris@chris-wilson.co.uk>
> Date:   Tue Dec 4 16:33:19 2012 +0000
> 
>     drm/i915: Clear the existing watermarks for g4x when modifying the
> cursor sr

I try the newest -fixes including you commit, the issue still occurs, and I attach the dmesg.
Comment 13 Chris Wilson 2012-12-07 09:04:52 UTC
Created attachment 71119 [details] [review]
Clear srwm when disabled

As fun as reviewing the wm code is, please could you describe the symptoms a little more clearly: which is the last resolution to work, beyond which the output cannot recover?
Comment 14 Chris Wilson 2012-12-07 09:05:24 UTC
800x600... gotcha
Comment 15 Chris Wilson 2012-12-17 16:27:02 UTC
Can you please test drm-intel-fixes? Specifically

commit 52bd02d8e3fd83201a1a81bdb4ec6fc0b54d24a0
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Dec 7 10:43:24 2012 +0000

    drm/i915: Clear self-refresh watermarks when disabled
    
    If we elect to disable self-refresh as they require too many FIFO
    entries, clear the values prior to writing them into the registers. If
    they are too large they may occupy more bits than available and so
    corrupt neighbouring WM values.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Comment 16 Guang Yang 2012-12-18 02:19:29 UTC
Created attachment 71707 [details]
dmesg with commit 52bd02d8e3fd83201a1a81bdb4ec6fc0b54d24a0

(In reply to comment #15)
> Can you please test drm-intel-fixes? Specifically
> 
> commit 52bd02d8e3fd83201a1a81bdb4ec6fc0b54d24a0
> Author: Chris Wilson <chris@chris-wilson.co.uk>
> Date:   Fri Dec 7 10:43:24 2012 +0000
> 
>     drm/i915: Clear self-refresh watermarks when disabled
>     
>     If we elect to disable self-refresh as they require too many FIFO
>     entries, clear the values prior to writing them into the registers. If
>     they are too large they may occupy more bits than available and so
>     corrupt neighbouring WM values.
>     
>     Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>     Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
>     Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
I try this commit with -fixes, but the issue still occurs, the modes which below 800x600 can't be displayed.
Comment 17 Chris Wilson 2013-03-07 15:40:25 UTC
Can you please test with -fixes?

commit 61bc95c1fbbb6a08b55bbe161fdf1ea5493fc595
Author: Egbert Eich <eich@suse.com>
Date:   Mon Mar 4 09:24:38 2013 -0500

    DRM/i915: On G45 enable cursor plane briefly after enabling the display plane
Comment 18 shui yangwei 2013-03-08 03:26:03 UTC
(In reply to comment #17)
> Can you please test with -fixes?
> 
> commit 61bc95c1fbbb6a08b55bbe161fdf1ea5493fc595
> Author: Egbert Eich <eich@suse.com>
> Date:   Mon Mar 4 09:24:38 2013 -0500
> 
>     DRM/i915: On G45 enable cursor plane briefly after enabling the display
> plane

I tried this commit, all VGA modes can show correctly on G45 platform.
Comment 19 shui yangwei 2013-03-08 03:29:06 UTC
(In reply to comment #18)
> (In reply to comment #17)
> > Can you please test with -fixes?
> > 
> > commit 61bc95c1fbbb6a08b55bbe161fdf1ea5493fc595
> > Author: Egbert Eich <eich@suse.com>
> > Date:   Mon Mar 4 09:24:38 2013 -0500
> > 
> >     DRM/i915: On G45 enable cursor plane briefly after enabling the display
> > plane
> 
> I tried this commit, all VGA modes can show correctly on G45 platform.

display can come back, the issues all gone.
Comment 20 Elizabeth 2017-10-06 14:50:54 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.