Bug 18911

Summary: current git of xf86-video-ati ends with blank screen
Product: xorg Reporter: kowalski marcin <yoshi314>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: medium CC: andi-bz, benshalom, jacob
Version: 7.4 (2008.09)   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
r500 - xorg.conf
none
r500 - current git Xorg log
none
r500 - last working git revision Xorg log
none
turn off coherent mode by default
none
r500 - log after patching
none
Bios output for x1600 mobility
none
r500 - bios
none
r500 - register dump from 6.9.0 driver
none
r500 - register dump from git head
none
handle format rev 2 none

Description kowalski marcin 2008-12-05 22:48:59 UTC
As in the decrtiption - running Xorg 7.4 with current git of xf86-video-ati ends up with out of sync warning on the screen. 

things broke quickly after 6.9.0 release. i've tried numerous snapshots with the same result.

i'll provide necessary info later on. unfortunately i didn't notice anything out of the ordinary in X logs this time. i'm open for any suggestions.

video card: 
05:00.0 VGA compatible controller: ATI Technologies Inc RV515 PRO [Radeon X1300/X1550 Series]
Comment 1 kowalski marcin 2008-12-05 23:22:56 UTC
after some git bisecting i got here:

----------------------------------------------------------------------------
a5c5ce96279d01eb519bfb92b94c06a58acb7f07 is first bad commit
commit a5c5ce96279d01eb519bfb92b94c06a58acb7f07
Author: Alex Deucher <alexdeucher@gmail.com>
Date:   Mon Oct 6 15:07:31 2008 -0400

    Refactor atom LCD/DFP output setup

    Simplify the code, properly handle dithering, coherent mode, encoding, etc.
    Should fix bug 17897.

:040000 040000 6b170dc71fa0062d55b43e77d23db345cda01427 75438c71cd7cc71f1f27fee1a9c1bf9009bbd678 M      src
----------------------------------------------------------------------------
Comment 2 Andi Kleen 2008-12-06 02:11:42 UTC
I'm seeing also a blank screen (and a machine hang) with 

01:00.0 VGA compatible controller: ATI Technologies Inc RV370 5B60 [Radeon X300 (PCIE)]
01:00.1 Display controller: ATI Technologies Inc RV370 [Radeon X300SE]

and current git. Haven't checked if that commit is the one to blame.
Comment 3 kowalski marcin 2008-12-06 02:13:20 UTC
machine does not hang for me - i can switch to vt and kill X (with proper return to console) anytime.

but i think it used to lock up some time ago, i guess.
Comment 4 kowalski marcin 2008-12-06 02:15:28 UTC
i think i have the same card around (x300se model), if that's necessary i can re-test driver's behavior with it.
Comment 5 Andi Kleen 2008-12-06 02:18:02 UTC
For me vt switch is dead. Have to press reset button.
Haven't tried login over network.


Comment 6 Alex Deucher 2008-12-06 07:48:35 UTC
Can you attach your latest xorg logs and configs?  Also, if you have one, can you attach the logs from the driver when it was last working?
Comment 7 kowalski marcin 2008-12-06 08:34:45 UTC
Created attachment 20856 [details]
r500 - xorg.conf

i'm attaching the xorg.conf i use.

note : commenting out horizsync/vertrefresh doesn't change a thing.
Comment 8 kowalski marcin 2008-12-06 08:35:24 UTC
Created attachment 20857 [details] [review]
r500 - current git Xorg log

attaching current git log file on r500 card.
Comment 9 kowalski marcin 2008-12-06 08:36:14 UTC
Created attachment 20858 [details] [review]
r500 - last working git revision Xorg log

attaching log from last working git commit (just before the bisected one).
Comment 10 kowalski marcin 2008-12-08 07:11:45 UTC
as i wrote before - i have a spare r300 (gigabyte x300se) card around. 

i can do some extra testing with it. would that help?
Comment 11 Alex Deucher 2008-12-09 16:13:55 UTC
*** Bug 18990 has been marked as a duplicate of this bug. ***
Comment 12 Alex Deucher 2008-12-10 11:30:57 UTC
Created attachment 21012 [details] [review]
turn off coherent mode by default

looks like maybe your monitor doesn't like coherent mode.  Does this patch help?
Comment 13 Alex Deucher 2008-12-10 11:33:04 UTC
(In reply to comment #2)
> I'm seeing also a blank screen (and a machine hang) with 
> 
> 01:00.0 VGA compatible controller: ATI Technologies Inc RV370 5B60 [Radeon X300
> (PCIE)]
> 01:00.1 Display controller: ATI Technologies Inc RV370 [Radeon X300SE]
> 
> and current git. Haven't checked if that commit is the one to blame.
> 

Andi, this is a different bug, the relevant code paths are not used on your chip.  Please file a new bug and attach your xorg log and xonfig.
Comment 14 Yotam Benshalom 2008-12-10 12:11:19 UTC
Alex, I would love to test your patch when it is available from a ppa repository like https://edge.launchpad.net/~tormodvolden/+archive.
Comment 15 kowalski marcin 2008-12-10 22:18:56 UTC
the patch did not help me (applied cleanly on top of current git). 

i'm still stuck at out of sync.

i'll attach new xorg logs in a minute.
Comment 16 kowalski marcin 2008-12-10 22:20:25 UTC
Created attachment 21039 [details] [review]
r500 - log after patching

attaching log after running patched driver patching.
Comment 17 kowalski marcin 2008-12-10 22:40:21 UTC
i've run xrandr --verbose under fluxbox sessions, both on 6.9.0 an current git with patch ( in the blind, adding it to ~/.xinitrc ). then i compared both

the current-git+patch xrandr dump shows that coherent is explictly disabled, so i guess the driver did compile right.

--- xrandr_bad.txt      2008-12-11 07:32:38.000000000 +0100
+++ xrandr_good.txt     2008-12-11 07:34:18.000000000 +0100
@@ -1,18 +1,17 @@
 Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 1400 x 1400
 DVI-1 disconnected (normal left inverted right x axis y axis)
        Identifier: 0x4b
-       Timestamp:  2702311
+       Timestamp:  2802498
        Subpixel:   no subpixels
        Clones:     DVI-0
        CRTCs:      0 1
                dvi_monitor_type: auto
                scaler: off
                tmds_pll: bios
-       coherent_mode: 0 (0x00000000) range:  (0,1)
        load_detection: 1 (0x00000001) range:  (0,1)
 DVI-0 connected 1280x1024+0+0 (0x4d) normal (normal left inverted right x axis 
y axis) 338mm x 270mm
        Identifier: 0x4c
-       Timestamp:  2702311
+       Timestamp:  2802498
        Subpixel:   horizontal rgb
        Clones:     DVI-1
        CRTC:       0
@@ -28,7 +27,6 @@
                0042656e512046503732472b440a001a
                dvi_monitor_type: auto
                scaler: off
-       coherent_mode: 0 (0x00000000) range:  (0,1)
        load_detection: 1 (0x00000001) range:  (0,1)
   1280x1024 (0x4d)  108.0MHz +HSync +VSync *current +preferred
         h: width  1280 start 1328 end 1440 total 1688 skew    0 clock   64.0KHz
------------------------------------------------------------------------------
will it be useful to provide those xrandr --verbose dumps?
Comment 18 Alex Deucher 2008-12-10 22:43:45 UTC
(In reply to comment #15)
> the patch did not help me (applied cleanly on top of current git). 
> 
> i'm still stuck at out of sync.

Can you attach your video bios?

as root:
cd /sys/bus/pci/devices/<pci bus id>/
echo 1 > rom
cat rom > /tmp/r500.rom
echo 0 > rom
Comment 19 kowalski marcin 2008-12-10 23:17:08 UTC
no problem. i'll post it when i get back from work.
Comment 20 Yotam Benshalom 2008-12-11 06:35:12 UTC
Created attachment 21053 [details]
Bios output for x1600 mobility
Comment 21 kowalski marcin 2008-12-11 21:53:50 UTC
Created attachment 21081 [details]
r500 - bios

attaching my video card bios
Comment 22 kowalski marcin 2008-12-22 22:04:02 UTC
re-tested with current git - problem persists. 

can i somehow provide extra information to help with this?
Comment 23 Alex Deucher 2008-12-23 09:55:38 UTC
Can you dump the regs from the last working build and current git?  Use avivotool from here:
http://cgit.freedesktop.org/~airlied/radeontool

(as root):
./avivotool regs all > working.dump
./avivotool regs all > broken.dump
and attach the dumps to the bug.
Comment 24 kowalski marcin 2008-12-30 01:02:13 UTC
sorry for delay; i'll provide the dumps in a few hours. 

concerning the current-git dump - since i'm planning to run the command from ~/.xinitrc after starting X with current-git driver : does it matter whether the dump is made right after X starts, or should i first wait for a few seconds after X starts and then make a register dump? 

(i can also do it remotely via ssh from second machine)
Comment 25 Alex Deucher 2008-12-30 07:52:32 UTC
(In reply to comment #24)
> sorry for delay; i'll provide the dumps in a few hours. 
> 
> concerning the current-git dump - since i'm planning to run the command from
> ~/.xinitrc after starting X with current-git driver : does it matter whether
> the dump is made right after X starts, or should i first wait for a few seconds
> after X starts and then make a register dump? 
> 
> (i can also do it remotely via ssh from second machine)
> 

Either way should be fine.  ssh would probably be easiest.
Comment 26 kowalski marcin 2009-01-01 04:04:34 UTC
Created attachment 21611 [details] [review]
r500 - register dump from 6.9.0 driver
Comment 27 kowalski marcin 2009-01-01 04:06:30 UTC
Created attachment 21612 [details] [review]
r500 - register dump from git head

i don't really remember at which commit git was at the time (i think i was messing around with bisecting at that point). 

i'll try doing another git-head regdump soon.
Comment 28 Alex Deucher 2009-01-04 17:45:30 UTC
Created attachment 21664 [details] [review]
handle format rev 2

I think this should do the trick.  We weren't handling table format rev 2.
Comment 29 Alex Deucher 2009-01-04 18:07:33 UTC
please try git master (d5cb24075928690377fd2dfaa32abfebff9990df).
Comment 30 kowalski marcin 2009-01-04 21:51:35 UTC
great, the driver works, and X starts up way faster than before (about 0,5s now, which is about 4x improvement). before (on working revisions) the display would go out of sync and then start up.

the only issue i noticed so far is that there is some green garbage on top of the screen for a split second before desktop/wm starts, but i guess i can live with that ;-)

i'd do some more testing (just in case) today.

Comment 31 Fabio Pedretti 2009-01-05 03:06:33 UTC
kowalski, see this bug for the screen corruption during X startup:
http://bugs.freedesktop.org/show_bug.cgi?id=18108

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.