Bug 65274

Summary: TURKS [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!! (non-EFI laptop)
Product: DRI Reporter: russianneuromancer
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg
none
UVD regs none

Description russianneuromancer 2013-06-02 23:09:14 UTC
Created attachment 80170 [details]
dmesg

Looks like bug 63935 (that about Macs booting in EFI mode) but this one about non-EFI laptop (Acer Aspire 7560G with BIOS v2.04). Ubuntu 13.04 x86_64, Linux 3.10.rc4. SUMO2 UVD firmware updated from April 2 (I can't find TURKS UVD firmware - it's use same firmware as SUMO2?)

$ lspci -nn | grep VGA
00:01.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI BeaverCreek [Radeon HD 6620G] [1002:9641]
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Whistler [Radeon HD 6600M/6700M/7600M Series] [1002:6741]

As I undersand UVD initialized successfully on first GPU (look into attached dmesg) but can't initialize on second - boot stuck for ten seconds.

[    3.063106] [drm] initializing kernel modesetting (TURKS 0x1002:0x6741 0x1025:0x059E).
[    3.063131] [drm] register mmio base: 0xF0200000
[    3.063132] [drm] register mmio size: 131072
[   14.267992] [drm] Detected VRAM RAM=1024M, BAR=256M
[   14.267997] [drm] RAM width 128bits DDR
[   14.268029] [drm] radeon: 1024M of VRAM memory ready
[   14.268030] [drm] radeon: 512M of GTT memory ready.
[   14.268058] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[   14.268060] [drm] Driver supports precise vblank timestamp query.
[   14.268209] [drm] radeon: irq initialized.
[   14.270085] [drm] GART: num cpu pages 131072, num gpu pages 131072
[   14.271070] [drm] Loading TURKS Microcode
[   14.273276] [drm] PCIE GART of 512M enabled (table at 0x0000000000273000).
[   14.290147] [drm] ring test on 0 succeeded in 2 usecs
[   14.290215] [drm] ring test on 3 succeeded in 1 usecs
[   15.457635] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   16.470051] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   17.482486] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   18.494870] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   19.507253] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   20.519681] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   21.532097] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   22.544538] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   23.556927] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   24.569309] [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   24.589200] [drm:r600_uvd_init] *ERROR* UVD not responding, giving up!!!
[   24.589240] [drm:evergreen_startup] *ERROR* radeon: error initializing UVD (-1).
[   24.589849] [drm] ib test on ring 0 succeeded in 0 usecs
[   24.589926] [drm] ib test on ring 3 succeeded in 0 usecs

UVD registers dump is also attached.
Comment 1 russianneuromancer 2013-06-02 23:09:36 UTC
Created attachment 80171 [details]
UVD regs
Comment 2 Alex Deucher 2013-06-03 13:39:20 UTC
Make sure you have the updated rlc firmware as well.
Comment 3 russianneuromancer 2013-06-03 17:22:09 UTC
I sure, I download and overwrite it before trying rc4. md5 of currently used SUMO_rlc.bin: 687e72d53413710b0a3e9330333b2dbe.
Comment 4 Christian König 2013-06-05 18:13:29 UTC
For TURKS you need to update BTC_rlc.bin, not SUMO_rlc.bin.

Only the SUMO UVD firmware is used for both generations.
Comment 5 russianneuromancer 2013-06-05 19:07:12 UTC
> For TURKS you need to update BTC_rlc.bin, not SUMO_rlc.bin.
Ok, I update BTC_rlc.bin: ~$ md5sum /lib/firmware/radeon/BTC_rlc.bin
25d61fad839b30b263f52328c1f678fb  /lib/firmware/radeon/BTC_rlc.bin
But there is same error on reboot:
> [drm:r600_uvd_init] *ERROR* UVD not responding, trying to reset the VCPU!!!

Also I just understand - I probably upload UVD regs of working UVD module of first GPU, and for UVD regs of second GPU you probably need regs from different addresses, right?
Comment 6 russianneuromancer 2013-06-29 02:54:08 UTC
Not reproducible anymore on 3.10-rc7. Both UVD modules seems like initialized successfully now:
~$ dmesg | grep UVD
[    2.650046] [drm] UVD initialized successfully.
[   12.828068] [drm] UVD initialized successfully.
Comment 7 Christian König 2013-06-29 07:22:13 UTC
Good, so we can probably close this bugreport.

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.