https://bugs.freedesktop.org/show_bug.cgi?id=59672
Priority: medium Bug ID: 59672 Assignee: dri-devel@lists.freedesktop.org Summary: Problems initializing Radeon driver: lockup during IB test Severity: normal Classification: Unclassified OS: Linux (All) Reporter: lucaskt@linux.vnet.ibm.com Hardware: PowerPC Status: NEW Version: XOrg 6.7.0 Component: DRM/Radeon Product: DRI
Created attachment 73396 --> https://bugs.freedesktop.org/attachment.cgi?id=73396&action=edit modprobe radeon with drm.debug=1
Hi all,
I've been trying to get a evergreen adapter to work with the Radeon driver on a ppc64 machine. And while attempting that, I'm running into what seems to be a infinite loop while running the IB test on ring 3. I'm using a 3.8.0-rc4 kernel from today. Follows an excerpt from the logs, the entire modprobe log can be found attached.
[ 171.975487] [drm:evergreen_blit_init], evergreen blit allocated bo 00000600 vs 00000400 ps 00000500 [ 171.975631] radeon 0001:01:00.0: WB enabled [ 171.975636] radeon 0001:01:00.0: fence driver on ring 0 use gpu addr 0x0000000020000c00 and cpu addr 0xc0000001d32b0c00 [ 171.975642] radeon 0001:01:00.0: fence driver on ring 3 use gpu addr 0x0000000020000c0c and cpu addr 0xc0000001d32b0c0c [ 171.992732] [drm] ring test on 0 succeeded in 0 usecs [ 171.992799] [drm] ring test on 3 succeeded in 1 usecs [ 171.993112] [drm:evergreen_irq_set], evergreen_irq_set: sw int gfx [ 171.993154] [drm] ib test on ring 0 succeeded in 0 usecs [ 171.993197] [drm:evergreen_irq_set], r600_irq_set: sw int dma [ 172.419617] [drm:evergreen_irq_set], r600_irq_set: sw int dma .... [ 182.399612] [drm:evergreen_irq_set], r600_irq_set: sw int dma [ 182.409618] [drm:evergreen_irq_set], r600_irq_set: sw int dma [ 182.419604] radeon 0001:01:00.0: GPU lockup CP stall for more than 10000msec [ 182.419615] radeon 0001:01:00.0: GPU lockup (waiting for 0x0000000000000001 last fence id 0x0000000000000000) [ 182.419626] [drm:r600_dma_ib_test] *ERROR* radeon: fence wait failed (-35). [ 182.419634] [drm:radeon_ib_ring_tests] *ERROR* radeon: failed testing IB on ring 3 (-35).
Do you guys have any idea what could be wrong, or what should be looked into?
Thanks
https://bugs.freedesktop.org/show_bug.cgi?id=59672
Lucas Kannebley Tavares lucaskt@linux.vnet.ibm.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lucaskt@linux.vnet.ibm.com Version|XOrg 6.7.0 |unspecified
https://bugs.freedesktop.org/show_bug.cgi?id=59672
--- Comment #1 from Lucas Kannebley Tavares lucaskt@linux.vnet.ibm.com --- Created attachment 73398 --> https://bugs.freedesktop.org/attachment.cgi?id=73398&action=edit Backtrace upon reboot
I can't remove the module the modprobe (some resource got stuck) but there's a backtrace printout if I attempt to reboot the machine.
https://bugs.freedesktop.org/show_bug.cgi?id=59672
--- Comment #2 from Alex Deucher agd5f@yahoo.com --- Is this still an issue with Dave's latest drm pull request: http://cgit.freedesktop.org/~airlied/linux/log/?h=drm-fixes
https://bugs.freedesktop.org/show_bug.cgi?id=59672
--- Comment #3 from Michel Dänzer michel@daenzer.net --- Created attachment 73440 --> https://bugs.freedesktop.org/attachment.cgi?id=73440&action=edit Enable more DMA byte swapping bits on big endian hosts
Does this patch help?
https://bugs.freedesktop.org/show_bug.cgi?id=59672
--- Comment #4 from Alex Deucher agd5f@yahoo.com --- Created attachment 73455 --> https://bugs.freedesktop.org/attachment.cgi?id=73455&action=edit use sw swap for dma rings
If the hw swapper patch doesn't work, you can try this patch.
https://bugs.freedesktop.org/show_bug.cgi?id=59672
--- Comment #5 from Alex Deucher agd5f@yahoo.com --- in attachment 73440, I don't think we want to enable fence swapping:
+#ifdef __BIG_ENDIAN + dma_cntl |= FENCE_SWAP_ENABLE; +#endif
since we already swap the fence in radeon_fence_read().
https://bugs.freedesktop.org/show_bug.cgi?id=59672
--- Comment #6 from Alex Deucher agd5f@yahoo.com --- Ignore my patch and comments. After thinking about this more they won't work. See is Michel's patch fixes it for your.
https://bugs.freedesktop.org/show_bug.cgi?id=59672
--- Comment #7 from Michel Dänzer michel@daenzer.net --- (In reply to comment #5)
I don't think we want to enable fence swapping [...] since we already swap the fence in radeon_fence_read().
Ah, right. Lucas, so it's probably better if you try without FENCE_SWAP_ENABLE first.
https://bugs.freedesktop.org/show_bug.cgi?id=59672
--- Comment #8 from Lucas Kannebley Tavares lucaskt@linux.vnet.ibm.com --- Hi Michael, the patch you provided did indeed get rid of all errors, but now modprobe enters an infinite loop on the test that previously failed
[ 62.294510] [drm] ring test on 0 succeeded in 0 usecs [ 62.294578] [drm] ring test on 3 succeeded in 1 usecs [ 62.294901] [drm:evergreen_irq_set], evergreen_irq_set: sw int gfx [ 62.294943] [drm] ib test on ring 0 succeeded in 0 usecs [ 62.294989] [drm:evergreen_irq_set], r600_irq_set: sw int dma [ 62.721958] [drm:evergreen_irq_set], r600_irq_set: sw int dma [ 62.731965] [drm:evergreen_irq_set], r600_irq_set: sw int dma [ 62.741979] [drm:evergreen_irq_set], r600_irq_set: sw int dma ... [ 434.061917] [drm:evergreen_irq_set], r600_irq_set: sw int dma
Just saw your last comment and so I'm off to change remove FENCE_SWAP_ENABLE. Thanks
https://bugs.freedesktop.org/show_bug.cgi?id=59672
Lucas Kannebley Tavares lucaskt@linux.vnet.ibm.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #9 from Lucas Kannebley Tavares lucaskt@linux.vnet.ibm.com --- Ok, so the patch with FENCE_SWAP_ENABLE removed worked perfectly!
Thanks
https://bugs.freedesktop.org/show_bug.cgi?id=59672
Michel Dänzer michel@daenzer.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED |---
--- Comment #10 from Michel Dänzer michel@daenzer.net --- (In reply to comment #9)
Ok, so the patch with FENCE_SWAP_ENABLE removed worked perfectly!
Great, thanks for testing! However, bugs should only be resolved once the fix has landed in mainline.
https://bugs.freedesktop.org/show_bug.cgi?id=59672
Lucas Kannebley Tavares lucaskt@linux.vnet.ibm.com changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.freedesktop.or | |g/show_bug.cgi?id=59982
https://bugs.freedesktop.org/show_bug.cgi?id=59672
Florian Mickler florian@mickler.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |florian@mickler.org
--- Comment #11 from Florian Mickler florian@mickler.org --- A patch referencing this bug report has been merged in Linux v3.8-rc6:
commit b3dfcb207e550dffb8680cab7afaf6b4fb6eae33 Author: Michel Dänzer michel.daenzer@amd.com Date: Thu Jan 24 19:02:01 2013 +0100
drm/radeon: Enable DMA_IB_SWAP_ENABLE on big endian hosts.
https://bugs.freedesktop.org/show_bug.cgi?id=59672
Alex Deucher agd5f@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution|--- |FIXED
dri-devel@lists.freedesktop.org