For enabling DMA on Mach64 I'll need to allocate two extra DMA buffers: a primary DMA buffer and a decription table buffer.
The way most cards (R128,MGA) do this is to map (on the DDX) pieces of AGP memory for these extra buffers, but this isn't possible with PCI only cards (i.e., without AGP/PCI GART) because the PCI memory is allocated just when the drmAddBufs call is made and not before with drmAGPAlloc drmScatterGatherAlloc calls. For example, the Gamma driver manages to add more buffers (a page table in this case) by making extra calls to drmAddBufs for allocating them, and then the DRM picks them up in the end of the buffers array, but I find this way not very versatile and a little cumbersome when one has more than one extra buffer to add. My question is if there is any other way to alloc PCI memory and why this assimetry of drmAddBufs behavior when dealing with non-GART memory? (Obviously I think that there should be a specific DRM ioctl to alloc an DMA buffer, e.g., drmAlloc, to map it seperately...) José Fonseca _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel