Bug 12300

Summary: DMA queue hang (Quadro FX 4500)
Product: xorg Reporter: Dmitry Platonov <dmitry.platonov>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: critical    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg log
none
DRM output
none
Xorg log after patching drm & switching to master
none
DRM output after patching DRM & switching to master none

Description Dmitry Platonov 2007-09-06 05:36:39 UTC
Gentoo linux
randr-1.2 nouveau branch
NVidia Quadro FX 4500
-------------------------------
40:00.0 VGA compatible controller: nVidia Corporation G70GL [Quadro FX 4500] (rev a1) (prog-if 00 [VGA])
        Subsystem: nVidia Corporation Unknown device 02af
        Flags: bus master, fast devsel, latency 0, IRQ 16
        Memory at d1000000 (32-bit, non-prefetchable) [size=16M]
        Memory at c0000000 (64-bit, prefetchable) [size=256M]
        Memory at d2000000 (64-bit, non-prefetchable) [size=16M]
        I/O ports at 1000 [size=128]
        [virtual] Expansion ROM at d0000000 [disabled] [size=128K]
        Capabilities: [60] Power Management version 2
        Capabilities: [68] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
        Capabilities: [78] Express Endpoint IRQ 0
        Capabilities: [100] Virtual Channel
        Capabilities: [128] Power Budgeting
-------------------------------
X output:

(==) Using config file: "/etc/X11/xorg.conf"
DCB size is 19, entries is 0A
(II) Module already built-in
(II) Module already built-in
(II) Module already built-in
crtc 0 1600 1600
writting vpll 00020601
writting vpll2 00000000
output 0 debug_0 01141191
savep->dither 00070000
1: crtc 0 output0: 0000: twocrt 0 twomon 0
(EE) AIGLX error: drmMap of framebuffer failed (Invalid argument)(EE) AIGLX:
reverting to software rendering

Fatal server error:
DMA queue hang: dmaPut=1ff6, current=0, status=0

writting vpll 00031805
writting vpll2 00050D02
writting vpll 00031805
writting vpll2 00050D02
Comment 1 Dmitry Platonov 2007-09-06 05:38:47 UTC
Created attachment 11447 [details]
Xorg log
Comment 2 Dmitry Platonov 2007-09-06 05:41:51 UTC
Created attachment 11448 [details]
DRM output
Comment 3 Maarten Maathuis 2007-09-07 04:02:24 UTC
1. The randr-1.2 branch shouldn't be used anymore, use master with Option "Randr12" "1".

2. This is an NV47 iirc, currently not supported, please try this patch: http://madman2003.ath.cx/nv47_ctx_init.patch

If it doesn't work, then try to go trough this procedure http://nouveau.freedesktop.org/wiki/CtxInit
Comment 4 Maarten Maathuis 2007-09-07 04:04:43 UTC
That's a drm patch btw.
Comment 5 Dmitry Platonov 2007-09-07 06:09:07 UTC
Created attachment 11462 [details]
Xorg log after patching drm & switching to master
Comment 6 Dmitry Platonov 2007-09-07 06:11:11 UTC
Created attachment 11463 [details]
DRM output after patching DRM & switching to master

Build Date: 06 September 2007
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri Sep  7 16:46:01 2007
(++) Using config file: "/etc/X11/xorg.conf.nouveau"
(II) Module already built-in
(II) Module already built-in
(II) Module already built-in
DISPATCH ERROR! _glapi_add_dispatch failed to add glGetVertexAttribPointerv!
DISPATCH ERROR! _glapi_add_dispatch failed to add glVertexAttrib4iv!
DISPATCH ERROR! _glapi_add_dispatch failed to add glVertexAttrib4bv!
DISPATCH ERROR! _glapi_add_dispatch failed to add glVertexAttrib4ubv!
DISPATCH ERROR! _glapi_add_dispatch failed to add glVertexAttrib4usv!
DISPATCH ERROR! _glapi_add_dispatch failed to add glGetVertexAttribPointerv!
DISPATCH ERROR! _glapi_add_dispatch failed to add glVertexAttrib4uiv!

Fatal server error:
DMA queue hang: dmaPut=1ffc, current=0, status=0
Comment 7 Maarten Maathuis 2007-09-07 06:25:01 UTC
The drm output is without the debug option(insmod drm.ko debug=1), but i suspect that the context switching is broken. I suggest you try the procedure here: http://nouveau.freedesktop.org/wiki/CtxInit to discover it yourself.
Comment 8 Maarten Maathuis 2008-02-01 11:31:54 UTC
This problem is (probably) related to multiple NV47 existing with different amount of pipelines, therefore they need different context voodoo's. This cannot be handled properly until darktama finishes his microcode generator. Don't expect this very soon though.
Comment 9 Maarten Maathuis 2008-02-01 11:39:33 UTC
Reopening. Still think this should be WONTFIX or LATER.
Comment 10 Ben Skeggs 2008-04-01 07:45:53 UTC
Is this now fixed?
Comment 11 Pekka Paalanen 2009-09-23 02:50:22 UTC
No reply for well over a year, assuming FIXED.

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.