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

Reply via email to