Hello. I've been very busy lately at work, and have sadly checked that there have been no progress in the mach64 work, or at least it wasn't posted in this list.
Today I've tried to make gears work under the mach64 drm code. Well, gears just shows a window with rests of KDE initialization screen. I've been debugging the execution and found the following: Neither mach64_dma_clear or mach64_dma_swap are working. This is, in my opinion, the cause for gears just to show a fixed image with some old buffer in it. The things gears does are: 1.-gears gets a back buffer and clears it. 2.-gears draws in the back buffer and swaps buffers for every frame. None of this things are working. I've been looking at the code implementing mach64_dma_clear and mach64_dma_swap (mach64_state.c) and at a first glance I get surprised, because it was using DMA for register writing (like Utah-GLX) with the macro sequence: DMAGETPTR DMAOUTREG DMAADVANCE but looking at those macros implementation, I've found that Gareth was making direct register programming (perhaps while investigating the DMA problem), and so the macros were (mach64_drv.h) : DMAGETPTR(dev_priv,n) = mach64_do_wait_for_fifo(dev_priv,n) DMAOUTREG(reg,val) = MACH64_WRITE(reg,val) DMAADVANCE() = Nothing to do here Some time ago, with another laptop, I tested Gareth's mach64 branch, and it worked (it was with an early XFree 4 version) for me. So, I think that the register manipulation for swaping and clearing are fine. What do you think that could be happening? The only supposition I have is that we're not writing to the correct location. Could this be possible? My drm logs are saying: mmio->offset=0xF4200000 ( in the dma_init function) and testing cat /proc/pci VGA compatible controller: ATI Technologies Inc Rage Mobility P/M AGP 2x (rev 100). IRQ 11. Master Capable. Latency=66. Min Gnt=8. Non-prefetchable 32 bit memory at 0xf5000000 [0xf5ffffff]. I/O at 0x2000 [0x20ff]. Non-prefetchable 32 bit memory at 0xf4200000 [0xf4200fff]. Could be that the aperture notified in the 'cat /proc/pci' is not the one we are looking for? I don't think so, it's size is fine, and I cant' imagine what other thing could it be. Could the auxiliar aperture be disabled? ATI's documentation says that the auxiliar aperture is always enabled. Perhaps all the problem is derived from a bad initialization in the 2d driver code. Frank, have you found something new about this? Well, I would like you to give me some idea about what could be happening. I think that the two problems (no swapping nor clearing and BusMastering trouble) could share the same seed. BTW. Somebody said that the mach64 driver crashed under 2.4.10 kernel (I don't remember who said it). I've made all these tests under 2.4.12 without problems. Best regards. -- M. Teira _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel