Bug 83996 - [drm:r100_ring_test] *ERROR* radeon: ring test failed - since linux-3.17_rc1 on RS690/RS740 [Radeon 2100]
Summary: [drm:r100_ring_test] *ERROR* radeon: ring test failed - since linux-3.17_rc1 ...
Status: RESOLVED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Radeon (show other bugs)
Version: DRI git
Hardware: Other Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-17 13:42 UTC by jospezial
Modified: 2014-09-22 02:34 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Test for reverting the patch in question. (7.80 KB, patch)
2014-09-17 14:20 UTC, Christian König
no flags Details | Splinter Review
dmesg for linux-3.17_rc5 with 0001-Revert-drm-radeon-Remove-radeon_gart_restore.patch (49.83 KB, text/plain)
2014-09-17 23:42 UTC, jospezial
no flags Details
Fix typo 'addr' -> 'entry' in rs400_gart_set_page (863 bytes, patch)
2014-09-18 01:18 UTC, Michel Dänzer
no flags Details | Splinter Review

Description jospezial 2014-09-17 13:42:06 UTC
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.
Comment 1 Christian König 2014-09-17 14:20:26 UTC
Created attachment 106432 [details] [review]
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.
Comment 2 jospezial 2014-09-17 23:42:49 UTC
Created attachment 106469 [details]
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/drivers/gpu/drm/radeon?id=77497f2735ad6e29c55475e15e9790dbfa2c2ef8 should I try to revert?

Tia
Comment 3 Michel Dänzer 2014-09-18 01:18:49 UTC
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.
Comment 4 jospezial 2014-09-18 20:20:34 UTC
(In reply to comment #3)
> Created attachment 106470 [details] [review] [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
Comment 5 Michel Dänzer 2014-09-19 01:34:23 UTC
(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.
Comment 6 jospezial 2014-09-21 22:17:16 UTC
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1734a6e47fbad93f896644ad8ad12574fadba49d
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux


drm/radeon: Fix typo 'addr' -> 'entry' in rs400_gart_set_page
Comment 7 Michel Dänzer 2014-09-22 02:34:08 UTC
Resolving per comment 6.


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.