Stephan Schmid
2007-Sep-30 18:46 UTC
[Nouveau] [Patch] reenable fifos if we get an error while fifos disabled
Hello, while playing around with multiple fifo contexts I got fifo hangs when opening glxgears nr.3. The reason is that in drm/linux_core/nouveau_fifo.c l.342 engine->graph.create_context() returns -ENOMEM (I dont know why but I think this problems also appears with other errors). But the real problem is that then nouveau_fifo alloc() returns without reenabling fifo execution, so all fifos hang. With this patch glxgears nr.3 only prints scary messages and falls back to software rendering. Greetings Stephan Schmid -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: patch_fifo_reenable Url: http://lists.freedesktop.org/archives/nouveau/attachments/20070930/5c99bc0c/attachment.ksh
matthieu castet
2007-Sep-30 21:30 UTC
[Nouveau] [Patch] reenable fifos if we get an error while fifos disabled
Stephan Schmid wrote:> Hello, > while playing around with multiple fifo contexts I got fifo hangs when > opening glxgears nr.3. > The reason is that in drm/linux_core/nouveau_fifo.c l.342 > engine->graph.create_context() returns -ENOMEM (I dont know why but I > think this problems also appears with other errors).May be because of hash collision. I got similar failure, but I didn't take time to investigate.> But the real problem is that then nouveau_fifo alloc() returns without > reenabling fifo execution, so all fifos hang. With this patch glxgears > nr.3 only prints scary messages and falls back to software rendering.Great. May be using a goto to jump at the end, could avoid code duplication. Matthieu
Reasonably Related Threads
- [PATCH] drm/nouveau: fix suspend bug in nvc0 fence implementation
- RESEND NVA3 clock tree improvements
- [libdrm v3 13/14] nouveau: clean up nouveau.h, noting deprecated members/functions
- [PATCH 7/7] clock/nva3: Pause the GPU before reclocking
- [PATCH] clock/nva3: Pause the GPU before reclocking