Bug 58115

Summary: AMD LLANO repeated gpu lockups and softresets
Product: xorg Reporter: Kenney Phillis Jr <kphillisjr>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED DUPLICATE QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
One of the dmesg logs showing the symptom.
none
Another dmesg log showing the constant gpu hangs.
none
xorg log from one of the constant gpu hangs
none
Another set of logs (after another reboot )
none
Another set of logs (full shutdown and restart)
none
Xrandr verbose output ( radeon driver )
none
xrandr tests -- radeon driver none

Description Kenney Phillis Jr 2012-12-11 06:58:00 UTC
When dealing multiple displays there's some chips that have a hard coded limit that should never be exceeded. Currently there is probably very few protections in code to prevent this, and this can ultimately lead to systems being unbootable.

Test hardware:
Amd A6-3400m (hd6520G) w/ hd6650m dedicated
Linux Mint 13 w/ ubuntu xorg edgers installed.
Radeon driver from xorg edgers.

The test:
Connect 3 displays to an amd llano based pc.
start the machine.
Login
attempt to enable the all three panels (This should not be allowed to "work" but it passes even though it should fail )
restart pc
attempt to login again ( At this step it should fail)


Please note that the a6-series chips most of the time can only handle two displays at once, and if you force all three to go, it'll lead to gpu stalls.
Comment 1 Kenney Phillis Jr 2012-12-11 06:59:59 UTC
Created attachment 71310 [details]
One of the dmesg logs showing the symptom.
Comment 2 Kenney Phillis Jr 2012-12-11 07:01:01 UTC
Created attachment 71311 [details]
Another dmesg log showing the constant gpu hangs.
Comment 3 Kenney Phillis Jr 2012-12-11 07:01:38 UTC
Created attachment 71312 [details]
xorg log from one of the constant gpu hangs
Comment 4 Kenney Phillis Jr 2012-12-11 07:02:30 UTC
Created attachment 71313 [details]
Another set of logs (after another reboot )
Comment 5 Kenney Phillis Jr 2012-12-11 07:04:01 UTC
Created attachment 71314 [details]
Another set of logs (full shutdown and restart)

This reboot also includes an xorg crash. Either way, xrandr coupled with an automated desktop login manager can cause this.
Comment 6 Michel Dänzer 2012-12-11 14:38:50 UTC
(In reply to comment #6)
> attempt to enable the all three panels (This should not be allowed to "work"
> but it passes even though it should fail )

Why should it fail?


> restart pc
> attempt to login again ( At this step it should fail)

That's a login manager / desktop environment issue.


> Please note that the a6-series chips most of the time can only handle two
> displays at once, and if you force all three to go, it'll lead to gpu stalls.

I don't think there's any such direct connection.


Does

 Option "ColorTiling2D" "off"

prevent the GPU lockups?
Comment 7 Kenney Phillis Jr 2012-12-11 19:22:01 UTC
(In reply to comment #6)
> (In reply to comment #6)
> > attempt to enable the all three panels (This should not be allowed to "work"
> > but it passes even though it should fail )
> 
> Why should it fail?
> 
> 

The hardware doesn't support it... Even when I enabled the third display and used all three at once only two displays had output... In my case the following configurations are valid:

LVDS + HDMI
LVDS + CRT
CRT + HDMI

However, the following is invalid and leads to corruption bugs and other issues...
LVDS + HDMI + CRT
> > restart pc
> > attempt to login again ( At this step it should fail)
> 
> That's a login manager / desktop environment issue.
> 
> 

It's not entirely a login manager issue... The radeon hardware itself can only handle two video output devices at once.

> > Please note that the a6-series chips most of the time can only handle two
> > displays at once, and if you force all three to go, it'll lead to gpu stalls.
> 
> I don't think there's any such direct connection.
> 
> 
> Does
> 
>  Option "ColorTiling2D" "off"
> 
> prevent the GPU lockups?

There was no gpu lockups until *AFTER* i forced enabling of three panels at once and rebooted the system. The only fix i had was to reinstall fglrx to get xorg working again.
Comment 8 Alex Deucher 2012-12-11 19:38:11 UTC
(In reply to comment #7)
> The hardware doesn't support it... Even when I enabled the third display and
> used all three at once only two displays had output... In my case the
> following configurations are valid:
> 
> LVDS + HDMI
> LVDS + CRT
> CRT + HDMI
> 
> However, the following is invalid and leads to corruption bugs and other
> issues...
> LVDS + HDMI + CRT

How are you trying to enable this configuration?  This is already enforced in the driver.  The driver only exposes two display controllers (crtcs) on that asic.  xrandr should complain when you try to enable more displays than there are crtcs.  Please attach the output of xrandr --verbose
Comment 9 Kenney Phillis Jr 2012-12-11 21:10:51 UTC
Created attachment 71359 [details]
Xrandr verbose output ( radeon driver )

Xorg version: 1.12.3+git20120709+server-1.12-branch.60e0d205
Radeon Driver version: 7.0.99+git20121207.793e1b0e


Actually, I do think this is a driver bug for certain... With fglrx the behaviour is as follows:
$ xrandr --output CRT1 --auto
$ xrandr --output LVDS --auto
xrandr: cannot find crtc for output LVDS
$ xrandr --output CRT1 --off
$ xrandr --output LVDS --auto
$ xrandr --output CRT1 --auto
xrandr: cannot find crtc for output CRT1


Now with radeon driver, the commands that error with fglrx do not error and for all intensive purposes apply happily. This is bad since obviously it can break a system since it did break the laptop of mine... I'm not exactly certain how to fix the Userspace since I relied on it working automatically by default. 


Anyways, My desktop is Mate desktop enviornment ( http://mate-desktop.org/ ) ( it's pretty much mirrors all the behavior of gnome 2 )
Comment 10 Alex Deucher 2012-12-11 22:19:10 UTC
Can you list the exact commands you are using?  I can't reproduce this here.  I have a APU laptop with VGA-0, HDMI-0, and LVDS and I get the expected behavior:

$ xrandr --output HDMI-0 --auto
$ xrandr --output VGA-0 --auto
xrandr: cannot find crtc for output VGA-0
Comment 11 Alex Deucher 2012-12-11 22:30:30 UTC
Do you still have the GPU resets when you disable acceleration?
Option "NoAccel" "true"
in the device section of your xorg.conf
Comment 12 Kenney Phillis Jr 2012-12-12 04:48:41 UTC
Created attachment 71371 [details]
xrandr tests -- radeon driver

it appears the problem is user space... xrandr command line is not the issue.
Comment 13 Alex Deucher 2012-12-12 14:19:05 UTC
Does it help if you disable 2D tiling?
Option "ColorTiling2D" "false"
in the device section of your xorg.conf?

Please try the patch on bug 56405.

*** This bug has been marked as a duplicate of bug 56405 ***

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.