[Bug 72701] Screen freeze when using radeon driver

bugzilla-daemon at bugzilla.kernel.org bugzilla-daemon at bugzilla.kernel.org
Mon Jul 14 03:08:22 PDT 2014


https://bugzilla.kernel.org/show_bug.cgi?id=72701

--- Comment #15 from EmanueL Czirai <somelinuxbugs at riseup.net> ---
Hi. I believe that I am in the exact same situation as the OP.

The system locks up in about 10 (or sometimes 14-15) seconds of boot time and I
don't have to go past typing my luks password to mount rootfs.

It works fine if I use radeon.runpm=0  or if I disable CONFIG_VGA_SWITCHEROO
(=n) kernel option and recompile kernel. It also works with kernel 3.12.23 (and
3.12.24 if I remember correctly). It doesn't work with 3.15.4 and 3.16-rc4 .
But I diff-ed the sources a bit and noticed the runpm option (and a lot of
related others) didn't exist in 3.12.23/24 so it makes sense that it works.
I tried to apply the patch above in your comment #14 but 4 hunks failed and
kernel wouldn't compile.

I also tried
 echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
which locks up the running system: I had audio playing (from a video) and it
was repeating the last buffer while lockedup; only pressing the power button
for 4 seconds worked to turn off laptop (Lenovo Z575 , same lspci output as
OP); sysrq or numlock/capslock leds have no effect while in this state.
 The cat /sys/kernel/debug/vgaswitcheroo/switch  before echo-ing OFF to it was
like this:
sudo cat /sys/kernel/debug/vgaswitcheroo/switch
0:IGD:+:Pwr:0000:00:01.0
1:DIS: :Pwr:0000:01:00.0


I'd be happy to try anything, I have time. Been trying to track this down for 2
days by changing and matching kernel configs(which was silly because I
should've focused on video settings only), knowing that 3.12.23 worked but
3.15.4 didn't. It all eventually lead me to this page, thank goodness :) 

I'm not exactly sure what more info should I give at this time, but I'd be
happy to, just say what you need.

What else I can say: turning the discrete card off from bios (switching a
setting from Dynamic(both cards on) to UDMA(only integrated card on, discrete 
card off) works fine.

Probably worth noting is that when I had Windows 7 64bit, with laptop drivers,
it would work fine: the discrete card would be powered off while not in use
while windows was running; this was with lenovo provided video drivers(heavily
outdated from like 2011-2012). However, with ati mobility (generic?) drivers
from amd site(even the very latest ones of a month or two ago when I last
tried), it would freeze the system (likely when the driver was (after a short
while) trying to power off the discrete card) and there was one option which
would prevent the freeze and that was a setting in registry called
"enableulps"(which is set to 1 by default!) which when set to "0" (manually by
me, in safe mode, then rebooted) then the discrete card was on 100mhz gpu and
150Mhz memory all the time when idle (it would go higher when in use, but never
lower, never power down - with these drivers); but with the original
manufacturer drivers(from lenovo) enableulps is 1 and the card is at 0mhz gpu
and 27mhz mem  (reported by gpu-z)  ie. turned off (but those readings however
incorrect they were consistently reported as such all the time)
 So there may be something that the lenovo drivers did extra in order to be
able to power down the discrete card, something that the generic ati mobility
drivers don't do(without freezing the system, with the out-of-the-box install).

I have also tried in linux the fglrx driver, but I can't remember much about
how it worked, because I was running the system mostly in UDMA mode (only the
integrate graphics card on, from bios) but I remember it didn't lock up (maybe
because it didn't try to power down the discrete card?) when I tried it
sometimes with both cards (with fglrx driver). Should you need me to retry
something with fglrx driver, let me know; it may not be easy but I am willing
to try again. I am now using the radeon driver with no intent to switch back to
fglrx.

The temperatures while I'm just writing this are:
$ sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +53.0°C  (crit = +98.0°C)
temp2:        +44.0°C  (crit = +126.0°C)

radeon-pci-0008
Adapter: PCI adapter
temp1:        +53.0°C  (crit = +120.0°C, hyst = +90.0°C)

radeon-pci-0100
Adapter: PCI adapter
temp1:        +61.0°C  

k10temp-pci-00c3
Adapter: PCI adapter
temp1:        +52.6°C  (high = +70.0°C)
                       (crit = +100.0°C, hyst = +99.0°C)

and when I have UDMA set in bios (so only one card) they are around 40-44, max
45 (and of course radeon-pci-0100 is gone)
acpitz-virtual-0 temp1 is equal to k10temp-pci-00c3 temp1 = cpu temp
acpitz-virtual-0 temp2 is motherboard temp
radeon-pci-0008 temp1 is integrated gfx card
radeon-pci-0100 temp1 is discrete gfx card

some lspci -vvv (the VGA parts)

00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI]
BeaverCreek [Radeon HD 6520G] (prog-if 00 [VGA controller])
        Subsystem: Lenovo Device 3970
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 42
        Region 0: Memory at d0000000 (32-bit, prefetchable) [size=256M]
        Region 1: I/O ports at 3000 [size=256]
        Region 2: Memory at f0200000 (32-bit, non-prefetchable) [size=256K]
        Expansion ROM at <unassigned> [disabled]
        Capabilities: <access denied>
        Kernel driver in use: radeon

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI]
Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (prog-if 00 [VGA
controller])
        Subsystem: Lenovo Radeon HD 6650M
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 43
        Region 0: Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Region 2: Memory at f0100000 (64-bit, non-prefetchable) [size=128K]
        Region 4: I/O ports at 2000 [size=256]
        [virtual] Expansion ROM at f0120000 [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: radeon

Thank you for your time on this. Much appreciated!

-- 
You are receiving this mail because:
You are watching the assignee of the bug.


More information about the dri-devel mailing list