On Tue, 30 Apr 2002, José Fonseca wrote:

> On 2002.04.30 13:41 Felix Kühling wrote:
> > Hi,
> > 
> > I tried DMA on the mach64-0-0-4-branch now. All the gl application seem
> > to work fine. But after switching to another console and back (without
> > running a gl app at the same time:) the gl app's window is just black
> > after starting it, full CPU load in the kernel and the X-server reacts
> > very slowly. I get the following kind of messages in/var/log/kern.log
> > repeatedly (about one of these blocks per second):
> > 
> > Apr 30 14:24:19 viking kernel: [drm] failed! GUI_STAT=0x02000001
> > Apr 30 14:24:19 viking kernel: [drm] mach64_do_wait_for_idle failed
> > Apr 30 14:24:19 viking kernel: [drm] resetting engine ...
> 
> This is odd. The card never gets idle but X keeps working so the card is 
> not locked.

Well, once a DMA pass fails, you've got to reboot to get DMA back, so the
engine reset allows things to continue, but it'll keep locking up.  The
right thing to do at this point is probably to bail out rather than switch
to MMIO, since it indicates a problem with DMA.  I guess we'll need to add
a return value to _dispatch_vertex and have _dma_vertex return an error
code.
 
> We really need to add variable that indicated if DMA is working or not so 
> that we can fallback to MMIO when it fails.

I'm almost done with this.  What I'm doing is enabling/disabling DMA only
at X server start up.  As I said above, I don't think it makes sense to
switch from DMA to MMIO while the server is running, because if a lock-up
happens, that indicates a bug we need to know about.  For that matter,
it's still a bug if it DMA fails at server start-up, but it will let you
run the X server if DMA has been messed up, fall back to MMIO, and the
system log will indicate which mode is being used.  I'll check this in 
soon.
 
> I wonder if these different behaviours regarding the FIFO & DMA are 
> related to specific mach64 chip versions?
> 
> > 
> > I also wanted to try it without DMA. But just changing the #define
> > MACH64_DMA in mach64_drv.h didn't trigger any recompiling. Is there
> > something wrong with the dependencies?
> > 
> 
> Yep. You can't depend on dependencies. Verytime I mess in a header I do
> 
>       make -f Makefile.linux clean mach64.o
> 
> 
> > Regards,
> >    Felix
> > 
> 
> José Fonseca
> 
> _______________________________________________________________
> 
> Have big pipes? SourceForge.net is looking for download mirrors. We supply
> the hardware. You get the recognition. Email Us: 
>[EMAIL PROTECTED]
> Dri-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/dri-devel
> 

-- 
Leif Delgass 
http://www.retinalburn.net



_______________________________________________________________

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: 
[EMAIL PROTECTED]
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to