Bug 153121

Summary: UVD not responding, trying to reset the VCPU, ATI Mobility Radeon HD 5650
Product: Drivers Reporter: Kontantin Ivanov (kostyarin.ivanov)
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: NEW ---    
Severity: low CC: deathsimple, felix.schwarz
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 4.8.0-040800rc5 Subsystem:
Regression: No Bisected commit-id:
Attachments: dmesg
DRI_PRIME=1 glxinfo
glxinfo
md5sum /lib/fimware/radeon/*
sudo lspci -v
sudo lspci -v -s 01:00.1 (the Radeon HD card)
Xorg.0.log
Xorg -version
lsmod
modinfo radeon
4.4.0-34 dmesg
4.4.0-34 Xorg.0.log
4.4.0-34 glxinfo (integraded Intel graphic card)
4.4.0-34 DRI_PRIME=1 glxinfo (descret Radeon graphic card)
4.8.0-040800rc2 dmesg
4.8.0-040800rc2 Xorg.0.log
4.8.0-040800rc3 dmesg
4.8.0-040800rc3 Xorg.0.log
dmesg 4.8.0 rc4 radeon.uvd=0 radeon.dpm=0
Xorg.0.log 4.8.0 rc4

Description Kontantin Ivanov 2016-08-15 08:52:22 UTC
Created attachment 228711 [details]
dmesg

Every boot I have got

[   40.074839] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   40.094753] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, giving up!!!
[   41.121609] [drm:r600_ib_test [radeon]] *ERROR* radeon: fence wait timed out.
[   41.121654] [drm:radeon_ib_ring_tests [radeon]] *ERROR* radeon: failed testing IB on GFX ring (-110).
[   41.121679] [drm:radeon_resume_kms [radeon]] *ERROR* ib ring test failed (-110).
Comment 1 Kontantin Ivanov 2016-08-15 08:54:08 UTC
Created attachment 228721 [details]
DRI_PRIME=1 glxinfo

glxinfo for Radeon HD card
Comment 2 Kontantin Ivanov 2016-08-15 08:55:02 UTC
Created attachment 228731 [details]
glxinfo

glxinfo for integrated Intel graphic card
Comment 3 Kontantin Ivanov 2016-08-15 08:55:55 UTC
Created attachment 228741 [details]
md5sum /lib/fimware/radeon/*
Comment 4 Kontantin Ivanov 2016-08-15 08:56:21 UTC
Created attachment 228751 [details]
sudo lspci -v
Comment 5 Kontantin Ivanov 2016-08-15 08:57:01 UTC
Created attachment 228761 [details]
sudo lspci -v -s 01:00.1 (the Radeon HD card)
Comment 6 Kontantin Ivanov 2016-08-15 08:57:29 UTC
Created attachment 228771 [details]
Xorg.0.log
Comment 7 Kontantin Ivanov 2016-08-15 08:58:01 UTC
Created attachment 228781 [details]
Xorg -version
Comment 8 Kontantin Ivanov 2016-08-15 08:59:53 UTC
uname -a

Linux hpg6 4.8.0-040800rc2-generic #201608142332 SMP Mon Aug 15 03:34:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux


The bug is present in 4.4.19, 4.5, 4.6, 4.7 kernels
Comment 9 Kontantin Ivanov 2016-08-15 09:01:29 UTC
radeon.dpm=0 doesn't help
Comment 10 Kontantin Ivanov 2016-08-15 09:06:11 UTC
cat /proc/cmdline
 
BOOT_IMAGE=/@/boot/vmlinuz-4.8.0-040800rc2-generic root=UUID=a8e1a207-61c0-4cba-8f7d-bd65b8d2e8bd ro rootflags=subvol=@ quiet splash vt.handoff=7
Comment 11 Kontantin Ivanov 2016-08-15 09:07:26 UTC
Created attachment 228791 [details]
lsmod
Comment 12 Kontantin Ivanov 2016-08-15 09:07:54 UTC
Created attachment 228801 [details]
modinfo radeon
Comment 13 Kontantin Ivanov 2016-08-15 09:22:08 UTC
DRI_PRIME=1 glxinfo > /dev/null

stderr is:

radeon: The kernel rejected CS, see dmesg for more information.
radeon: The kernel rejected CS, see dmesg for more information.

and tail of dmesg is:

[ 3841.531062] [drm] PCIE GART of 1024M enabled (table at 0x0000000000162000).
[ 3841.531185] radeon 0000:01:00.0: WB enabled
[ 3841.531188] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000020000c00 and cpu addr 0xffff9e050a845c00
[ 3841.531190] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000020000c0c and cpu addr 0xffff9e050a845c0c
[ 3841.531994] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000000072118 and cpu addr 0xffffc17d40a32118
[ 3841.548606] [drm] ring test on 0 succeeded in 2 usecs
[ 3841.548618] [drm] ring test on 3 succeeded in 7 usecs
[ 3842.724276] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[ 3843.742405] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[ 3844.762335] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[ 3845.781381] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[ 3846.799400] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[ 3847.818449] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[ 3848.832969] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[ 3849.847304] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[ 3850.861656] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[ 3851.875994] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[ 3851.895920] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, giving up!!!
[ 3851.895956] radeon 0000:01:00.0: failed initializing UVD (-1).
[ 3852.896766] [drm:r600_ib_test [radeon]] *ERROR* radeon: fence wait timed out.
[ 3852.896810] [drm:radeon_ib_ring_tests [radeon]] *ERROR* radeon: failed testing IB on GFX ring (-110).
[ 3852.896833] [drm:radeon_resume_kms [radeon]] *ERROR* ib ring test failed (-110).




DRI_PRIME=1 glxgears

opens window with trash and stderr is full of 

radeon: The kernel rejected CS, see dmesg for more information.
Comment 14 Kontantin Ivanov 2016-08-15 09:38:33 UTC
Content of the /lib/firmware/radeon copied manually from https://people.freedesktop.org/~agd5f/radeon_ucode/

I also tried xorg-edgers/ppa and oibaf/graphics-drivers ppa repositories. With xorg-edgers/ppa X server doesn't start. With oibaf/graphics-drivers nothing changed.

When I used Xenial the `DRI_PRIME=1 glxgears` worked fine. But I can't remember after which update it broke.

I can reinstall Xenial from scratch if need.
Comment 15 Christian König 2016-08-15 09:41:01 UTC
(In reply to Kontantin Ivanov from comment #14)
> Content of the /lib/firmware/radeon copied manually from
> https://people.freedesktop.org/~agd5f/radeon_ucode/

And this is most likely the source of the problem. Please don't copy any firmware from any private home directory, but use the official released one from the linux-firmware tree.

Thanks,
Christian.
Comment 16 Kontantin Ivanov 2016-08-15 09:51:02 UTC
(In reply to Christian König from comment #15)
> (In reply to Kontantin Ivanov from comment #14)
> > Content of the /lib/firmware/radeon copied manually from
> > https://people.freedesktop.org/~agd5f/radeon_ucode/
> 
> And this is most likely the source of the problem. Please don't copy any
> firmware from any private home directory, but use the official released one
> from the linux-firmware tree.
> 
> Thanks,
> Christian.

I did it because of the problem. Do I need to replace it back now? Where can I find official firmware?
Comment 17 Kontantin Ivanov 2016-08-15 09:54:08 UTC
(In reply to Christian König from comment #15)
> (In reply to Kontantin Ivanov from comment #14)
> > Content of the /lib/firmware/radeon copied manually from
> > https://people.freedesktop.org/~agd5f/radeon_ucode/
> 
> And this is most likely the source of the problem. Please don't copy any
> firmware from any private home directory, but use the official released one
> from the linux-firmware tree.
> 
> Thanks,
> Christian.

May be trash on the window of `DRI_PRIME=1 glxgears` appeared after replacing this firmware but `UVD not responding...` existed with previous firmware too.
Comment 18 Christian König 2016-08-15 10:03:08 UTC
If I remember correctly the message is perfectly normal for Caicos systems, cause those shouldn't have an UVD block.

Need to double check with Alex, but we could probably disable probing the block on that hardware. On the other hand it shouldn't affect the system in any way.

What's not normal is that you run into problems, but I don't think they are related to this issue.

At least the GFX and DMA block come up perfectly normal:
[   15.607083] [drm] ib test on ring 0 succeeded in 0 usecs
[   15.607195] [drm] ib test on ring 3 succeeded in 0 usecs

The linux firmware tree with the latest firmware for radeon can be found here: http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git

Regards,
Christian.
Comment 19 Felix Schwarz 2016-08-15 10:56:45 UTC
(In reply to Christian König from comment #18)
> If I remember correctly the message is perfectly normal for Caicos systems,
> cause those shouldn't have an UVD block.

I think at least some Caicos systems have an UVD block:

$ lspci | grep AMD
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM]
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Caicos HDMI Audio [Radeon HD 6400 Series]

$ lspci -n 
01:00.0 0300: 1002:6779
01:00.1 0403: 1002:aa98

This is a Radeon HD 6450 (which is Caicos AFAIK).

$ dmesg  | grep -i uvd
[    2.184334] [drm] UVD initialized successfully.
Comment 20 Christian König 2016-08-15 11:18:10 UTC
(In reply to Felix Schwarz from comment #19)
> (In reply to Christian König from comment #18)
> > If I remember correctly the message is perfectly normal for Caicos systems,
> > cause those shouldn't have an UVD block.
> 
> I think at least some Caicos systems have an UVD block:

Indeed, that's probably the reason why we didn't disabled the probing in general.

This system looks like a laptop with Intel+AMD hardware and in those cases the UVD and VCE blocks are usually disabled by whoever designed the Laptop.

Anyway failing to probe the UVD block is completely harmless (except for the message). So the issue must be somewhere else.
Comment 21 Kontantin Ivanov 2016-08-16 14:01:52 UTC
Sorry for late reply.

So. I reinstall my Kubuntu completely to be sure that some install/purge ppa/firmware/etc doesn't affect the system.

Now `uname -a` is:

Linux hpg6 4.4.0-34-generic #53-Ubuntu SMP Wed Jul 27 16:06:39 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux


My Radeon card doesn't render anything (black window) but looks like it works.
When I start glxgears it shows FPS but window is black and stderr is full of (see "4.4.0-34 DRI_PRIME=1 glxgears (stderr)" attachment).

The "UDV not responding..." error is also present (as usual).

[  576.200519] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[  577.216465] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[  578.232004] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[  578.251966] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, giving up!!!
[  578.252025] [drm:evergreen_startup.part.13 [radeon]] *ERROR* radeon: error initializing UVD (-1).
[  588.249875] radeon 0000:01:00.0: ring 0 stalled for more than 10000msec
[  588.249884] radeon 0000:01:00.0: GPU lockup (current fence id 0x0000000000000005 last fence id 0x0000000000000006 on ring 0)
[  588.250001] [drm:r600_ib_test [radeon]] *ERROR* radeon: fence wait failed (-35).
[  588.250042] [drm:radeon_ib_ring_tests [radeon]] *ERROR* radeon: failed testing IB on GFX ring (-35).
[  588.250064] [drm:radeon_resume_kms [radeon]] *ERROR* ib ring test failed (-35).


I'm going to attach 4.4.0-34 files: dmesg, Xorg.0.log etc now

Tell me if I need to update my kernel to rc or another release.
Comment 22 Kontantin Ivanov 2016-08-16 14:02:53 UTC
Created attachment 229081 [details]
4.4.0-34 dmesg

4.4.0-34 dmesg after system start & login
Comment 23 Kontantin Ivanov 2016-08-16 14:03:35 UTC
Created attachment 229091 [details]
4.4.0-34 Xorg.0.log
Comment 24 Kontantin Ivanov 2016-08-16 14:04:33 UTC
Created attachment 229101 [details]
4.4.0-34 glxinfo (integraded Intel graphic card)
Comment 25 Kontantin Ivanov 2016-08-16 14:05:49 UTC
Created attachment 229111 [details]
4.4.0-34 DRI_PRIME=1 glxinfo (descret Radeon graphic card)

stderr is empty
Comment 26 Kontantin Ivanov 2016-08-16 14:17:07 UTC
When I start glxgears (on integrated Intel graphic card) the gears shown

stdout is:

Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
305 frames in 5.0 seconds = 60.822 FPS
301 frames in 5.0 seconds = 60.030 FPS
301 frames in 5.0 seconds = 60.023 FPS


stderr is:

XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
      after 545 requests (545 known processed) with 0 events remaining.


On the Radeon graphic card (DRI_PRIME=1) gears are not shown (black window).

stdout is:

Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
17786 frames in 5.0 seconds = 3557.177 FPS

stderr is:

...
radeon: The kernel rejected CS, see dmesg for more information.
radeon: The kernel rejected CS, see dmesg for more information.
radeon: The kernel rejected CS, see dmesg for more information.
radeon: The kernel rejected CS, see dmesg for more information.
radeon: The kernel rejected CS, see dmesg for more information.
radeon: The kernel rejected CS, see dmesg for more information.
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
      after 105710 requests (105710 known processed) with 0 events remaining.


And `dmesg | tail` after `DRI_PRIME=1 glxgears` is

[  576.200519] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[  577.216465] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[  578.232004] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[  578.251966] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, giving up!!!
[  578.252025] [drm:evergreen_startup.part.13 [radeon]] *ERROR* radeon: error initializing UVD (-1).
[  588.249875] radeon 0000:01:00.0: ring 0 stalled for more than 10000msec
[  588.249884] radeon 0000:01:00.0: GPU lockup (current fence id 0x0000000000000005 last fence id 0x0000000000000006 on ring 0)
[  588.250001] [drm:r600_ib_test [radeon]] *ERROR* radeon: fence wait failed (-35).
[  588.250042] [drm:radeon_ib_ring_tests [radeon]] *ERROR* radeon: failed testing IB on GFX ring (-35).
[  588.250064] [drm:radeon_resume_kms [radeon]] *ERROR* ib ring test failed (-35).



I remember that with some kernel the Radeon card shows the gears normally. Tell me if I need to try all kernels one by one from current to latest.

That's all

Thank y'all for taking the time
Comment 27 Kontantin Ivanov 2016-08-16 14:18:51 UTC
See my previous message for "4.4.0-34 DRI_PRIME=1 glxgears (stderr)" There is not any attachment for this.
Comment 28 Kontantin Ivanov 2016-08-18 05:13:47 UTC
Hah. Now, when I update my kernel to 4.8-rc2 (4.8.0-040800rc2) the error messages in dmesg are also present

[    6.361530] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[    7.376047] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[    8.390569] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[    9.405078] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   10.419596] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   11.434111] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   12.448626] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   13.463148] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   14.477689] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   15.492208] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   15.512208] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, giving up!!!
[   16.535049] [drm:r600_ib_test [radeon]] *ERROR* radeon: fence wait timed out.
[   16.535153] [drm:radeon_ib_ring_tests [radeon]] *ERROR* radeon: failed testing IB on GFX ring (-110).
[   16.535235] [drm:radeon_device_init [radeon]] *ERROR* ib ring test failed (-110).


But it appears only on system start and never again. When I start

DRI_PRIME=1 glxinfo and DRI_PRIME=1 glxgears

the programs are started without delay and without error messages in both stderr and dmesg.

What is interesting? Ok, see here:

glxinfo | grep -i opengl | egrep -i '(version|renderer)'

OpenGL renderer string: Mesa DRI Intel(R) Ironlake Mobile 
OpenGL version string: 2.1 Mesa 11.2.0
OpenGL shading language version string: 1.20
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 11.2.0
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16

DRI_PRIME=1 glxinfo | grep -i opengl | egrep -i '(version|renderer)'

OpenGL renderer string: Mesa DRI Intel(R) Ironlake Mobile 
OpenGL version string: 2.1 Mesa 11.2.0
OpenGL shading language version string: 1.20
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 11.2.0
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16

Both graphic cards (DRI_PRIME=0 and DRI_PRIME=1) looks like are the same card Intel(R) Ironlake Mobile.

But let's render something:

glxgears

Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
304 frames in 5.0 seconds = 60.605 FPS
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
      after 1263 requests (1263 known processed) with 0 events remaining.

DRI_PRIME=1 glxgears

Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
8731 frames in 5.0 seconds = 1746.049 FPS
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
      after 24162 requests (24162 known processed) with 0 events remaining.

Ha-ha, FPS is different and DRI_PRIME=1 looks like more powerful.

I changed importance of this bug to low.
Comment 29 Michel Dänzer 2016-08-18 06:18:42 UTC
(In reply to Kontantin Ivanov from comment #28)
> DRI_PRIME=1 glxinfo | grep -i opengl | egrep -i '(version|renderer)'
> 
> OpenGL renderer string: Mesa DRI Intel(R) Ironlake Mobile 

[...]

> DRI_PRIME=1 glxgears
> 
> Running synchronized to the vertical refresh.  The framerate should be
> approximately the same as the monitor refresh rate.
> 8731 frames in 5.0 seconds = 1746.049 FPS

I suspect you just get a higher framerate because DRI_PRIME=1 implicitly disables sync-to-vblank with DRI2, even when it ends up using the same GPU, and you'll see with glxgears -info that it's also using the Intel GPU. Presumably because Xorg couldn't initialize the Radeon GPU.
Comment 30 Kontantin Ivanov 2016-08-18 06:28:06 UTC
Created attachment 229231 [details]
4.8.0-040800rc2 dmesg

dmesg for 4.8.0 rc2
Comment 31 Kontantin Ivanov 2016-08-18 06:28:49 UTC
Created attachment 229241 [details]
4.8.0-040800rc2 Xorg.0.log

Xorg log for 4.8.0 rc2
Comment 32 Kontantin Ivanov 2016-08-22 11:52:29 UTC
Created attachment 229671 [details]
4.8.0-040800rc3 dmesg

yet another dmesg for 4.8.0-rc3
Comment 33 Kontantin Ivanov 2016-08-22 11:54:05 UTC
Created attachment 229681 [details]
4.8.0-040800rc3 Xorg.0.log

yet another Xorg.0.log (4.8.0-rc3)
Comment 34 Kontantin Ivanov 2016-09-02 16:22:00 UTC
Created attachment 231981 [details]
dmesg 4.8.0 rc4 radeon.uvd=0 radeon.dpm=0
Comment 35 Kontantin Ivanov 2016-09-02 16:22:54 UTC
Created attachment 231991 [details]
Xorg.0.log 4.8.0 rc4
Comment 36 Kontantin Ivanov 2016-09-02 16:26:56 UTC
The card doesn't work with and without UVD. I've trying radeon.uvd=0 with radeon.dpm=0. Firmware from git repository.
Comment 37 Kontantin Ivanov 2016-09-14 13:20:44 UTC
I'm always ready to help with this bug. Actually, UVD is not important for me. But the card I want to use. May be there is some documentation how to work with similar problems... ?
Comment 38 Kontantin Ivanov 2016-09-18 10:30:55 UTC
There is an opinion that the problem is not inside radeon driver but inside i915/intel driver. I downgraded my system to Ubuntu 14.04 (3.11 kernel) and tried to install fglrx (proprietary AMD driver). It doesn't  works. X server starts normally but screen is show me last image (kubuntu start splash and mouse cursor) and then it freezes. Xorg.log does'n show anything. Digging deeper I found some solution that requires modified intel driver <https://launchpad.net/%7Eandrikos/+archive/ubuntu/ppa/+build/3932032>. Unfortunately the man, who developed it, removed the package from launchpad.

I've changed urgency to low again, because who cares about old, stupid hardware.