Bug 19247

Summary: Only one display mode supported on laptop
Product: xorg Reporter: zhao jian <jian.j.zhao>
Component: Driver/intelAssignee: MaLing <ling.ma>
Status: VERIFIED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: keithp, zhenyu.z.wang
Version: git   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 18858    
Attachments:
Description Flags
xorg.conf
none
xorg.0.log
none
Fix LVDS EDID to match all possible default modes (keithp)
none
please test the patch, thanks Ma Ling
none
This is the latest patch, thanks Ma Ling
none
I re-update last one, thanks none

Description zhao jian 2008-12-22 22:06:26 UTC
Created attachment 21428 [details]
xorg.conf

System Environment:
----------------------
Host:        gm45
Arch:          i386
OSD:            Fedora release 10 (Cambridge)
Kernel:      2.6.28-rc8
Libdrm:     (master)                0243c9f801a35de3465a0321c02f18a4d07ce5b8
Mesa:       (intel-2008-q4)         f96baeaac3ef41260ac3975750627ece073fdce0
Xserver:    (server-1.6-branch)     32e81074b967716865aef08b66ec29caf0fec2c5
Xf86_video_intel:    (xf86-video-intel-2.6-branch)
83f3c376b5942e134047a220e6e5f2432ffc492c
GEM Kernel: (for-airlied branch)  88493410cbe68eb267c540fbb0f6809a1a4124d6

Bug Description:
---------------------
Run 'xrandr -q', there is only one display mode under the corresponding monitor. 

Reproduce steps:
----------------
1.xinit&
2.xrandr -q
Comment 1 zhao jian 2008-12-22 22:07:44 UTC
Created attachment 21429 [details]
xorg.0.log
Comment 2 zhao jian 2008-12-23 01:27:31 UTC
[root@x-gm45a piglit]# xrandr --verbose
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 1280 x 1280
VGA disconnected (normal left inverted right x axis y axis)
        Identifier: 0x3b
        Timestamp:  18414314
        Subpixel:   unknown
        Clones:
        CRTCs:      0 1
        Transform:  1.000000 0.000000 0.000000
                    0.000000 1.000000 0.000000
                    0.000000 0.000000 1.000000
                   filter:
LVDS connected 1280x800+0+0 (0x3f) normal (normal left inverted right x axis y
axis) 261mm x 163mm
        Identifier: 0x3c
        Timestamp:  18414314
        Subpixel:   horizontal rgb
        Clones:
        CRTC:       1
        CRTCs:      1
        Panning:    0x0+0+0
        Tracking:   0x0+0+0
        Border:     0/0/0/0
        Transform:  1.000000 0.000000 0.000000
                    0.000000 1.000000 0.000000
                    0.000000 0.000000 1.000000
                   filter:
        EDID_DATA:
                00ffffffffffff004ca3414900000000
                00120103801a10780a87f594574f8c27
                27505400000001010101010101010101
                010101010101121b0087502010301030
                130005a3100000190000000f00000000
                00000000002387026400000000fe0053
                414d53554e470a2020202020000000fe
                00313231415430322d4130310a200018
        PANEL_FITTING:  full_aspect
                supported: center       full_aspect  full
        BACKLIGHT_CONTROL:      combination
                supported: native       legacy       combination  kernel
        BACKLIGHT: 6191 (0x0000182f)    range:  (0,6191)
  1280x800 (0x3f)   69.3MHz -HSync -VSync *current +preferred
        h: width  1280 start 1296 end 1344 total 1415 skew    0 clock   49.0KHz
        v: height  800 start  801 end  804 total  816           clock   60.0Hz
HDMI-1 disconnected (normal left inverted right x axis y axis)
        Identifier: 0x3d
        Timestamp:  18414314
        Subpixel:   unknown
        Clones:
        CRTCs:      0 1
        Transform:  1.000000 0.000000 0.000000
                    0.000000 1.000000 0.000000
                    0.000000 0.000000 1.000000
                   filter:
TV disconnected (normal left inverted right x axis y axis)
        Identifier: 0x3e
        Timestamp:  18414314
        Subpixel:   unknown
        Clones:
        CRTCs:      0 1
        Transform:  1.000000 0.000000 0.000000
                    0.000000 1.000000 0.000000
                    0.000000 0.000000 1.000000
                   filter:
        BOTTOM: 37 (0x00000025) range:  (0,100)
        RIGHT: 46 (0x0000002e)  range:  (0,100)
        TOP: 36 (0x00000024)    range:  (0,100)
        LEFT: 54 (0x00000036)   range:  (0,100)
        TV_FORMAT:      NTSC-M
                supported: NTSC-M       NTSC-443     NTSC-J       PAL-M
                           PAL-N        PAL
Comment 3 Wang Zhenyu 2008-12-29 07:21:13 UTC
Created attachment 21548 [details] [review]
Fix LVDS EDID to match all possible default modes (keithp)

Please test with Keith's patch which should fix the case when panel has EDID like on your GM45. 

I know Ma ling has made another patch, but that's for no EDID case.
Comment 4 zhao jian 2008-12-30 01:04:30 UTC
Yes, on GM45 and 945GM with  Keith's patch they can list several display modes now. 
Comment 5 MaLing 2008-12-30 19:41:26 UTC
(In reply to comment #4)
> Yes, on GM45 and 945GM with  Keith's patch they can list several display modes
> now. 

hi ZhaoJian

I did a patch on Keith's one, plese test it

Thanks
Ma Ling
Comment 6 MaLing 2008-12-30 19:42:13 UTC
Created attachment 21575 [details] [review]
please test the patch, thanks Ma Ling
Comment 7 MaLing 2008-12-30 21:29:57 UTC
Created attachment 21577 [details] [review]
This is the latest patch,  thanks Ma Ling
Comment 8 MaLing 2008-12-30 21:57:59 UTC
Created attachment 21578 [details] [review]
I re-update last one, thanks
Comment 9 zhao jian 2008-12-30 22:15:10 UTC
With Maling's latest patch built with Keith's patch together, it now has multiple display modes when type 'xrandr -q'.
Comment 10 Gordon Jin 2009-01-03 22:50:28 UTC
Can we commit the 2 patches from Keith and Ling?
Comment 11 Eric Anholt 2009-01-13 10:38:21 UTC
commit 3d206f9e46b5237bda7ca3c0f92d64c45ee8bdf5
Author: Ma Ling <ling.ma@intel.com>
Date:   Tue Jan 13 10:26:40 2009 +0800

    set continuous-frequency flag in get modes function

commit 3354e660b0744976871683ce226f17e873f26b50
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Nov 26 16:32:12 2008 +0800

    Fix LVDS EDID to match all possible default modes
Comment 12 zhao jian 2009-01-15 23:40:59 UTC
It now works well with the following configuration: 

Libdrm: (master)18d3cc076b53f2032eed1f9a4b21947f4cb9e4e7
Mesa: (intel-2008-q4)200fa9165d7078a6f36c5c9d3e0c997c2438bde3
Xserver: (server-1.6-branch)251d0d8090322b2c9dc0c8b7bef001f338d19433
Xf86_video_intel: (xf86-video-intel-2.6-branch) 
                   5cd65d965c8ed388275fe2084553302aad601d4a
kernel:  drm-intel-2.6.28 branch  e1a6fcee467556a7e955fe1f7ccc134dd2f974e7

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.