Commit graph

14 commits

Author SHA1 Message Date
Leif Delgass
c3e3c95731 - interrupt-driven DMA framework written by Frank C. Earl (merged from
mach64-0-0-3-dma-branch)
- I've partly filled in the dma_dispatch implementation from the vertex
    dispatch code. We still need to deal with adding a register reset
    buffer to the end of the dma pass. The freelist and blits are also
    still to be filled in.
- I've added XF86Config options for the driver: ForcePCIMode - Don't use
    AGP for buffers/textures, even if agpgart is present PseudoDMAMode -
    Dispatch DMA buffers with MMIO, one register at a time. AgpMode - 1 or
    2 AgpSize - Size of AGP aperture to use for allocations BufferSize -
    Size of vertex buffers in MB (1 or 2)
2002-05-08 05:32:52 +00:00
Leif Delgass
95417f81a9 Fix typo in last commit (cleanup fix) 2002-05-01 21:12:35 +00:00
Leif Delgass
7379023cec Fix bug in _do_cleanup_dma with freeing descriptor table 2002-05-01 20:59:22 +00:00
Leif Delgass
10b06bc8b3 fix buffer size in descriptor for DMA test. 2002-05-01 00:14:07 +00:00
Leif Delgass
265b19947c Enable/disable DMA based on result of gui-mastering test. MMIO mode can
still be forced at compile time by setting MACH64_USE_DMA to 0.
DMA test now uses already allocated pci pool memory for descriptor table
    and allocates a temporary dma buffer from the pool. This should
    probabaly be changed to use one of our mapped vertex/dma buffers.
Also, return error code if _dispatch_vertex causes a lockup, either with
    DMA (wait for idle fails) or MMIO (wait for fifo times out).
2002-05-01 00:10:29 +00:00
Leif Delgass
2558b54aa0 Byte swapping for vertex DMA data and DMA descriptors 2002-04-28 04:33:56 +00:00
Leif Delgass
40a9e22bf9 Initial hacked-up code for synchronous DMA of vertex buffers (disabled but
functional for both PCI and AGP). 16 KB descriptor table is created by
    the drm and the handles stored in the device private structure.
Finish setup of AGP -- AGP registers are now initialized.
Fix up MMIO for PCI.
2002-04-26 21:57:07 +00:00
Jose Fonseca
c04bb660f4 Better support for kernel ring buffers. Changes to allow the evetual use of
buffer aging.
2002-04-23 23:47:09 +00:00
Leif Delgass
bd00770298 Add agp texture region info to DRM. Also, use DMA* macros for DRM
emit_state functions. This ensures a wait_for_fifo for the MMIO writes.
2002-04-20 20:11:08 +00:00
Jose Fonseca
c0622174af Code restructuring to be more similar to the existing drivers.
Implementation of several functions to support the handling of DMA
    buffers. The DMA emulation code is disabled because it segfaults when
    trying to read the DMA buffer.
2002-04-19 07:12:32 +00:00
Jose Fonseca
b7ff3cdd0f Removal of erroneous PCI GART code. Better support for PCI cards. More
robustness in the DRM DMA initialization code.
2002-04-15 00:51:14 +00:00
Jose Fonseca
572ee321d9 Error checking when mapping as is done in other drivers 2002-04-12 13:02:26 +00:00
Jose Fonseca
fe04858d8c Prevent from reading from AGP related registers to avoid lockup in PCI
cards.
2002-04-05 01:02:22 +00:00
Jose Fonseca
9448f35c3b Initial merge with the trunk (XFree 4.2.x, Mesa 4.x) 2002-02-26 22:02:37 +00:00