From: Leif D. <lde...@re...> - 2002-04-30 22:25:13
|
On Tue, 30 Apr 2002, Jos=E9 Fonseca wrote: > On 2002.04.30 13:41 Felix K=FChling wrote: > > Hi, > >=20 > > I tried DMA on the mach64-0-0-4-branch now. All the gl application se= em > > to work fine. But after switching to another console and back (withou= t > > 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 react= s > > very slowly. I get the following kind of messages in/var/log/kern.log > > repeatedly (about one of these blocks per second): > >=20 > > Apr 30 14:24:19 viking kernel: [drm] failed! GUI_STAT=3D0x02000001 > > Apr 30 14:24:19 viking kernel: [drm] mach64_do_wait_for_idle failed > > Apr 30 14:24:19 viking kernel: [drm] resetting engine ... >=20 > This is odd. The card never gets idle but X keeps working so the card i= s=20 > 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 switc= h to MMIO, since it indicates a problem with DMA. I guess we'll need to ad= d a return value to _dispatch_vertex and have _dma_vertex return an error code. =20 > We really need to add variable that indicated if DMA is working or not = so=20 > 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=20 soon. =20 > I wonder if these different behaviours regarding the FIFO & DMA are=20 > related to specific mach64 chip versions? >=20 > >=20 > > 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? > >=20 >=20 > Yep. You can't depend on dependencies. Verytime I mess in a header I do >=20 > make -f Makefile.linux clean mach64.o >=20 >=20 > > Regards, > > Felix > >=20 >=20 > Jos=E9 Fonseca >=20 > _______________________________________________________________ >=20 > Have big pipes? SourceForge.net is looking for download mirrors. We sup= ply > the hardware. You get the recognition. Email Us: bandwidth@sourceforge.= net_______________________________________________ > Dri-devel mailing list > Dri...@li... > https://lists.sourceforge.net/lists/listinfo/dri-devel >=20 --=20 Leif Delgass=20 http://www.retinalburn.net |