Bug 19100

Summary: radeon 7500: No display on DVI output
Product: xorg Reporter: Francois Gouget <fgouget>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED INVALID QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: medium    
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg.0.log of the failing case (89a8fd53)
none
Xorg.0.log of the working case (Git fd978140 iirc)
none
Reg dump, working config
none
Reg dump, working config broken by the previous reg dump
none
Reg dump, broken config (Git 89a8fd53)
none
patch against ati git master
none
Reg dump, broken config (Git b2b43905) none

Description Francois Gouget 2008-12-15 08:36:42 UTC
With recent radeon drivers I cannot get the X server to work through my ATI 7500 DVI output. I have done a git-bisect and have found the following commit to be the culprit:

547543bbefe605a453bfa5ae6d063ae02c5f040e is first bad commit
commit 547543bbefe605a453bfa5ae6d063ae02c5f040e
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Sat Sep 23 08:21:59 2006 +1000

    radeon: re-organise FP and CRTC register setting routines

:040000 040000 0ac88422caf387f6cfda4214713d62f342ffb2ff 089cf7f3e18f90d4d5595a78f61c41564ec2f60b
M      src


More details:
 * I have confirmed that the bug is present all the way to commit 89a8fd53 (2008/12/15).

 * This is an AGP ATI 7500. It has three outputs: DVI, S-Video and VGA.

 * My LCD monitor is an Iiyama B2403WS and it has two inputs: HDMI (with a DVI to HDMI cable) and VGA.

 * If I hook up the VGA output to the monitor, then the display goes through the VGA output. However this results in a very ugly display on my LCD monitor (due to the digital->analog->digital roundtrip and the high resolution) and is thus absolutely unusable.

 * If I only hook up the DVI output, then the monitor displays an all-blue screen for a bit and then enters power-save mode. This is exactly the same thing that is happening if the monitor's DVI input is not connected to anything. So this means the graphics card is not putting out a signal (or nothing that's recognizable).

 * Because it looks a bit similar to bug 16374 I tried setting DisplayPriority to AUTO, HIGH and BIOS but that made no difference.

 * Bug 18564 is also similar, but it's a different card (a much more recent one and a laptop one).

 * 'lspci -vvv' output for my graphics card:
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV200 QW [Radeon 7500] (prog-if 00 [VGA controller])
        Subsystem: C.P. Technology Co. Ltd Device 2032
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-Stepping+ SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 32 (2000ns min), Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at d8000000 (32-bit, prefetchable) [size=128M]
        Region 1: I/O ports at a000 [size=256]
        Region 2: Memory at e1000000 (32-bit, non-prefetchable) [size=64K]
        Capabilities: [58] AGP version 2.0
                Status: RQ=48 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2,x4
                Command: RQ=32 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x1
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Kernel modules: radeonfb

 * 'lspci -n' output for my graphics card:
01:00.0 0300: 1002:5157

 * I am attaching the Xorg.0.log of the working and broken cases in a minute.

 * Setting Severity to Major because it makes X unusable in my current setup (only way to fix would be to change the hardware).
Comment 1 Francois Gouget 2008-12-15 08:38:26 UTC
Created attachment 21177 [details]
Xorg.0.log of the failing case (89a8fd53)
Comment 2 Francois Gouget 2008-12-15 08:39:59 UTC
Created attachment 21178 [details]
Xorg.0.log of the working case (Git fd978140 iirc)
Comment 3 Alex Deucher 2008-12-15 08:45:46 UTC
Thanks for tracking this down.  Unfortunately, the code has changed
significantly since then.  Any chance you could send me some reg dumps
between a working system and the non-working system?  if you could
download radeontool from here:
http://cgit.freedesktop.org/~airlied/radeontool
and then run (as root) in a working setup:
./radeontool regmatch '*' > working.dump
and a non-working setup:
./radeontool regmatch '*' > broken.dump
and attach the reg dumps, I can probably sort out what's wrong.
Comment 4 Francois Gouget 2008-12-16 08:47:53 UTC
Created attachment 21206 [details]
Reg dump, working config

Taken on a working X server.
What is interesting is that this killed the DVI output but not the X server: I was able to then access it using x11vnc.
Comment 5 Francois Gouget 2008-12-16 08:50:06 UTC
Created attachment 21207 [details]
Reg dump, working config broken by the previous reg dump

This was taken right after the previous reg dump broke the DVI output.
Comment 6 Francois Gouget 2008-12-16 08:51:28 UTC
Created attachment 21208 [details]
Reg dump, broken config (Git 89a8fd53)

Reg dump of the broken config after rebooting with the 89a8fd53 driver.
Comment 7 Alex Deucher 2008-12-16 10:18:50 UTC
Created attachment 21209 [details] [review]
patch against ati git master

this should fix it.
Comment 8 Francois Gouget 2008-12-17 06:23:59 UTC
Created attachment 21242 [details]
Reg dump, broken config (Git b2b43905)

Bad news :-(
I recompiled the driver from this Git commit (which I believe corresponds to the attached patch):

commit b2b43905a5385a8bb0b59b8e50952863d8dacb59
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Wed Dec 17 00:59:52 2008 -0500

    Pre-avivo: fix FP setup
    
    - make sure to clear various shadow timing bits
    - crtc1 select bit was set wrong.
    - should fix bugs like 19100

Then I rebooted but the display did not come up.
So I collected a new reg dump which I'm attaching here as broken-b2b43905.dump. I also ran the following command, but again with no success:

# radeontool regset FP_GEN_CNTL 0x0a430085
OLD: FP_GEN_CNTL (0284) 0x0b430085 (188940421)
NEW: FP_GEN_CNTL (0284) 0x0a430085 (172163205)
Comment 9 Alex Deucher 2009-11-11 10:44:03 UTC
Is this still an issue with xf86-video-ati from git master?
Comment 10 Francois Gouget 2009-12-04 12:22:52 UTC
I have retested with today's Git (f082b1693d6f7f763ccf5a8436a89890ca2c6129) and the issue is still present: the display works fine through the VGA-0 ouptut, but not through the DVI-0 one.

For reference here's what xrandr tells me:

Screen 0: minimum 320 x 200, current 1920 x 1200, maximum 1920 x 1920
VGA-0 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 519mm x 324mm
   1920x1200      60.0*+
   1600x1200      60.0  
   1680x1050      60.0  
   1280x1024      76.0     75.0     72.0     60.0  
   1440x900       75.0     59.9  
   1152x864       75.0  
   1024x768       75.0     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3  
   640x480        75.0     72.8     66.7     59.9  
   720x400        70.1  
   640x350        70.1  
DVI-0 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 519mm x 324mm
   1920x1200      60.0 +
   1600x1200      60.0  
   1680x1050      59.9  
   1280x1024      76.0     75.0     72.0     60.0  
   1440x900       75.0     59.9  
   1152x864       75.0  
   1024x768       75.0     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3  
   1440x240       60.1  
   640x480        75.0     72.8     66.7     59.9  
   720x400        70.1  
S-video disconnected (normal left inverted right x axis y axis)

If I interpret this output right I should be getting something through the DVI-0 output, but all I get is a blue screen (same as 'no signal').
Comment 11 Alex Deucher 2009-12-04 13:00:25 UTC
(In reply to comment #10)

> DVI-0 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 519mm
> x 324mm
>    1920x1200      60.0 +
>    1600x1200      60.0  
>    1680x1050      59.9  
>    1280x1024      76.0     75.0     72.0     60.0  
>    1440x900       75.0     59.9  
>    1152x864       75.0  
>    1024x768       75.0     70.1     60.0  
>    832x624        74.6  
>    800x600        72.2     75.0     60.3  
>    1440x240       60.1  
>    640x480        75.0     72.8     66.7     59.9  
>    720x400        70.1  

you should see a * by the currently active mode.  Try:
xrandr --output DVI-0 --mode 1920x1200
Comment 12 Francois Gouget 2009-12-05 05:02:30 UTC
> you should see a * by the currently active mode.  Try:
> xrandr --output DVI-0 --mode 1920x1200

I tried that and it does get me a star by the 1920x1200 line. However that still leaves the screen all blue :-(
Comment 13 Alex Deucher 2010-10-19 16:52:39 UTC
Is this still an issue with kms or a newer version of the driver?
Comment 14 Adam Jackson 2018-06-12 19:07:55 UTC
Mass closure: This bug has been untouched for more than six years, and is not
obviously still valid. Please reopen this bug or file a new report if you continue to experience issues with current releases.

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.