-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi,
I'm seeing a lockup on RV250 (M9) that I thought might be related to the other r200 problems that have been cropping up recently. These occurred using Debian's XFree86 server (4.3.0.dfsg.1-6) and kernel 2.6.5 and 2.6.7. The issue can be reproduced as follows: 1. Download Celestia (celestia.sourceforge.net) CVS and compile. 2. Launch celestia. 3. Visit Apollo 11 by typing "Enter, Apollo 11, Enter, G" It happens every time for me. The chip appears to hang with the following RBBM_STATUS: 0x80316100. The CP_RB_[R|W]PTR registers also freeze. The backtrace from X is as follows: (gdb) bt #0 0x4019da44 in ioctl () from /lib/tls/libc.so.6 #1 0x084b6c7c in drmDMA (fd=5, request=0xbffff610) at xf86drm.c:796 #2 0x082fe23b in RADEONCPGetBuffer (pScrn=0x8b5c518) at radeon_accel.c:490 #3 0x082f8e32 in RADEONSetupForSolidFillCP (pScrn=0x8b5c518, color=2271897, rop=3, planemask=4294967295) at radeon_accelfuncs.c:215 #4 0x083734e1 in XAAFillSolidRects (pScrn=0x8b5c518, fg=2271897, rop=3, planemask=4294967295, nBox=1, pBox=0x8d03488) at xaaFillRect.c:383 #5 0x08380d13 in XAAPaintWindow (pWin=0x8ccd9d0, prgn=0x8d03488, what=0) at xaaPaintWin.c:70 #6 0x0862c565 in miSpritePaintWindowBackground (pWin=0x8ccd9d0, pRegion=0x8d03488, what=0) at misprite.c:845 #7 0x0860e425 in miWindowExposures (pWin=0x8ccd9d0, prgn=0x8d03488, other_exposed=0x0) at miexpose.c:536 #8 0x0848f5bd in xf86XVWindowExposures (pWin=0x8ccd9d0, reg1=0x8d03488, reg2=0x0) at xf86xv.c:1035 #9 0x088ff248 in DRIWindowExposures (pWin=0x8ccd9d0, prgn=0x8d03488, bsreg=0x0) at dri.c:1522 #10 0x0860507c in miHandleValidateExposures (pWin=0x8ccd9d0) at miwindow.c:468 #11 0x084fa6bf in UnmapWindow (pWin=0x8cddb60, fromConfigure=0) at window.c:3103 #12 0x084d0b78 in ProcUnmapWindow (client=0x8c6c830) at dispatch.c:722 #13 0x084d02ec in Dispatch () at dispatch.c:450 #14 0x084e7860 in main (argc=5, argv=0xbffffde4, envp=0xbffffdfc) at main.c:469 - From Frame #1: $2 = {context = 1, send_count = 0, send_indices = 0x0, send_sizes = 0x0, flags = 0, request_count = 1, request_size = 65536, request_indices = 0xbffff608, request_sizes = 0xbffff604, granted_count = 0} EIP at: do { ret = ioctl( fd, DRM_IOCTL_DMA, &dma ); } while ( ret && errno == EAGAIN && i++ < DRM_DMA_RETRY ); (ret is -EBUSY after each call during the lockup) It seems that this ioctl causes the kernel to simply execute the following repeatedly: - - radeon_cp_buffers - radeon_cp_get_buffers - radeon_freelist_get I guess the chip locks up somewhere prior to this, and the driver only notices it when it runs out available buffers or something. Is there any way to determine exactly which operation locks the chip? I can probably extract the contents of the ring buffer after the lock up if it will help. - -- Andrew -----BEGIN PGP SIGNATURE----- Comment: Key ID: EC3F6CCD (www.keyserver.net) iD8DBQFBC0KeTHKGaOw/bM0RAoU/AKCPfuxwBfB+EJ7dfg7sCngCbZgJAgCgh42S X1qPHBRdCAm5gfiuQ1yVqIQ= =dg7Q -----END PGP SIGNATURE----- ------------------------------------------------------- This SF.Net email is sponsored by OSTG. Have you noticed the changes on Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now, one more big change to announce. We are now OSTG- Open Source Technology Group. Come see the changes on the new OSTG site. www.ostg.com -- _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel