I appear to of eliminated my remaining lockups by also idling the 2D engine in radeon_cp_indirect which is being called from the xserver. Here is my latest patch.
*** drm111605/shared-core/radeon_state.c Fri Nov 11 20:25:43 2005 --- drmbld/shared-core/radeon_state.c Wed Nov 23 22:15:17 2005 *************** *** 2388,2394 **** */ BEGIN_RING(2); ! RADEON_WAIT_UNTIL_3D_IDLE(); ADVANCE_RING(); --- 2388,2394 ---- */ BEGIN_RING(2); ! RADEON_WAIT_UNTIL_IDLE(); ADVANCE_RING(); *************** *** 2737,2742 **** --- 2737,2743 ---- drm_radeon_cmd_header_t header; int orig_nbox, orig_bufsz; char *kbuf = NULL; + RING_LOCALS; LOCK_TEST_WITH_RETURN(dev, filp); *************** *** 2791,2796 **** --- 2792,2802 ---- header.i = *(int *)cmdbuf.buf; cmdbuf.buf += sizeof(header); cmdbuf.bufsz -= sizeof(header); + + /* hack */ + BEGIN_RING(2); + RADEON_WAIT_UNTIL_IDLE(); + ADVANCE_RING(); switch (header.header.cmd_type) { case RADEON_CMD_PACKET: ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel