Bug 16104

Summary: Radeon KMS does not start after merge of the new PM-Code
Product: Drivers Reporter: Jan Kreuzer (kontrollator)
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: CLOSED CODE_FIX    
Severity: high CC: alexdeucher, glisse, jlp.bugs, maciej.rutecki, rjw
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.35-rc1 Tree: Mainline
Regression: Yes
Bug Depends on:    
Bug Blocks: 16055    
Attachments: gitbisectresult
git bisect log
/Var/log/messages from working kernel (2.6.34-rc7)
/Var/log/messages from non-working kernel (2.6.35-rc1)
/Var/log/messages from non-working kernel (2.6.34-drm-radeon-next)
dmesg with drm.debug=15 from working kernel

Description Jan Kreuzer 2010-06-02 07:47:22 UTC
Created attachment 26611 [details]
gitbisectresult

Using kernels after 2.6.34 with Radeon KMS does not work. Whenever the radeon modeule becomes active the screen goes black with vertical dottet lines. Disabling modeset lets the kernel start. KMS worked with the old code okay on this machine. Its an latop from Fujitsu-Siemens with an x700 Mobility PCIE.
I tried an bisect run, bisect log said that ce8a3eb20c4cb7d9e0c33e7560070688cd9066fc is the first bad commit. I tried to revert it ontop of 2.6.35-rc1, the vertical dotted lines disappeared, however system hangs forever with an black screen.
I attach bisect-log. If more Information is needed please tell me so.
Comment 1 Jan Kreuzer 2010-06-02 07:48:08 UTC
Created attachment 26612 [details]
git bisect log
Comment 2 Jérôme Glisse 2010-06-02 08:19:21 UTC
Please attach full kernel log with 2.6.34, if you can't boot because of KMS boot with: radeon.modeset=0 3
Then log as root and do (through ssh would be easier):
rmmod radeon
modprobe radeon modeset=1
Then save the kernel log (/var/log/messages usually) and attach it here
Comment 3 Jan Kreuzer 2010-06-02 11:59:57 UTC
Which kernel do you mean the working 2.6.34 or the non working 2.6.35-rc1 ?
Comment 4 Jérôme Glisse 2010-06-02 12:40:51 UTC
non working 2.6.35 and also a working log with 2.6.34
Comment 5 Jan Kreuzer 2010-06-02 14:13:44 UTC
Created attachment 26615 [details]
/Var/log/messages from working kernel (2.6.34-rc7)
Comment 6 Jan Kreuzer 2010-06-02 14:16:57 UTC
Created attachment 26616 [details]
/Var/log/messages from non-working kernel (2.6.35-rc1)

I think the error is unrelated to the problem, as airlieds drm-radeno-next tree doesnt show the bug in native_sched_clock but booting with modeset also does not work. I will also attach messages from airlieds 2.6.34-tree.
Comment 7 Jan Kreuzer 2010-06-02 14:17:45 UTC
Created attachment 26617 [details]
/Var/log/messages from non-working kernel (2.6.34-drm-radeon-next)
Comment 8 Alex Deucher 2010-06-02 15:02:44 UTC
Is it just LVDS?  Does an external monitor work?
Comment 9 Jan Kreuzer 2010-06-03 07:39:25 UTC
New code does not work when plugging in an flatscreen per dvi. Still boot hangs with dotted white vertical lines on lvds, whereas dvi says no cable connected.

However i noticed a new problem when plugging in dvi with 2.6.34. When i plug dvi at running time it works as espected (aka dynamically configures monitor), however when i plug dvi in at boot time the lvds becomes all white as soon X starts and only dvi works. I will open a new bugreport for this.
Comment 10 Jérôme Glisse 2010-06-03 11:09:06 UTC
Please boot with drm.debug=15 and attach kernel log. Also please boot with no external monitor connected. So we can fix bug one at a time. (need log with a working and non working kernel)
Comment 11 Jure Repinc 2010-06-03 15:12:36 UTC
I bisected to the same commit on my HP Compaq nx6325 laptop with integrated RS482. 2.6.34 was fine, 2.6.35-rc1 freezes. This is with only the LCDS, no external monitor. I'll attach logs when I get back home, if still needed.
Comment 12 Alex Deucher 2010-06-03 15:42:01 UTC
Does reverting ce8a3eb20c4cb7d9e0c33e7560070688cd9066fc actually fix the problem?  Booting with drm.debug=15 should work as well since that would re-enable the debug code that commit turned off.
Comment 13 Jan Kreuzer 2010-06-04 06:51:24 UTC
Created attachment 26646 [details]
dmesg with drm.debug=15 from working kernel

Attached is log from working kernel. I am currently unable to get log from not working kernel, as soon as i modprobe radeon with modeset the system hangs, magic-sysrq does not work.

Booting with drm.debug=15 does not prevent the hang, i try to revert the commit an report back.
Comment 14 Jan Kreuzer 2010-06-04 09:24:56 UTC
Reverting the commit against 2.6.35-rc1 and booting with drm.debug=15 worked (eg no crash, but white screen, which could be solved by vbetool dpms off / on), however after i rebooted and removed the drm.debug option it crashed again. Also all later tries (with and without drm.debug) crashed.
A timing problem ?
Comment 15 Alex Deucher 2010-06-04 15:49:38 UTC
Does applying the following two patches help?
http://people.freedesktop.org/~agd5f/0001-drm-radeon-kms-add-support-for-internal-thermal-sens.patch
http://people.freedesktop.org/~agd5f/0001-drm-radeon-kms-pm-Misc-fixes.patch
The first one isn't relevant to your hw, but the second one won't apply cleanly without it.
Comment 16 Jure Repinc 2010-06-04 20:14:20 UTC
Oh damn, ignore my previous comment #11, as it looks like I was way to fast looking at the commit ID. For my freeze the actuall one is ce8f53709bf440100cb9d31b1303291551cf517f which is probably another bug, which I will report separately. Sorry for all the noise.
Comment 17 Alex Deucher 2010-06-04 20:30:47 UTC
(In reply to comment #16)
> Oh damn, ignore my previous comment #11, as it looks like I was way to fast
> looking at the commit ID. For my freeze the actuall one is
> ce8f53709bf440100cb9d31b1303291551cf517f which is probably another bug, which
> I
> will report separately. Sorry for all the noise.

The patches in comment #15 are relevant for that commit, although you'd probably want to open a new bug anyway.
Comment 18 Jan Kreuzer 2010-06-05 06:01:08 UTC
The patches work, system no longer crashes. Thank you. However now i get an all white-screen as soon as kms gets activated (same white screen as described in comment #9), i can work around it with an vbetool dpms off / on cycle. Should i open a new bugreport for this, and if so which logs do you need for the new problem ?

Thank you for your time.

Jan Kreuzer
Comment 19 Jan Kreuzer 2010-06-05 06:34:13 UTC
Although startup now works i get screenflickering when runing, also the system sometimes hangs when using 3D applications (compiz, kwin-compositing, openarena, padman), this worked without problems with the old pm-code.

Thank you
Comment 20 Rafael J. Wysocki 2010-06-09 09:04:07 UTC
Fixed by commit f8ed8b4c5d30b5214f185997131b06e35f6f7113 .