[Bug 67002] evergreen: after resume from suspend-to-ram operation is really slow with the latest DPM changes + gpu lockup

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Jul 19 08:35:50 PDT 2013


https://bugs.freedesktop.org/show_bug.cgi?id=67002

--- Comment #2 from jackdachef at gmail.com ---
(In reply to comment #1)
> Can you retry with current drm-fixes? There has been a fix which might help
> at least for the UVD errors.

sure:

uvd seems to have initialized better/correctly now:

[   33.640580] [drm] radeon kernel modesetting enabled.
[   33.640868] [drm] initializing kernel modesetting (CYPRESS 0x1002:0x6899
0x1002:0x0B00).
[   33.640886] [drm] register mmio base: 0xFBCE0000
[   33.640887] [drm] register mmio size: 131072
[   33.640931] ATOM BIOS: CYPRESS
[   33.641006] radeon 0000:01:00.0: VRAM: 1024M 0x0000000000000000 -
0x000000003FFFFFFF (1024M used)
[   33.641008] radeon 0000:01:00.0: GTT: 512M 0x0000000040000000 -
0x000000005FFFFFFF
[   33.641009] [drm] Detected VRAM RAM=1024M, BAR=256M
[   33.641010] [drm] RAM width 256bits DDR
[   33.641089] [TTM] Zone  kernel: Available graphics memory: 4077798 kiB
[   33.641090] [TTM] Zone   dma32: Available graphics memory: 2097152 kiB
[   33.641091] [TTM] Initializing pool allocator
[   33.641094] [TTM] Initializing DMA pool allocator
[   33.641105] [drm] radeon: 1024M of VRAM memory ready
[   33.641106] [drm] radeon: 512M of GTT memory ready.
[   33.683758] [drm] GART: num cpu pages 131072, num gpu pages 131072
[   33.684468] [drm] enabling PCIE gen 2 link speeds, disable with
radeon.pcie_gen2=0
[   33.684507] [drm] Loading CYPRESS Microcode
[   33.761563] [drm] PCIE GART of 512M enabled (table at 0x000000000025D000).
[   33.761693] radeon 0000:01:00.0: WB enabled
[   33.761695] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr
0x0000000040000c00 and cpu addr 0xffff880234b81c00
[   33.761696] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr
0x0000000040000c0c and cpu addr 0xffff880234b81c0c
[   33.761699] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr
0x000000000005c418 and cpu addr 0xffffc9001351c418
[   33.761701] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[   33.761702] [drm] Driver supports precise vblank timestamp query.
[   33.761717] radeon 0000:01:00.0: irq 57 for MSI/MSI-X
[   33.761728] radeon 0000:01:00.0: radeon: using MSI.
[   33.761750] [drm] radeon: irq initialized.
[   33.778505] [drm] ring test on 0 succeeded in 1 usecs
[   33.778563] [drm] ring test on 3 succeeded in 1 usecs
[   33.967467] [drm] ring test on 5 succeeded in 1 usecs
[   33.967471] [drm] UVD initialized successfully.
[   33.967667] [drm] ib test on ring 0 succeeded in 0 usecs
[   33.967695] [drm] ib test on ring 3 succeeded in 0 usecs
[   34.123160] [drm] ib test on ring 5 succeeded
[   34.123540] [drm] Radeon Display Connectors
[   34.123541] [drm] Connector 0:
[   34.123542] [drm]   DP-1
[   34.123543] [drm]   HPD4
[   34.123544] [drm]   DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c
0x643c
[   34.123545] [drm]   Encoders:
[   34.123546] [drm]     DFP1: INTERNAL_UNIPHY2
[   34.123547] [drm] Connector 1:
[   34.123548] [drm]   HDMI-A-1
[   34.123548] [drm]   HPD5
[   34.123550] [drm]   DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c
0x646c
[   34.123550] [drm]   Encoders:
[   34.123551] [drm]     DFP2: INTERNAL_UNIPHY2
[   34.123552] [drm] Connector 2:
[   34.123553] [drm]   DVI-I-1
[   34.123553] [drm]   HPD1
[   34.123554] [drm]   DDC: 0x6450 0x6450 0x6454 0x6454 0x6458 0x6458 0x645c
0x645c
[   34.123555] [drm]   Encoders:
[   34.123556] [drm]     DFP3: INTERNAL_UNIPHY1
[   34.123557] [drm]     CRT2: INTERNAL_KLDSCP_DAC2
[   34.123558] [drm] Connector 3:
[   34.123558] [drm]   DVI-I-2
[   34.123559] [drm]   HPD6
[   34.123560] [drm]   DDC: 0x6470 0x6470 0x6474 0x6474 0x6478 0x6478 0x647c
0x647c
[   34.123561] [drm]   Encoders:
[   34.123562] [drm]     DFP4: INTERNAL_UNIPHY
[   34.123563] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
[   34.123606] [drm] Internal thermal controller with fan control
[   34.123628] == power state 0 ==
[   34.123630]     ui class: none
[   34.123631]     internal class: boot 
[   34.123632]     caps: video 
[   34.123634]     uvd    vclk: 0 dclk: 0
[   34.123635]         power level 0    sclk: 40000 mclk: 90000 vddc: 1000
vddci: 0
[   34.123636]         power level 1    sclk: 40000 mclk: 90000 vddc: 1000
vddci: 0
[   34.123637]         power level 2    sclk: 40000 mclk: 90000 vddc: 1000
vddci: 0
[   34.123638]     status: c r b 
[   34.123639] == power state 1 ==
[   34.123640]     ui class: performance
[   34.123641]     internal class: none
[   34.123642]     caps: single_disp video 
[   34.123644]     uvd    vclk: 0 dclk: 0
[   34.123645]         power level 0    sclk: 15700 mclk: 30000 vddc: 950
vddci: 1100
[   34.123646]         power level 1    sclk: 55000 mclk: 90000 vddc: 1038
vddci: 1100
[   34.123647]         power level 2    sclk: 72500 mclk: 100000 vddc: 1088
vddci: 1100
[   34.123647]     status: 
[   34.123648] == power state 2 ==
[   34.123649]     ui class: none
[   34.123650]     internal class: uvd 
[   34.123651]     caps: video 
[   34.123652]     uvd    vclk: 54000 dclk: 40000
[   34.123653]         power level 0    sclk: 40000 mclk: 90000 vddc: 1000
vddci: 1100
[   34.123654]         power level 1    sclk: 40000 mclk: 90000 vddc: 1000
vddci: 1100
[   34.123655]         power level 2    sclk: 40000 mclk: 90000 vddc: 1000
vddci: 1100
[   34.123656]     status: 
[   34.123657] == power state 3 ==
[   34.123657]     ui class: performance
[   34.123658]     internal class: none
[   34.123659]     caps: video 
[   34.123660]     uvd    vclk: 0 dclk: 0
[   34.123661]         power level 0    sclk: 40000 mclk: 100000 vddc: 1000
vddci: 1100
[   34.123662]         power level 1    sclk: 55000 mclk: 100000 vddc: 1038
vddci: 1100
[   34.123663]         power level 2    sclk: 72500 mclk: 100000 vddc: 1088
vddci: 1100
[   34.123664]     status: 
[   34.123665] == power state 4 ==
[   34.123666]     ui class: none
[   34.123666]     internal class: acpi 
[   34.123667]     caps: 
[   34.123669]     uvd    vclk: 0 dclk: 0
[   34.123670]         power level 0    sclk: 15700 mclk: 30000 vddc: 950
vddci: 1100
[   34.123671]         power level 1    sclk: 15700 mclk: 30000 vddc: 950
vddci: 1100
[   34.123672]         power level 2    sclk: 15700 mclk: 30000 vddc: 950
vddci: 1100
[   34.123672]     status: 
[   34.128809] switching from power state:
[   34.128811]     ui class: none
[   34.128812]     internal class: boot 
[   34.128813]     caps: video 
[   34.128814]     uvd    vclk: 0 dclk: 0
[   34.128815]         power level 0    sclk: 40000 mclk: 90000 vddc: 1000
vddci: 0
[   34.128816]         power level 1    sclk: 40000 mclk: 90000 vddc: 1000
vddci: 0
[   34.128817]         power level 2    sclk: 40000 mclk: 90000 vddc: 1000
vddci: 0
[   34.128818]     status: c b 
[   34.128819] switching to power state:
[   34.128820]     ui class: performance
[   34.128821]     internal class: none
[   34.128822]     caps: single_disp video 
[   34.128823]     uvd    vclk: 0 dclk: 0
[   34.128824]         power level 0    sclk: 15700 mclk: 30000 vddc: 950
vddci: 1100
[   34.128825]         power level 1    sclk: 55000 mclk: 90000 vddc: 1038
vddci: 1100
[   34.128826]         power level 2    sclk: 72500 mclk: 100000 vddc: 1088
vddci: 1100
[   34.128827]     status: r 
[   34.134851] [drm] radeon: dpm initialized
[   34.214869] [drm] fb mappable at 0xD035F000
[   34.214871] [drm] vram apper at 0xD0000000
[   34.214873] [drm] size 8294400
[   34.214873] [drm] fb depth is 24
[   34.214874] [drm]    pitch is 7680
[   34.214909] fbcon: radeondrmfb (fb0) is primary device
[   34.239815] Console: switching to colour frame buffer device 240x67
[   34.243830] radeon 0000:01:00.0: fb0: radeondrmfb frame buffer device
[   34.243831] radeon 0000:01:00.0: registered panic notifier
[   34.243834] [drm] Initialized radeon 2.34.0 20080528 for 0000:01:00.0 on
minor 0


I gave it some testing (several videos played back, mkv, Avatar and Tron Legacy
for some minutes) via vdpau (smplayer), 

with

echo auto > /sys/class/drm/card0/device/power_dpm_force_performance_level

and

echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level


used the composited desktop, and did some web-browsing with chromium
(pepperflash) and firefox 64bit (adobe-flash via vdpau) and watched some
youtube videos


looked stable to me,

[note (if I forget it to poster later in this entry): chromium is using gpu
compositing - which might trigger and might have triggered the gpu lock &
hardlock this time]


so far - so good


for data integrity & safety reasons I quit X and tried out suspend-to-ram and
resume:

from VT1:

pm-suspend --quirk-dpms-on --quirk-s3-mode --quirk-vbe-post --quirk-vga-mode3 &
vlock


delayed suspend switch and wakeup (as usual & observed from last time):


output from dmesg:

[ 4487.786933] [drm] enabling PCIE gen 2 link speeds, disable with
radeon.pcie_gen2=0
[ 4487.789211] [drm] PCIE GART of 512M enabled (table at 0x000000000025D000).
[ 4487.789561] radeon 0000:01:00.0: WB enabled
[ 4487.789563] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr
0x0000000040000c00 and cpu addr 0xffff880234b81c00
[ 4487.789564] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr
0x0000000040000c0c and cpu addr 0xffff880234b81c0c
[ 4487.790405] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr
0x000000000005c418 and cpu addr 0xffffc9001351c418
[ 4487.806998] [drm] ring test on 0 succeeded in 1 usecs
[ 4487.807056] [drm] ring test on 3 succeeded in 1 usecs
[ 4488.017296] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 4488.021126] ata2.00: configured for UDMA/100
[ 4488.022363] ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 4488.028358] ata8: SATA link down (SStatus 0 SControl 300)
[ 4488.028390] ata7: SATA link down (SStatus 0 SControl 300)
[ 4488.050196] ata4.00: configured for UDMA/100
[ 4488.984442] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset
the VCPU!!!
[ 4489.333196] e1000e: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control:
Rx
[ 4489.333302] e1000e 0000:00:19.0 eth0: 10/100 speed: disabling TSO
[ 4490.005567] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset
the VCPU!!!
[ 4491.026691] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset
the VCPU!!!
[ 4492.047816] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset
the VCPU!!!
[ 4493.068940] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset
the VCPU!!!
[ 4493.074353] ata1: link is slow to respond, please be patient (ready=0)
[ 4493.078357] ata3: link is slow to respond, please be patient (ready=0)
[ 4493.080359] ata5: link is slow to respond, please be patient (ready=0)
[ 4493.082360] ata6: link is slow to respond, please be patient (ready=0)
[ 4494.090065] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset
the VCPU!!!
[ 4495.111189] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset
the VCPU!!!
[ 4496.132314] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset
the VCPU!!!
[ 4497.153481] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset
the VCPU!!!
[ 4497.771073] ata1: COMRESET failed (errno=-16)
[ 4497.775081] ata3: COMRESET failed (errno=-16)
[ 4497.777085] ata5: COMRESET failed (errno=-16)
[ 4497.779160] ata6: COMRESET failed (errno=-16)
[ 4498.174616] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset
the VCPU!!!
[ 4498.194639] [drm:r600_uvd_init] *ERROR* UVD not responding, giving up!!!
[ 4498.194642] [drm:evergreen_startup] *ERROR* radeon: error initializing UVD
(-1).
[ 4498.194675] [drm] ib test on ring 0 succeeded in 0 usecs
[ 4498.194707] [drm] ib test on ring 3 succeeded in 1 usecs
[ 4498.199776] switching from power state:
[ 4498.199777]     ui class: none
[ 4498.199778]     internal class: boot 
[ 4498.199779]     caps: video 
[ 4498.199779]     uvd    vclk: 0 dclk: 0
[ 4498.199780]         power level 0    sclk: 40000 mclk: 90000 vddc: 1000
vddci: 0
[ 4498.199781]         power level 1    sclk: 40000 mclk: 90000 vddc: 1000
vddci: 0
[ 4498.199781]         power level 2    sclk: 40000 mclk: 90000 vddc: 1000
vddci: 0
[ 4498.199782]     status: c b 
[ 4498.199782] switching to power state:
[ 4498.199782]     ui class: performance
[ 4498.199783]     internal class: none
[ 4498.199784]     caps: single_disp video 
[ 4498.199784]     uvd    vclk: 0 dclk: 0
[ 4498.199785]         power level 0    sclk: 15700 mclk: 30000 vddc: 950
vddci: 1100
[ 4498.199785]         power level 1    sclk: 55000 mclk: 90000 vddc: 1038
vddci: 1100
[ 4498.199786]         power level 2    sclk: 72500 mclk: 100000 vddc: 1088
vddci: 1100
[ 4498.199786]     status: r 
[ 4499.462782] ata6: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 4499.475045] ata6.00: configured for UDMA/133
[ 4499.485899] sd 5:0:0:0: [sdd] Starting disk
[ 4499.662989] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 4499.692137] ata3.00: configured for UDMA/133
[ 4499.703084] sd 2:0:0:0: [sdb] Starting disk
[ 4501.502837] ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 4501.523748] ata5.00: configured for UDMA/133
[ 4501.533954] sd 4:0:0:0: [sdc] Starting disk
[ 4502.364726] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 4502.407461] ata1.00: configured for UDMA/133
[ 4502.417816] sd 0:0:0:0: [sda] Starting disk
[ 4503.310597] [drm:atom_op_jump] *ERROR* atombios stuck in loop for more than
5secs aborting
[ 4503.310599] [drm:atom_execute_table_locked] *ERROR* atombios stuck executing
D3DE (len 55, WS 0, PS 0) @ 0xD401
[ 4503.330289] PM: resume of devices complete after 15602.288 msecs


<== note the error messages in dmesg output after resume about atombios & uvd

several times typed in dmesg to make sure that showing dmesg-output doesn't
lead to X crash, gpu lock, etc.


following things could be observed:

*) dmesg didn't lead to gpu lock or X crash anymore
*) composited desktop (compiz-fusion) was running fluid after the resume:
exposé-like feature worked, zooming in, zooming out, invert screen/colors -
worked fine so far (can't remember if I minimized windows - at least maximizing
also worked)

*) fired up chromium, did some little browsing and wanted to surf over to this
bug-entry to report - then it hardlocked

the box wouldn't react to magic sysrq key, toggling num lock, caps lock, etc. -
no sign of life from the keyboard either

fans on the gpu didn't spin up faster (e.g. like with old non-DPM driver,
static profiles when it locked up), fan of the PC/power supply or cpu fan also
didn't seem to spin up faster)


currently I'm more worried about it locking up hard than the UVD issues (I'm
not fully trusting brfs on my /home partition yet - otherwise I would try
suspending from within X & Xfce)


hope you can fix the issue with atombios looping & *ERROR* atombios stuck
executing D3DE (len 55, WS 0, PS 0) @ 0xD401 - that currently worries me the
most, as far as I remember that didn't occur with the old driver static
implementation (might have to investigate this ...)



looking through this text again: could gpu compositing from chromium be the
reason the it hardlocks ?

figuratively speaking: that finishes off the gpu after these errors ? or is it
completely unrelated


anyway - thanks for your continued efforts :)

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20130719/9950e4d0/attachment-0001.html>


More information about the dri-devel mailing list