https://bugs.freedesktop.org/show_bug.cgi?id=83996
Priority: medium Bug ID: 83996 Assignee: dri-devel@lists.freedesktop.org Summary: [drm:r100_ring_test] *ERROR* radeon: ring test failed - since linux-3.17_rc1 on RS690/RS740 [Radeon 2100] Severity: normal Classification: Unclassified OS: Linux (All) Reporter: jospezial@gmx.de Hardware: Other Status: NEW Version: DRI CVS Component: DRM/Radeon Product: DRI
This bug report is a fork of https://bugs.freedesktop.org/show_bug.cgi?id=82588
This do I get on a AMD64 Gentoo linux with xf86-video-ati-7.4.0 since linux-3.17_rc1. X starts but GPU acceleration is disabled.
[ 6.787592] [drm] Initialized drm 1.1.0 20060810 [ 7.007890] [drm] radeon kernel modesetting enabled. [ 7.008441] [drm] initializing kernel modesetting (RS740 0x1002:0x796E 0x105B:0x0E13). [ 7.008456] [drm] register mmio base: 0xFEAF0000 [ 7.008457] [drm] register mmio size: 65536 [ 7.009087] ATOM BIOS: ATI [ 7.009102] radeon 0000:01:05.0: VRAM: 128M 0x0000000038000000 - 0x000000003FFFFFFF (128M used) [ 7.009104] radeon 0000:01:05.0: GTT: 512M 0x0000000040000000 - 0x000000005FFFFFFF [ 7.009117] [drm] Detected VRAM RAM=128M, BAR=128M [ 7.009118] [drm] RAM width 128bits DDR [ 7.009204] [TTM] Zone kernel: Available graphics memory: 443784 kiB [ 7.009206] [TTM] Initializing pool allocator [ 7.009212] [TTM] Initializing DMA pool allocator [ 7.009235] [drm] radeon: 128M of VRAM memory ready [ 7.009236] [drm] radeon: 512M of GTT memory ready. [ 7.009251] [drm] GART: num cpu pages 131072, num gpu pages 131072 [ 7.025657] [drm] radeon: 1 quad pipes, 1 z pipes initialized. [ 7.025670] [drm] PCIE GART of 512M enabled (table at 0x0000000032F00000). [ 7.025726] radeon 0000:01:05.0: WB enabled [ 7.025730] radeon 0000:01:05.0: fence driver on ring 0 use gpu addr 0x0000000040000000 and cpu addr 0xffff880032ea5000 [ 7.025733] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 7.025734] [drm] Driver supports precise vblank timestamp query. [ 7.025744] [drm] radeon: irq initialized. [ 7.025753] [drm] Loading RS690/RS740 Microcode [ 7.071137] [drm] radeon: ring at 0x0000000040001000 [ 7.228868] [drm:r100_ring_test] *ERROR* radeon: ring test failed (scratch(0x15E4)=0xCAFEDEAD) [ 7.228875] [drm:r100_cp_init] *ERROR* radeon: cp isn't working (-22). [ 7.228883] radeon 0000:01:05.0: failed initializing CP (-22). [ 7.228888] radeon 0000:01:05.0: Disabling GPU acceleration [ 7.375499] [drm:r100_cp_fini] *ERROR* Wait for CP idle timeout, shutting down CP. [ 7.521222] Failed to wait GUI idle while programming pipes. Bad things might happen. [ 7.521467] [drm] radeon: cp finalized
With linux-3.16.x it works. lspci: 01:05.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RS740 [Radeon 2100]
some messages from Xorg.log:
[ 24.729] (--) RADEON(0): Chipset: "ATI RS740" (ChipID = 0x796e) [ 24.729] (II) RADEON(0): GPU accel disabled or not working, using shadowfb for KMS
[ 24.869] (WW) RADEON(0): Direct rendering disabled [ 24.869] (II) RADEON(0): Acceleration disabled
[ 24.871] (WW) RADEON(0): Option "AccelMethod" is not used
[ 24.879] (II) AIGLX: Screen 0 is not DRI2 capable [ 24.879] (EE) AIGLX: reverting to software rendering [ 25.578] (II) AIGLX: Loaded and initialized swrast [ 25.578] (II) GLX: Initialized DRISWRAST GL provider for screen 0
Result of bisecting between v3.16 and v3.17-rc1:
77497f2735ad6e29c55475e15e9790dbfa2c2ef8 is the first bad commit commit 77497f2735ad6e29c55475e15e9790dbfa2c2ef8 Author: Michel Dänzer michel.daenzer@amd.com Date: Thu Jul 17 19:01:07 2014 +0900
drm/radeon: Pass GART page flags to radeon_gart_set_page() explicitly
Signed-off-by: Michel Dänzer michel.daenzer@amd.com Reviewed-by: Christian König christian.koenig@amd.com Signed-off-by: Alex Deucher alexander.deucher@amd.com
:040000 040000 7da27ed892f4ea02ef8e758eda7165ce336d19cc 369d9e0ff185b6e6c9614de87296fc60072f56b9 M drivers :040000 040000 c3203bef4546e1781ba218fa5232c12cd2a883a2 b655879d0fefad7b591333930fddfd3cc67afa8d M include
Reverting that whole patch on v3.17-rc5 is not as easy because then compile fails.
https://bugs.freedesktop.org/show_bug.cgi?id=83996
--- Comment #1 from Christian König deathsimple@vodafone.de --- Created attachment 106432 --> https://bugs.freedesktop.org/attachment.cgi?id=106432&action=edit Test for reverting the patch in question.
It's unlikely that the patch you mentioned causes such problems, but the patch directly before this one could.
The attached patch (on top of Alex drm-fixes-3.17 branch) reverts this patch and adds a few extra debug log lines.
So please test and report back with a new dmesg log.
https://bugs.freedesktop.org/show_bug.cgi?id=83996
--- Comment #2 from jospezial jospezial@gmx.de --- Created attachment 106469 --> https://bugs.freedesktop.org/attachment.cgi?id=106469&action=edit dmesg for linux-3.17_rc5 with 0001-Revert-drm-radeon-Remove-radeon_gart_restore.patch
I used a fresh version of 3.17-rc5 and applied your patch. As you can see, your patch did not fix the bug. I can't see new debug messages you mentioned. Do I have to tell dmesg to be more verbose? How?
I'd like to test a revert of the commit that my bisect said it is bad. But as I wrote, my first try ended in compilation fail. (undefined things). What part of http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/driver... should I try to revert?
Tia
https://bugs.freedesktop.org/show_bug.cgi?id=83996
Michel Dänzer michel@daenzer.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #106432|0 |1 is obsolete| |
--- Comment #3 from Michel Dänzer michel@daenzer.net --- Created attachment 106470 --> https://bugs.freedesktop.org/attachment.cgi?id=106470&action=edit Fix typo 'addr' -> 'entry' in rs400_gart_set_page
Does this patch fix the problem?
Please test it without Christian's patch, that one can't work correctly because it doesn't set the correct GART page flags in all cases.
https://bugs.freedesktop.org/show_bug.cgi?id=83996
--- Comment #4 from jospezial jospezial@gmx.de --- (In reply to comment #3)
Created attachment 106470 [details] [review] Fix typo 'addr' -> 'entry' in rs400_gart_set_page
Does this patch fix the problem?
Please test it without Christian's patch, that one can't work correctly because it doesn't set the correct GART page flags in all cases.
This fixes the bug. Thank you all so much! Will I see the commit in -rc6 ?
dmesg for linux-3.17_rc5 patched with rs400-gart_set_page-typo.diff:
[ 6.929979] [drm] Initialized drm 1.1.0 20060810 [ 7.565290] [drm] radeon kernel modesetting enabled. [ 7.566263] [drm] initializing kernel modesetting (RS740 0x1002:0x796E 0x105B:0x0E13). [ 7.566289] [drm] register mmio base: 0xFEAF0000 [ 7.566293] [drm] register mmio size: 65536 [ 7.566880] ATOM BIOS: ATI [ 7.566893] radeon 0000:01:05.0: VRAM: 128M 0x00000000D8000000 - 0x00000000DFFFFFFF (128M used) [ 7.566895] radeon 0000:01:05.0: GTT: 512M 0x00000000A0000000 - 0x00000000BFFFFFFF [ 7.566907] [drm] Detected VRAM RAM=128M, BAR=128M [ 7.566908] [drm] RAM width 128bits DDR [ 7.566971] [TTM] Zone kernel: Available graphics memory: 1959278 kiB [ 7.566972] [TTM] Initializing pool allocator [ 7.566976] [TTM] Initializing DMA pool allocator [ 7.566997] [drm] radeon: 128M of VRAM memory ready [ 7.566998] [drm] radeon: 512M of GTT memory ready. [ 7.567010] [drm] GART: num cpu pages 131072, num gpu pages 131072 [ 7.582020] [drm] radeon: 1 quad pipes, 1 z pipes initialized. [ 7.582025] [drm] PCIE GART of 512M enabled (table at 0x00000000D4F00000). [ 7.582119] radeon 0000:01:05.0: WB enabled [ 7.582138] radeon 0000:01:05.0: fence driver on ring 0 use gpu addr 0x00000000a0000000 and cpu addr 0xffff8800d7077000 [ 7.582146] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 7.582149] [drm] Driver supports precise vblank timestamp query. [ 7.582173] [drm] radeon: irq initialized. [ 7.582201] [drm] Loading RS690/RS740 Microcode [ 7.734500] [drm] radeon: ring at 0x00000000A0001000 [ 7.734530] [drm] ring test succeeded in 0 usecs [ 7.734793] [drm] ib test succeeded in 0 usecs [ 7.736412] [drm] Radeon Display Connectors [ 7.736416] [drm] Connector 0: [ 7.736418] [drm] VGA-1 [ 7.736421] [drm] DDC: 0x7e50 0x7e40 0x7e54 0x7e44 0x7e58 0x7e48 0x7e5c 0x7e4c [ 7.736423] [drm] Encoders: [ 7.736425] [drm] CRT1: INTERNAL_KLDSCP_DAC1 [ 7.736426] [drm] Connector 1: [ 7.736428] [drm] DVI-D-1 [ 7.736429] [drm] HPD2 [ 7.736432] [drm] DDC: 0x7e40 0x7e60 0x7e44 0x7e64 0x7e48 0x7e68 0x7e4c 0x7e6c [ 7.736433] [drm] Encoders: [ 7.736435] [drm] DFP2: INTERNAL_DDI [ 7.736436] [drm] Connector 2: [ 7.736437] [drm] DVI-D-2 [ 7.736440] [drm] DDC: 0x7e40 0x7e50 0x7e44 0x7e54 0x7e48 0x7e58 0x7e4c 0x7e5c [ 7.736441] [drm] Encoders: [ 7.736443] [drm] DFP3: INTERNAL_LVTM1 [ 7.788582] [drm] fb mappable at 0xF0040000 [ 7.788591] [drm] vram apper at 0xF0000000 [ 7.788595] [drm] size 9216000 [ 7.788598] [drm] fb depth is 24 [ 7.788601] [drm] pitch is 7680 [ 7.788796] fbcon: radeondrmfb (fb0) is primary device [ 7.818230] Console: switching to colour frame buffer device 240x75 [ 7.843203] radeon 0000:01:05.0: fb0: radeondrmfb frame buffer device [ 7.843210] radeon 0000:01:05.0: registered panic notifier [ 7.851229] [drm] Initialized radeon 2.40.0 20080528 for 0000:01:05.0 on minor 0
https://bugs.freedesktop.org/show_bug.cgi?id=83996
--- Comment #5 from Michel Dänzer michel@daenzer.net --- (In reply to comment #4)
This fixes the bug. Thank you all so much!
Great, thank you for testing it.
Will I see the commit in -rc6 ?
Not sure it'll make rc6, but hopefully before 3.17 final.
https://bugs.freedesktop.org/show_bug.cgi?id=83996
--- Comment #6 from jospezial jospezial@gmx.de --- https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1... Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
drm/radeon: Fix typo 'addr' -> 'entry' in rs400_gart_set_page
https://bugs.freedesktop.org/show_bug.cgi?id=83996
Michel Dänzer michel@daenzer.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #7 from Michel Dänzer michel@daenzer.net --- Resolving per comment 6.
dri-devel@lists.freedesktop.org