From: F. <j_r...@ya...> - 2002-06-27 23:07:56
|
On Thu, Jun 27, 2002 at 05:39:17PM +0200, Peter Andersson wrote: >José Fonseca wrote: > >>On Thu, Jun 27, 2002 at 01:57:25AM +0200, Peter Andersson wrote: >> [...] >> >>To get a better idea, edit the mach64_drv.h file in the kernel directory >>and make this change: >> >>@@ -718,6 +719,7 @@ >> DRM_INFO( "ADVANCE_RING() wr=0x%06x tail=0x%06x\n", \ >> write, tail ); \ >> } \ >>+ mach64_do_wait_for_idle( dev_priv ); \ >> mach64_flush_write_combine(); \ >> mach64_clear_dma_eol( &ring[(tail - 2) & mask] ); \ >> mach64_flush_write_combine(); \ >> >With this change i got the "usual" system hang. The kmsg output is >included as kmsg1.txt > mmm.. for this to happen it indicates that problem isn't related with the new DMA scheme itself, but perhaps some bug along. >>If this still doesn't help, then make this further change: >> >>@@ -537,6 +537,7 @@ >> \ >> if ( !(dev_priv)->ring_running ) { \ >> mach64_ring_start( dev_priv ); \ >>+ mach64_do_wait_for_idle( dev_priv ); \ >> } \ >> /* GUI_ACTIVE must be read before BM_GUI_TABLE to correctly >>determine the ring head */ \ >> gui_active = MACH64_READ(MACH64_GUI_STAT) & >>MACH64_GUI_ACTIVE; \ >> >After i had changed this as well i get a syntax error the output is the >following: > [...] > >Any ideas ? I don't see where these errors come from.. Are you sure you didn't make any typo? (Be carefull with not having any extra character after the last slash). This would be important just to be shure that the problem isn't DMA related. If this doesn't work, revert the changes (cvs update -C) and apply the following instead: --- mach64_drv.h 21 Jun 2002 20:55:47 -0000 1.1.6.3.2.26 +++ mach64_drv.h 27 Jun 2002 23:05:00 -0000 @@ -723,6 +723,7 @@ mach64_flush_write_combine(); \ dev_priv->ring.tail = write; \ UPDATE_RING_HEAD( dev_priv, &(dev_priv)->ring ); \ + mach64_do_wait_for_idle( dev_priv ); \ } while (0) José Fonseca |