Bug 22150

Summary: [GM45 KMS] e4a5d54f924ea5ce2913d9d0687d034004816465 breaks DVI modelines
Product: xorg Reporter: Tony Vroon <chainsaw>
Component: Driver/intelAssignee: MaLing <ling.ma>
Status: RESOLVED WONTFIX QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: medium CC: michael.fu, remi
Version: 7.4 (2008.09)   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 22694    
Attachments:
Description Flags
Xorg.0.log
none
dmesg
none
Comparison of LVDS1 (laptop panel) to DVI1 (external screen). Black borders.
none
Closeup (DVI1), part of screen output is missing.
none
Monitor info popup for the correct 1920x1200 computer screen mode.
none
Monitor info popup for the *incorrect* 1200p mode with black border. Unwanted.
none
regdump-samsung-ums.txt
none
regdump-samsung-kms.txt
none
regdump-samsung-ums.txt none

Description Tony Vroon 2009-06-08 05:50:46 UTC
Without KMS, specifying PreferredMode suffices to drive this monitor. It appears on HDMI-2 and reports 1920x1200 on the information screen (attached as photo). On KMS, it appears as DVI1 and the monitor reports 1200p.
The amount of overscan is horrendous. Photo attached of linux booting, so you can see how much of the penguins & text is missing. nVidia cards under Windows normally show this problem, but until now I did not experience this in linux.

This is a Gentoo system:
[ebuild   R   ] x11-libs/libdrm-2.4.11  USE="-debug" 0 kB
[ebuild   R   ] media-libs/mesa-7.4.2  USE="nptl xcb -debug -doc -motif -pic" VIDEO_CARDS="intel -mach64 -mga -none -r128 -radeon -radeonhd -s3virge -savage -sis (-sunffb) -tdfx -trident -via" 0 kB
[ebuild   R   ] x11-base/xorg-server-1.6.1.901-r3  USE="hal ipv6 nptl sdl xorg -debug -dmx -kdrive -minimal -tslib" INPUT_DEVICES="evdev keyboard mouse -acecad -aiptek -calcomp -citron -digitaledge -dmc -dynapro -elo2300 -elographics -fpit -hyperpen -jamstudio -joystick -magellan -microtouch -mutouch -palmax -penmount -spaceorb -summa -synaptics -tek4957 -tslib -ur98 -virtualbox -vmmouse -void -wacom" VIDEO_CARDS="intel -apm -ark -ast -chips -cirrus -dummy -epson -fbdev (-fglrx) (-geode) -glint -i128 (-i740) (-impact) (-imstt) -mach64 -mga -neomagic -nv -nvidia -r128 -radeon -radeonhd -rendition -s3 -s3virge -savage -siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l (-vermilion) -vesa -via -virtualbox -vmware -voodoo (-xgi)" 0 kB
[ebuild   R   ] x11-drivers/xf86-video-intel-2.7.1  USE="dri -debug" 0 kB

I will now be attaching log files and photos.
Comment 1 Tony Vroon 2009-06-08 05:51:13 UTC
Created attachment 26537 [details]
Xorg.0.log
Comment 2 Tony Vroon 2009-06-08 05:51:45 UTC
Created attachment 26538 [details]
dmesg
Comment 3 Tony Vroon 2009-06-08 05:54:21 UTC
Created attachment 26539 [details]
Comparison of LVDS1 (laptop panel) to DVI1 (external screen). Black borders.
Comment 4 Tony Vroon 2009-06-08 05:55:17 UTC
Created attachment 26540 [details]
Closeup (DVI1), part of screen output is missing.
Comment 5 Tony Vroon 2009-06-08 05:55:57 UTC
Created attachment 26541 [details]
Monitor info popup for the correct 1920x1200 computer screen mode.
Comment 6 Tony Vroon 2009-06-08 05:56:58 UTC
Created attachment 26542 [details]
Monitor info popup for the *incorrect* 1200p mode with black border. Unwanted.
Comment 7 MaLing 2009-06-08 20:55:06 UTC
you means it work fine in UMS, but not work in KMS even they both use 1920x1200 modeline ?
thanks
Ma Ling
Comment 8 Tony Vroon 2009-06-09 02:09:35 UTC
(In reply to comment #7)
> you means it work fine in UMS, but not work in KMS even they both use 1920x1200
> modeline ?

Assuming "UMS" means the old mode-setting, yes. All it took there for the screen to work is specifying "PreferredMode 1920x1200". It drove the screen like a computer screen, and not like a 1200p HDTV with overscan.
Comment 9 MaLing 2009-06-09 07:00:43 UTC
(In reply to comment #8)
> (In reply to comment #7)
> > you means it work fine in UMS, but not work in KMS even they both use 1920x1200
> > modeline ?
> Assuming "UMS" means the old mode-setting, yes. All it took there for the
> screen to work is specifying "PreferredMode 1920x1200". It drove the screen
> like a computer screen, and not like a 1200p HDTV with overscan.

UMS means we use intel driver in user mode by setting i915.modeset=0 when system boot. So could you please try it in UMS mode ?

Thanks
Ma Ling 
Comment 10 Tony Vroon 2009-06-09 07:07:28 UTC
> UMS means we use intel driver in user mode by setting i915.modeset=0 when
> system boot. So could you please try it in UMS mode ?

Sure. That reverts the outputs to LVDS & HDMI-2 (as opposed to LVDS1 & DVI1) and leaves me with a working monitor. Info popup states 1920x1200.
Comment 11 MaLing 2009-06-10 07:10:27 UTC
(In reply to comment #10)
> > UMS means we use intel driver in user mode by setting i915.modeset=0 when
> > system boot. So could you please try it in UMS mode ?
> Sure. That reverts the outputs to LVDS & HDMI-2 (as opposed to LVDS1 & DVI1)
> and leaves me with a working monitor. Info popup states 1920x1200.

All modes do not work in KMS ? 

BTW what 's your kernel version?

Thanks
Ma Ling
Comment 12 Tony Vroon 2009-06-10 07:20:58 UTC
(In reply to comment #11)
> All modes do not work in KMS ? 

There is only one 1920x1200 mode and it is faulty. As it is a TFT I've only tried to use it on the native resolution.

> BTW what 's your kernel version?

Linux amalthea 2.6.30 #1 SMP Wed Jun 10 10:45:43 BST 2009 x86_64 Intel(R) Core(TM)2 Duo CPU T9400 @ 2.53GHz GenuineIntel GNU/Linux
Comment 13 MaLing 2009-06-13 09:51:04 UTC
Has your monitor VGA output or have another VGA monitor,  which also support 1920x1200 , and try the issue. 
I think if your VGA output with 1920x1200p works fine, we can narrow the issue down HDMI modesetting in KMS, otherwise it is from other cause.

Thanks
Ma Ling
Comment 14 Tony Vroon 2009-06-13 11:27:54 UTC
(In reply to comment #13)
I think if your VGA output with 1920x1200p works fine, we can narrow the issue
down HDMI modesetting in KMS, otherwise it is from other cause.

I can confirm that on VGA, the monitor is driven at 1920x1200, and that the info popup shows "1920x1200" instead of "1200p". Only on the HDMI connector on the monitor (which is connected to DVI on the laptop port replicator, output "DVI1" in KMS) does the mode show up as "1200p" with an incomplete image.
Comment 15 MaLing 2009-06-14 07:04:11 UTC
Ok, thanks for your help.
As you mentioned, in UMS the HDMI monitor with 1920x1200 mode works fine, 
and in KMS the HDMI monitor with 1920x1200 mode does not work.
So could you please dump register files respectively for UMS and KMS, then upload them?

Thanks for your help.

Ma Ling


Comment 16 Tony Vroon 2009-06-15 03:25:25 UTC
(In reply to comment #15)
> So could you please dump register files respectively for UMS and KMS, then
> upload them?

To make sure I produce usable output for you, can you remind me how this is captured exactly?
Comment 17 MaLing 2009-06-16 05:05:36 UTC
(In reply to comment #16)
> (In reply to comment #15)
> > So could you please dump register files respectively for UMS and KMS, then
> > upload them?
> To make sure I produce usable output for you, can you remind me how this is
> captured exactly?

Could you please download our latest 2D driver, after compile, then run ./xf86-video-intel/src/reg_dumper/intel_reg_dumper to produce register dump file.

thanks
Ma Ling 
Comment 18 MaLing 2009-06-18 05:53:18 UTC
(In reply to comment #17)
> (In reply to comment #16)
> > (In reply to comment #15)
> > > So could you please dump register files respectively for UMS and KMS, then
> > > upload them?
> > To make sure I produce usable output for you, can you remind me how this is
> > captured exactly?
> Could you please download our latest 2D driver, after compile, then run
> ./xf86-video-intel/src/reg_dumper/intel_reg_dumper to produce register dump
> file.
> thanks
> Ma Ling 

ping ~
Comment 19 Tony Vroon 2009-06-19 08:00:28 UTC
With KMS:
amalthea / # /cvs/xf86-video-intel/src/reg_dumper/intel_reg_dumper 
(II): DumpRegsBegin
(II):                  DCC: 0x000f0002 (dual channel interleaved, XOR randomization: enabled, XOR bit: 11)
(II):            CHDECMISC: 0x00000000 (none, ch2 enh disabled, ch1 enh disabled, ch0 enh disabled, flex disabled, ep not present)
(II):               C0DRB0: 0x000f0002 (0x0002)
(II):               C0DRB1: 0x0000000f (0x000f)
(II):               C0DRB2: 0x00000000 (0x0000)
(II):               C0DRB3: 0x00600000 (0x0000)
(II):               C1DRB0: 0x00000000 (0x0000)
(II):               C1DRB1: 0x00000000 (0x0000)
(II):               C1DRB2: 0x00000000 (0x0000)
(II):               C1DRB3: 0x00000000 (0x0000)
(II):              C0DRA01: 0x00810060 (0x0060)
(II):              C0DRA23: 0x00060081 (0x0081)
(II):              C1DRA01: 0x00000000 (0x0000)
(II):              C1DRA23: 0x00000000 (0x0000)
(II):           PGETBL_CTL: 0x00000001
(II):    VCLK_DIVISOR_VGA0: 0x00031108 (n = 3, m1 = 17, m2 = 8)
(II):    VCLK_DIVISOR_VGA1: 0x00031406 (n = 3, m1 = 20, m2 = 6)
(II):        VCLK_POST_DIV: 0x00020002 (vga0 p1 = 4, p2 = 2, vga1 p1 = 2, p2 = 2)
(II):            DPLL_TEST: 0x00010001 ()
(II):         CACHE_MODE_0: 0x00006820
(II):              D_STATE: 0x00000000
(II):        DSPCLK_GATE_D: 0x00040000 (clock gates disabled: DSSUNIT)
(II):       RENCLK_GATE_D1: 0x00000000
(II):       RENCLK_GATE_D2: 0x00000000
(II):                SDVOB: 0x0000001c (disabled, pipe A, stall disabled, detected)
(II):                SDVOC: 0x800008dc (enabled, pipe A, stall disabled, detected)
(II):              SDVOUDI: 0x00000000
(II):               DSPARB: 0x00000000
(II):               DSPFW1: 0x3f8f0f0f
(II):               DSPFW2: 0x150f0f0f
(II):               DSPFW3: 0x00000000
(II):                 ADPA: 0xc0008c18 (enabled, pipe B, +hsync, +vsync)
(II):                 LVDS: 0xc2308300 (enabled, pipe B, 18 bit, 1 channel)
(II):                 DVOA: 0x00000000 (disabled, pipe A, no stall, -hsync, -vsync)
(II):                 DVOB: 0x0000001c (disabled, pipe A, no stall, +hsync, +vsync)
(II):                 DVOC: 0x800008dc (enabled, pipe A, no stall, +hsync, +vsync)
(II):          DVOA_SRCDIM: 0x00000000
(II):          DVOB_SRCDIM: 0x00000000
(II):          DVOC_SRCDIM: 0x00000000
(II):           PP_CONTROL: 0x00000001 (power target: on)
(II):            PP_STATUS: 0xc0000008 (on, ready, sequencing idle)
(II):         PP_ON_DELAYS: 0x006409c4
(II):        PP_OFF_DELAYS: 0x00641388
(II):           PP_DIVISOR: 0x003e7f07
(II):         PFIT_CONTROL: 0x20000000
(II):      PFIT_PGM_RATIOS: 0x08000800
(II):      PORT_HOTPLUG_EN: 0x3e040320
(II):    PORT_HOTPLUG_STAT: 0x38640000
(II):             DSPACNTR: 0xd8000400 (enabled, pipe A)
(II):           DSPASTRIDE: 0x00003200 (12800 bytes)
(II):              DSPAPOS: 0x00000000 (0, 0)
(II):             DSPASIZE: 0x00000000 (1, 1)
(II):             DSPABASE: 0x00001400
(II):             DSPASURF: 0x028fa000
(II):          DSPATILEOFF: 0x00000500
(II):            PIPEACONF: 0xc0000000 (enabled, active)
(II):             PIPEASRC: 0x077f04af (1920, 1200)
(II):            PIPEASTAT: 0x00000206 (status: VSYNC_INT_STATUS SVBLANK_INT_STATUS VBLANK_INT_STATUS)
(II):    PIPEA_GMCH_DATA_M: 0x00000000
(II):    PIPEA_GMCH_DATA_N: 0x00000000
(II):      PIPEA_DP_LINK_M: 0x00000000
(II):      PIPEA_DP_LINK_N: 0x00000000
(II):                 FPA0: 0x00021606 (n = 2, m1 = 22, m2 = 6)
(II):                 FPA1: 0x00031108 (n = 3, m1 = 17, m2 = 8)
(II):               DPLL_A: 0xd4020c00 (enabled, dvo, default clock, DAC/serial mode, p1 = 2, p2 = 10)
(II):            DPLL_A_MD: 0x00000000
(II):             HTOTAL_A: 0x081f077f (1920 active, 2080 total)
(II):             HBLANK_A: 0x081f077f (1920 start, 2080 end)
(II):              HSYNC_A: 0x07cf07af (1968 start, 2000 end)
(II):             VTOTAL_A: 0x04d204af (1200 active, 1235 total)
(II):             VBLANK_A: 0x04d204af (1200 start, 1235 end)
(II):              VSYNC_A: 0x04b804b2 (1203 start, 1209 end)
(II):            BCLRPAT_A: 0x00000000
(II):         VSYNCSHIFT_A: 0x00000000
(II):             DSPBCNTR: 0xd9000400 (enabled, pipe B)
(II):           DSPBSTRIDE: 0x00003200 (12800 bytes)
(II):              DSPBPOS: 0x00000000 (0, 0)
(II):             DSPBSIZE: 0x00000000 (1, 1)
(II):             DSPBBASE: 0x00000000
(II):             DSPBSURF: 0x028fa000
(II):          DSPBTILEOFF: 0x00000000
(II):            PIPEBCONF: 0xc0000000 (enabled, active)
(II):             PIPEBSRC: 0x04ff031f (1280, 800)
(II):            PIPEBSTAT: 0x00400206 (status: LBLC_EVENT_ENABLE VSYNC_INT_STATUS SVBLANK_INT_STATUS VBLANK_INT_STATUS)
(II):    PIPEB_GMCH_DATA_M: 0x00000000
(II):    PIPEB_GMCH_DATA_N: 0x00000000
(II):      PIPEB_DP_LINK_M: 0x00000000
(II):      PIPEB_DP_LINK_N: 0x00000000
(II):                 FPB0: 0x00031405 (n = 3, m1 = 20, m2 = 5)
(II):                 FPB1: 0x00031108 (n = 3, m1 = 17, m2 = 8)
(II):               DPLL_B: 0x98026c00 (enabled, non-dvo, spread spectrum clock, LVDS mode, p1 = 2, p2 = 14)
(II):            DPLL_B_MD: 0x00000000
(II):             HTOTAL_B: 0x068f04ff (1280 active, 1680 total)
(II):             HBLANK_B: 0x068f04ff (1280 start, 1680 end)
(II):              HSYNC_B: 0x05c70547 (1352 start, 1480 end)
(II):             VTOTAL_B: 0x033e031f (800 active, 831 total)
(II):             VBLANK_B: 0x033e031f (800 start, 831 end)
(II):              VSYNC_B: 0x03280322 (803 start, 809 end)
(II):            BCLRPAT_B: 0x00000000
(II):         VSYNCSHIFT_B: 0x00000000
(II):    VCLK_DIVISOR_VGA0: 0x00031108
(II):    VCLK_DIVISOR_VGA1: 0x00031406
(II):        VCLK_POST_DIV: 0x00020002
(II):             VGACNTRL: 0x80000000 (disabled)
(II):               TV_CTL: 0x00000010
(II):               TV_DAC: 0x70000000
(II):             TV_CSC_Y: 0x00000000
(II):            TV_CSC_Y2: 0x00000000
(II):             TV_CSC_U: 0x00000000
(II):            TV_CSC_U2: 0x00000000
(II):             TV_CSC_V: 0x00000000
(II):            TV_CSC_V2: 0x00000000
(II):         TV_CLR_KNOBS: 0x00000000
(II):         TV_CLR_LEVEL: 0x00000000
(II):           TV_H_CTL_1: 0x00000000
(II):           TV_H_CTL_2: 0x00000000
(II):           TV_H_CTL_3: 0x00000000
(II):           TV_V_CTL_1: 0x00000000
(II):           TV_V_CTL_2: 0x00000000
(II):           TV_V_CTL_3: 0x00000000
(II):           TV_V_CTL_4: 0x00000000
(II):           TV_V_CTL_5: 0x00000000
(II):           TV_V_CTL_6: 0x00000000
(II):           TV_V_CTL_7: 0x00000000
(II):          TV_SC_CTL_1: 0x00000000
(II):          TV_SC_CTL_2: 0x00000000
(II):          TV_SC_CTL_3: 0x00000000
(II):           TV_WIN_POS: 0x00000000
(II):          TV_WIN_SIZE: 0x00000000
(II):      TV_FILTER_CTL_1: 0x00000000
(II):      TV_FILTER_CTL_2: 0x00000000
(II):      TV_FILTER_CTL_3: 0x00000000
(II):        TV_CC_CONTROL: 0x00000000
(II):           TV_CC_DATA: 0x00000000
(II):          TV_H_LUMA_0: 0x00000000
(II):         TV_H_LUMA_59: 0x00000000
(II):        TV_H_CHROMA_0: 0x00000000
(II):       TV_H_CHROMA_59: 0x00000000
(II):         FBC_CFB_BASE: 0x00000000
(II):          FBC_LL_BASE: 0x00000000
(II):          FBC_CONTROL: 0x00000000
(II):          FBC_COMMAND: 0x00000000
(II):           FBC_STATUS: 0x00000000
(II):         FBC_CONTROL2: 0x00000000
(II):        FBC_FENCE_OFF: 0x8c037a00
(II):          FBC_MOD_NUM: 0x00000000
(II):              MI_MODE: 0x00000200
(II):         MI_ARB_STATE: 0x00000040
(II):       MI_RDRET_STATE: 0x00000000
(II):              ECOSKPD: 0x00000307
(II):                 DP_B: 0x0000001c
(II):       DPB_AUX_CH_CTL: 0x00050000
(II):     DPB_AUX_CH_DATA1: 0x00000000
(II):     DPB_AUX_CH_DATA2: 0x00000000
(II):     DPB_AUX_CH_DATA3: 0x00000000
(II):     DPB_AUX_CH_DATA4: 0x00000000
(II):     DPB_AUX_CH_DATA5: 0x00000000
(II):                 DP_C: 0x0000001c
(II):       DPC_AUX_CH_CTL: 0x00050000
(II):     DPC_AUX_CH_DATA1: 0x00000000
(II):     DPC_AUX_CH_DATA2: 0x00000000
(II):     DPC_AUX_CH_DATA3: 0x00000000
(II):     DPC_AUX_CH_DATA4: 0x00000000
(II):     DPC_AUX_CH_DATA5: 0x00000000
(II):                 DP_D: 0x0000001c
(II):       DPD_AUX_CH_CTL: 0x00050000
(II):     DPD_AUX_CH_DATA1: 0x00000000
(II):     DPD_AUX_CH_DATA2: 0x00000000
(II):     DPD_AUX_CH_DATA3: 0x00000000
(II):     DPD_AUX_CH_DATA4: 0x00000000
(II):     DPD_AUX_CH_DATA5: 0x00000000
(II):        FENCE START 0: 0x00000000 (disabled, X tile walk,    0 pitch, 0x00000000 start)
(II):          FENCE END 0: 0x00000000 (                                   0x00000000 end)
(II):        FENCE START 1: 0x00000000 (disabled, X tile walk,    0 pitch, 0x00000000 start)
(II):          FENCE END 1: 0x00000000 (                                   0x00000000 end)
(II):        FENCE START 2: 0x00000000 (disabled, X tile walk,    0 pitch, 0x00000000 start)
(II):          FENCE END 2: 0x00000000 (                                   0x00000000 end)
(II):        FENCE START 3: 0x028fa18d ( enabled, X tile walk, 12672 pitch, 0x028fa000 start)
(II):          FENCE END 3: 0x038f9000 (                                   0x038f9000 end)
(II):        FENCE START 4: 0x00000000 (disabled, X tile walk,    0 pitch, 0x00000000 start)
(II):          FENCE END 4: 0x00000000 (                                   0x00000000 end)
(II):        FENCE START 5: 0x00000000 (disabled, X tile walk,    0 pitch, 0x00000000 start)
(II):          FENCE END 5: 0x00000000 (                                   0x00000000 end)
(II):        FENCE START 6: 0x00000000 (disabled, X tile walk,    0 pitch, 0x00000000 start)
(II):          FENCE END 6: 0x00000000 (                                   0x00000000 end)
(II):        FENCE START 7: 0x00000000 (disabled, X tile walk,    0 pitch, 0x00000000 start)
(II):          FENCE END 7: 0x00000000 (                                   0x00000000 end)
(II):        FENCE START 8: 0x00000000 (disabled, X tile walk,    0 pitch, 0x00000000 start)
(II):          FENCE END 8: 0x00000000 (                                   0x00000000 end)
(II):        FENCE START 9: 0x00000000 (disabled, X tile walk,    0 pitch, 0x00000000 start)
(II):          FENCE END 9: 0x00000000 (                                   0x00000000 end)
(II):       FENCE START 10: 0x00000000 (disabled, X tile walk,    0 pitch, 0x00000000 start)
(II):         FENCE END 10: 0x00000000 (                                   0x00000000 end)
(II):       FENCE START 11: 0x00000000 (disabled, X tile walk,    0 pitch, 0x00000000 start)
(II):         FENCE END 11: 0x00000000 (                                   0x00000000 end)
(II):       FENCE START 12: 0x00000000 (disabled, X tile walk,    0 pitch, 0x00000000 start)
(II):         FENCE END 12: 0x00000000 (                                   0x00000000 end)
(II):       FENCE START 13: 0x00000000 (disabled, X tile walk,    0 pitch, 0x00000000 start)
(II):         FENCE END 13: 0x00000000 (                                   0x00000000 end)
(II):       FENCE START 14: 0x00000000 (disabled, X tile walk,    0 pitch, 0x00000000 start)
(II):         FENCE END 14: 0x00000000 (                                   0x00000000 end)
(II):       FENCE START 15: 0x00000000 (disabled, X tile walk,    0 pitch, 0x00000000 start)
(II):         FENCE END 15: 0x00000000 (                                   0x00000000 end)
(II): pipe A dot 153600 n 2 m1 22 m2 6 p1 2 p2 10
(II): pipe B dot 83571 n 3 m1 20 m2 5 p1 2 p2 14
(II): DumpRegsEnd
Comment 20 Tony Vroon 2009-06-19 08:41:53 UTC
I no longer have access to the correct mode in UMS. Either this only worked in an older X release, or the monitor itself is faulty. Sorry for wasting your time.
Comment 21 MaLing 2009-06-22 06:23:43 UTC
(In reply to comment #20)
> I no longer have access to the correct mode in UMS. Either this only worked in
> an older X release, or the monitor itself is faulty. Sorry for wasting your
> time.

hi Tony,
You means you can not get correct mode setting in UMS, could you please upload log file with modedebug option on in UMS when your setting is 1920x1200 ?

Thanks
Ma Ling
Comment 22 Tony Vroon 2009-06-22 09:46:55 UTC
Created attachment 27014 [details]
regdump-samsung-ums.txt

SyncMaster 2243BW with user mode setting.
Comment 23 Tony Vroon 2009-06-22 09:47:30 UTC
Created attachment 27015 [details]
regdump-samsung-kms.txt

Samsung SyncMaster 2243BW with kernel mode setting.
Comment 24 Tony Vroon 2009-06-22 09:49:39 UTC
As frustration set in, I attached a different monitor (Samsung SyncMaster 2243BW) with a native resolution of 1680x1050. Aside from ruling out the monitor as the cause of the strange DVI/HDMI timings and corruption... I just captured an interesting set of register dumps (if you diff them, it almost looks as if some bits got cleared/set that should not have been). I'll defer to you as to whether you'd like the original ViewSonic attached again, but this seemed worth sharing.
Comment 25 Tony Vroon 2009-06-24 07:58:55 UTC
To confirm, I have switched laptop & docking station, ruling out the Fujitsu-Siemens Lifebook S6420 or the Lifebook port replicator as the source of the problem.
The DVI cable has also been swapped. Both laptop frames are on the newest available BIOS (which is 1.23).

I noticed video-related messages in the ChangeLog, is it possible that Fujitsu introduced a bug?
http://support.ts.fujitsu.com/Download/ShowDescription.asp?SoftwareGUID=5981414D-4DF8-43BF-A8D0-04913ADE0120&OSID=665F4A20-6E31-43C3-82C2-D98CE773007C&Status=True&Component=Flash%20-%20BIOS

Click More Information, note:
current BIOS V. 1.23:
 
Solved problems:
 
- LCD doesn't display anything after the system resumed from hibernation mode after being before in standby mode with LCD closed.
 
Known errors, problems and restrictions:
 
- none
 
Additional Information:
 
- VIDEO BIOS updated to support DVI in DOS
- BIOS 1.22 was skipped
Comment 26 MaLing 2009-06-24 19:23:42 UTC
hi Tony

Because dock station is very complex, let us  simply use laptop output to figue out the issue.

You changed another monitor Samsung SyncMaster 2243BW --native resolution should be 1680 x1050. We anticipate to use native resolution on HDMI output for KMS and UMS. And in UMS everything work fine, but KMS does not work right?
If yes from KMS register dump in comments #23, I saw the VGA was incorrectly detcted because you should only use only one HDMI output?


Thanks for your help
Ma Ling
Comment 27 Tony Vroon 2009-06-25 01:16:16 UTC
(In reply to comment #26)
> Because dock station is very complex, let us  simply use laptop output to figue
> out the issue.

Sorry, that is not possible. The DVI output is only available on the port replicator.

> You changed another monitor Samsung SyncMaster 2243BW --native resolution
> should be 1680 x1050. We anticipate to use native resolution on HDMI output for
> KMS and UMS. And in UMS everything work fine, but KMS does not work right?

Correct, in UMS the monitor is driven correctly. In KMS, generally the screen stays black at 1680x1050 while at lower resolutions the image is corrupted (either with moving lines or by the image being off-centre & cut in half).

> If yes from KMS register dump in comments #23, I saw the VGA was incorrectly
> detcted because you should only use only one HDMI output?

I may have tried VGA at some point. Agreed, this is distracting and I will re-run the dumps with only DVI connected.
Comment 28 Tony Vroon 2009-06-25 04:57:03 UTC
Created attachment 27123 [details]
regdump-samsung-ums.txt
Comment 29 MaLing 2009-06-25 06:22:44 UTC
(In reply to comment #28)
> Created an attachment (id=27123) [details]
> regdump-samsung-ums.txt

The root cause should be from G4X crt detection in KMS, could you please roll back your version to patch commit e4a5d54f924ea5ce2913d9d0687d034004816465 ?
Thanks
Ma Ling
Comment 30 Tony Vroon 2009-06-26 02:35:13 UTC
(In reply to comment #29)
> The root cause should be from G4X crt detection in KMS, could you please roll
> back your version to patch commit e4a5d54f924ea5ce2913d9d0687d034004816465 ?
> Thanks
> Ma Ling

Is that a kernel git commit or a 2D driver git commit please? 

Comment 31 MaLing 2009-06-28 20:14:02 UTC
(In reply to comment #30)
> (In reply to comment #29)
> > The root cause should be from G4X crt detection in KMS, could you please roll
> > back your version to patch commit e4a5d54f924ea5ce2913d9d0687d034004816465 ?
> > Thanks
> > Ma Ling
> Is that a kernel git commit or a 2D driver git commit please? 

e4a5d54f924ea5ce2913d9d0687d034004816465 is kernel patch, so could you please roll back to this patch, and try it?

Thanks
Ma Ling
Comment 32 Tony Vroon 2009-06-30 02:13:59 UTC
chainsaw@amalthea /cvs/linux-2.6 $ git revert -s e4a5d54f924ea5ce2913d9d0687d034004816465
Finished one revert.
[master 1ffe16b] Revert "drm/i915: Add support for VGA load detection (pre-945)."
 1 files changed, 2 insertions(+), 147 deletions(-)

Rebooting for test soon.
Comment 33 Tony Vroon 2009-06-30 02:36:07 UTC
Thank you very much, you have identified the faulty commit:
commit 1ffe16b973fe541dbdd46e26e2115b17583e6d51
Author: Tony Vroon <tony@linx.net>
Date:   Tue Jun 30 10:12:31 2009 +0100

    Revert "drm/i915: Add support for VGA load detection (pre-945)."
    
    This reverts commit e4a5d54f924ea5ce2913d9d0687d034004816465.
    Requested by Ma Ling <ling.ma@intel.com> in FDO bug #22150.
    
    Signed-off-by: Tony Vroon <tony@linx.net>

I am now able to use a DVI/HDMI monitor on:
Linux amalthea 2.6.31-rc1-00270-g06c0f23 #1 SMP Tue Jun 30 10:26:17 BST 2009 x86_64 Intel(R) Core(TM)2 Duo CPU T9400 @ 2.53GHz GenuineIntel GNU/Linux

With this local commit on my tree I can run KMS again. Could you consider doing this revert upstream please?
Comment 34 Tony Vroon 2009-07-01 10:01:14 UTC
...It would appear that this fix is only relevant to the Samsung panel and not the original ViewSonic screen. Will recheck whether UMS makes a difference tomorrow.
If not, I suggest we change the bug title so you can at least commit your fix, referencing the bug. Then I will refile for the ViewSonic issue.
Comment 35 Tony Vroon 2009-07-06 05:23:16 UTC
Changing bug title so you have a chance to resolve. Sorry for muddling the waters with two bugs in one report. I have switched to a different monitor.
Comment 36 Michael Fu 2009-07-08 23:11:04 UTC
(In reply to comment #34)
> ...It would appear that this fix is only relevant to the Samsung panel and not
> the original ViewSonic screen. Will recheck whether UMS makes a difference
> tomorrow.
> If not, I suggest we change the bug title so you can at least commit your fix,
> referencing the bug. Then I will refile for the ViewSonic issue.
> 

Tony, we havn't find the root cause yet. The issue when you connect to the Samsung monitor seems like another bug. would you please open another bug for it for now?

the commit id ling point to you (e4a5d54f924ea5ce2913d9d0687d034004816465 ) is for pre-945, and should have nothing to do with this bug...

Would you please post the KMS and UMS regdump of using the ViewSonic monitor? better to try kernel @ git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel

thanks.
Comment 37 Tony Vroon 2009-07-09 02:26:58 UTC
> the commit id ling point to you (e4a5d54f924ea5ce2913d9d0687d034004816465 ) is
> for pre-945, and should have nothing to do with this bug...

But reverting it, as instructed by Ma Ling, allows me to use that specific Samsung monitor. Please consider this a bug report for that specific breakage.

> Would you please post the KMS and UMS regdump of using the ViewSonic monitor?

I have given up on the ViewSonic 24" monitor. To be fair to you I have changed the title of the report so it can be closed as resolved eventually. I will refile down the road if I ever decide to try that 24" monitor again, but it's unlikely.
Comment 38 MaLing 2009-07-09 08:03:29 UTC
(In reply to comment #37)
> > the commit id ling point to you (e4a5d54f924ea5ce2913d9d0687d034004816465 ) is
> > for pre-945, and should have nothing to do with this bug...
> But reverting it, as instructed by Ma Ling, allows me to use that specific
> Samsung monitor. Please consider this a bug report for that specific breakage.

hi Tony,
We trust crt detection is good enough until(e4a5d54f924ea5ce2913d9d0687d034004816465). Sorry for my fault, my real intension is to hope you to move your version to (e4a5d54f924ea5ce2913d9d0687d034004816465), not revert this patch. Would you like to help us to test patch (e4a5d54f924ea5ce2913d9d0687d034004816465) on your machine, if no problem find the regression patch by git bisect ?

Thanks for your help.
Ma Ling
Comment 39 Michael Fu 2009-07-09 19:49:47 UTC
(In reply to comment #37)
> > the commit id ling point to you (e4a5d54f924ea5ce2913d9d0687d034004816465 ) is
> > for pre-945, and should have nothing to do with this bug...
> 
> But reverting it, as instructed by Ma Ling, allows me to use that specific
> Samsung monitor. Please consider this a bug report for that specific breakage.
> 
> > Would you please post the KMS and UMS regdump of using the ViewSonic monitor?
> 
> I have given up on the ViewSonic 24" monitor. To be fair to you I have changed
> the title of the report so it can be closed as resolved eventually. I will
> refile down the road if I ever decide to try that 24" monitor again, but it's
> unlikely.
> 

Thanks, Tony. Given the early part of the bug has been full of viewsonic issues, I've cloned another bug to track the Samsung issue. bug# 22694. I'm also a bit of confused with what's the original problem on the Samsung monitor, would you please kindly help to provide some description in that bug and start using it to respond Ling's question? thanks!

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.