Bug 20429

Summary: [GM965/GL960 SDVO] No out in X using HDMI on GM965 - SDVO port-device mapping
Product: xorg Reporter: Alexander Ho <orifice>
Component: Driver/intelAssignee: ykzhao <yakui.zhao>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: michael.fu
Version: 7.4 (2008.09)   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
ModeDebug on. Only HDMI connected.
none
VBIOS dump on DE965-HG Machine
none
Xorg.0.log with TV output disabled
none
please try the patch on your machine ,then upload log file with modedebug option on, thanks
none
xorg.0.log - git-head patched with patch 20429_debug.patch
none
hi Alexander Ho, please try the debug patch on your machine, thanks.
none
Xorg log using git-head with patch 24960 applied
none
please try the debug patch on your machine, thanks.
none
Xorg log with patch 25213 using HDMI
none
Xorg log with patch 25213 using HDMI
none
[Patch 1/4]: dynamically get the number of chid device in general definition blocks
none
[Patch 2/4]: parse the general definition block to get the SDVO device info
none
[patch 3/4]: add a function that find a slave address for one SDVO port
none
[patch 4/4]: initialize the SDVO device based on the valid slave address none

Description Alexander Ho 2009-03-02 10:52:28 UTC
Created attachment 23447 [details]
ModeDebug on.  Only HDMI connected.

chipset: GM965
architecture: i686
xorg driver: git-tip
drm: packaged with 2.6.27.16-78 (fc9 repo)
libdrm: git
kernel 2.6.27.15-78
distro: fc9

I have a DE965-HG machine made by Aopen with two VGA ports and an HDMI port.  On boot, the hdmi connection is detected and the console operates as expected.

Using the latest driver, X starts without error.  The logs show the connection being detected and EDID being read.  The correct resolution is detected.  xrandr shows that the output is connected and operational but there is no signal being received by the monitor.  Stopping X, brings back the text console.

Also, one of the vga ports is being incorrectly identified as output TV-1.  Four outputs are detected by xrandr: VGA, TV-1, TMDS-2 and TV (which has the usual TV parameters, but no port is available on the back panel of the machine).  I'm not sure if there is anything that can be done about this, but the information is here.

A further bit of information: using the iegd 9.0.2 driver, hdmi output is available in X using an SDVO port.

Attached is an xorg.0.log with ModeDebug on.  Only the hdmi cable is attached.
Comment 1 Michael Fu 2009-03-02 17:48:58 UTC
zhenyu should have a look at this:

- Multi-caps SDVO device support. See showing as TV-1 when no connection confuses user...
- why detected as TMDS-2 rather than HDMI-2 (Alex, you didn't use a HDMI-DVI converter,right?)
- TV detection from BDB? though low priority...
Comment 2 Michael Fu 2009-03-02 17:51:47 UTC
pls attach you vbios rom. you can get it via:

# cd /sys/devices/pci0000\:00/0000\:00\:02.0/
# echo 1 > rom
# cat rom > /tmp/rom.bin
# echo 0 > rom

then attach the rom.bin

thanks.
Comment 3 Wang Zhenyu 2009-03-02 22:22:40 UTC
Could you try to disable TV in xorg.conf? like below,

Section "Monitor"
   Identifier "TV"
   Option "Ignore" "true"
EndSection

Section "Device"
   Identifier "Intel gfx"
   Driver "intel"
   ....
   Option "monitor-TV" "TV"
EndSection
Comment 4 Alexander Ho 2009-03-03 06:52:05 UTC
Created attachment 23470 [details]
VBIOS dump on DE965-HG Machine
Comment 5 Alexander Ho 2009-03-03 06:57:53 UTC
Created attachment 23471 [details]
Xorg.0.log with TV output disabled

Attached is an Xorg log when starting with the TV output disabled as recommended.  Behavior appears the same as before.
Comment 6 Michael Fu 2009-03-03 18:02:29 UTC
The TV issue should be a hw/fw bug - it doesn't build any TV connector out but still claim TV supported in the FW. anyway, it's shown as disconnected, so should not be a problem.

this is:

(EE) intel(0): First SDVOC output reported failure to sync
Comment 7 Wang Zhenyu 2009-03-09 00:50:33 UTC
Have you tried if other mode lines could work?
Comment 8 Michael Fu 2009-03-12 00:51:52 UTC
also, what if you connect monitor to the VGA port connected to SDVO? you might need to try more than once to figure out. In xrandr , it's called VGA-1. thanks.
Comment 9 Alexander Ho 2009-03-18 07:58:19 UTC
(In reply to comment #7)
> Have you tried if other mode lines could work?
> 

Hello.

I tried every modeline available on HDMI output today and none of them showed any signal when only hdmi was connected.

Comment 10 Alexander Ho 2009-03-18 08:14:20 UTC
(In reply to comment #8)
> also, what if you connect monitor to the VGA port connected to SDVO? you might
> need to try more than once to figure out. In xrandr , it's called VGA-1.
> thanks.
> 

When a monitor is connected to the second VGA port, the TV-1 output changes to VGA-1 in xrandr.  If only the VGA-1 is connected (no VGA and HDMI-2), then symptoms similar to when only HDMI-1 is connected appear, i.e., xrandr --prop shows the monitor connected, edid data and a supported mode being used but no signal is present on the monitor.

Now if both VGA-1 and HDMI-2 are connected, output is shown on the VGA-1 monitor, and the HDMI-1 connected monitor shows 'Mode not supported'.  I can freely adjust modes on both outputs through xrandr but I can never get the HDMI to output a mode that is 'supported'.

At some point during experimenting, the HDMI-2 picked up the signal correctly and showed the X desktop.  A combination of VGA-1 and HDMI-2 unplugs/replugs and X server restarts yielded that result, but I have been unable to reproduce thus far.

Comment 11 Alexander Ho 2009-03-31 10:28:25 UTC
Are there any other tests that I can help with ?
Comment 12 MaLing 2009-04-02 00:56:22 UTC
Created attachment 24454 [details]
please try the patch on your machine ,then upload log file with modedebug option on, thanks

the log in comment #5 shows
1) bios enable sdvob port, but driver enable sdvoc
2) (II) intel(0): SDVOB: W: 02   (SDVO_CMD_GET_DEVICE_CAPS)
(II) intel(0): SDVOB: R: 02 42 02 01 01 3D 3E 00 (Success)
doesn't find right capability,
So please try the patch under comment #5 environment.

thanks
Ma Ling
Comment 13 Alexander Ho 2009-04-03 09:33:57 UTC
Created attachment 24508 [details]
xorg.0.log - git-head patched with patch 20429_debug.patch

This bug currently allows hdmi to be output correctly on an Aopen DE965HG machine.
Comment 14 Alexander Ho 2009-04-03 09:35:53 UTC
(In reply to comment #12)
> Created an attachment (id=24454) [details]
> please try the patch on your machine ,then upload log file with modedebug
> option on, thanks
> 
> the log in comment #5 shows
> 1) bios enable sdvob port, but driver enable sdvoc
> 2) (II) intel(0): SDVOB: W: 02   (SDVO_CMD_GET_DEVICE_CAPS)
> (II) intel(0): SDVOB: R: 02 42 02 01 01 3D 3E 00 (Success)
> doesn't find right capability,
> So please try the patch under comment #5 environment.
> 
> thanks
> Ma Ling
> 

Patch was successful in solving the problem described.(In reply to comment #12)
> Created an attachment (id=24454) [details]
> please try the patch on your machine ,then upload log file with modedebug
> option on, thanks
> 
> the log in comment #5 shows
> 1) bios enable sdvob port, but driver enable sdvoc
> 2) (II) intel(0): SDVOB: W: 02   (SDVO_CMD_GET_DEVICE_CAPS)
> (II) intel(0): SDVOB: R: 02 42 02 01 01 3D 3E 00 (Success)
> doesn't find right capability,
> So please try the patch under comment #5 environment.
> 
> thanks
> Ma Ling
> 

(In reply to comment #13)
> Created an attachment (id=24508) [details]
> xorg.0.log - git-head patched with patch 20429_debug.patch
> 
> This bug currently allows hdmi to be output correctly on an Aopen DE965HG
> machine.
> 

The patch also allows for TMDS output via HDMI port using an HDMI->DVI cable.  
Comment 15 MaLing 2009-04-20 01:18:31 UTC
Created attachment 24960 [details]
hi Alexander Ho, please try the debug patch on your machine, thanks.

hi Alexander Ho,
This is a general debug patch, which intends dynamically to assign sdvo slave addr-0x70 or 0x72 to SDVB or SDVOC. After running please upload your log file with modedebug option on after.

thanks
maling
Comment 16 Alexander Ho 2009-04-20 13:30:51 UTC
Created attachment 24978 [details]
Xorg log using git-head with patch 24960 applied

The driver was successful in setting up the HDMI display using HDMI->HDMI cable and also HDMI->DVI.
Comment 17 MaLing 2009-04-27 22:03:03 UTC
Created attachment 25213 [details]
please try the debug patch on your machine, thanks.

please try the patch on your machine, then upload log file with modedebug option on.
thanks
maling
Comment 18 MaLing 2009-05-05 05:22:01 UTC
ping ~
Comment 19 Alexander Ho 2009-05-06 11:27:14 UTC
Created attachment 25561 [details]
Xorg log with patch 25213 using HDMI

Sorry for the late reply!

Driver with this patch applied does not successfully initialize the HDMI display.  Also, the display was not returned when switching back to the terminal nor when stopping X.

Under the same environment, patch (id 24960) successfully initialized the HDMI display.
Comment 20 Alexander Ho 2009-05-06 11:32:00 UTC
Created attachment 25562 [details]
Xorg log with patch 25213 using HDMI

Sorry for the late reply!

Driver with this patch applied does not successfully initialize the HDMI display.  Also, the display was not returned when switching back to the terminal nor when stopping X.

Under the same environment, patch (id 24960) successfully initialized the HDMI display.
Comment 21 ykzhao 2009-05-26 02:17:22 UTC
Created attachment 26214 [details] [review]
[Patch 1/4]: dynamically get the number of chid device in general definition blocks
Comment 22 ykzhao 2009-05-26 02:18:29 UTC
Created attachment 26215 [details] [review]
[Patch 2/4]: parse the general definition block to get the SDVO device info
Comment 23 ykzhao 2009-05-26 02:19:07 UTC
Created attachment 26216 [details] [review]
[patch 3/4]: add a function that find a slave address for one SDVO port
Comment 24 ykzhao 2009-05-26 02:20:04 UTC
Created attachment 26217 [details] [review]
[patch 4/4]: initialize the SDVO device based on the valid slave address
Comment 25 ykzhao 2009-05-26 02:22:10 UTC
Hi, Alexander
    Will you please try the attached patch set in comment #21-#24 and see whether the issue can be fixed?
    It will be great if you can attach the output of xorg log.
    Thanks.
Comment 26 MaLing 2009-06-08 22:25:12 UTC
ping ~
Comment 27 ykzhao 2009-06-15 23:04:43 UTC
The attached patch set can fix the issue in this bug. And is is already committed in the latest intel driver.
    At the same time it is also shipped in KMS mode.
    So this bug will be marked as resolved.

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.