DRI_PRIME regression- radeon: Failed to allocate virtual address for buffer
Submitted by hig..@..mx.net
Assigned to Default DRI bug account
Link to original bug (#102800)
Description
Using a ubuntu 17.04 with a kernel 4.13.2, mesa 1.3-git and libdrm 2.4.83 on a lenovo thinkpad S440 with a intel haswell and a radeon HD8670M/8690M
doing this commands i get a error:
- xrandr --setprovideroffloadsink 0x3f 0x66
- DRI_PRIME=1
- glxgears
radeon: Failed to allocate virtual address for buffer:
radeon: size : 65536 bytes
radeon: alignment : 4096 bytes
radeon: domains : 4
radeon: va : 0x0000000000800000
radeon: Failed to deallocate virtual address for buffer:
radeon: size : 65536 bytes
radeon: va : 0x800000
radeon: Failed to allocate virtual address for buffer:
radeon: size : 65536 bytes
radeon: alignment : 4096 bytes
radeon: domains : 4
radeon: va : 0x0000000000800000
radeon: Failed to deallocate virtual address for buffer:
radeon: size : 65536 bytes
radeon: va : 0x800000
radeonsi: Failed to create a context.
radeon: Failed to allocate virtual address for buffer:
radeon: size : 65536 bytes
radeon: alignment : 4096 bytes
radeon: domains : 4
radeon: va : 0x0000000000800000
radeon: Failed to deallocate virtual address for buffer:
radeon: size : 65536 bytes
radeon: va : 0x800000
radeon: Failed to allocate virtual address for buffer:
radeon: size : 65536 bytes
radeon: alignment : 4096 bytes
radeon: domains : 4
radeon: va : 0x0000000000800000
radeon: Failed to deallocate virtual address for buffer:
radeon: size : 65536 bytes
radeon: va : 0x800000
radeonsi: Failed to create a context.
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 155 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 31
Current serial number in output stream: 33
In the dmesg, i can see this:
[ 1059.004670] [drm:atom_op_jump [radeon]] *ERROR* atombios stuck in loop for more than 5secs aborting
[ 1059.004693] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing 746C (len 237, WS 0, PS 4) @ 0x747A
[ 1059.004703] [drm:atom_execute_table_locked [radeon]] *ERROR* atombios stuck executing 6E04 (len 74, WS 0, PS 8) @ 0x6E39
[ 1059.012106] [drm] probing gen 2 caps for device 8086:9c18 = 5323c42/0
[ 1059.012110] [drm] PCIE gen 2 link speeds already enabled
[ 1059.448659] [UFW ALLOW] IN= OUT=wlan0 SRC=10.42.42.80 DST=140.172.138.79 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=44245 DF PROTO=TCP SPT=50408 DPT=80 WINDOW=30498 RES=0x00 ACK FIN URGP=0
[ 1059.476638] radeon 0000:06:00.0: Wait for MC idle timedout !
[ 1059.708499] radeon 0000:06:00.0: Wait for MC idle timedout !
[ 1059.714600] [drm] PCIE GART of 2048M enabled (table at 0x0000000000040000).
[ 1059.714727] radeon 0000:06:00.0: WB enabled
[ 1059.714730] radeon 0000:06:00.0: fence driver on ring 0 use gpu addr 0x0000000080000c00 and cpu addr 0xffff8c2c59b12c00
[ 1059.714731] radeon 0000:06:00.0: fence driver on ring 1 use gpu addr 0x0000000080000c04 and cpu addr 0xffff8c2c59b12c04
[ 1059.714732] radeon 0000:06:00.0: fence driver on ring 2 use gpu addr 0x0000000080000c08 and cpu addr 0xffff8c2c59b12c08
[ 1059.714732] radeon 0000:06:00.0: fence driver on ring 3 use gpu addr 0x0000000080000c0c and cpu addr 0xffff8c2c59b12c0c
[ 1059.714733] radeon 0000:06:00.0: fence driver on ring 4 use gpu addr 0x0000000080000c10 and cpu addr 0xffff8c2c59b12c10
[ 1060.424258] [drm:r600_ring_test [radeon]] *ERROR* radeon: ring 0 test failed (scratch(0x850C)=0xCAFEDEAD)
[ 1060.424283] [drm:si_resume [radeon]] *ERROR* si startup failed on resume
All this setup worked fine in a previous kernel versions, IIRC, 4.11 and below and started to fail in 4.12 and above
I also notice that the dedicated card switch fron DynOff to DynPwr in /sys/kernel/debug/vgaswitcheroo/switch for a few seconds when trying to run the glxgears
Finally, If i boot the system with radeon.runpm=1, it works
Let me know if you need more logs