summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-07-09Fix ioctl types.Ian Romanick
I had moved code from xgi_drv.h to xgi_drm.h before changing the ioctl types for XGI_IOCTL_(FB|PCIE)_ALLOC.
2007-07-09Eliminiate fields in xgi_info that are duplicates of fields in pci_dev.Ian Romanick
2007-07-09Move types shared with user mode to xgi_drm.h.Ian Romanick
2007-07-09Correct types that are shared with user mode.Ian Romanick
2007-07-09Adjust the types of the fields of xgi_aperture.Ian Romanick
2007-07-09Merge xgi_mem_req and xgi_mem_alloc into a single type.Ian Romanick
These two structures were used as the request and reply for certain ioctls. Having a different type for an ioctl's input and output is just wierd. In addition, each structure contained fields (e.g., pid) that had no business being there. This change requires updates to user-space.
2007-07-09nouveau: Allocate mappable VRAM for notifiers..Ben Skeggs
2007-07-09nouveau: Don't be so strict on <NV50Ben Skeggs
2007-07-09nouveau: Avoid oopsBen Skeggs
Turns out lastclose() gets called even if firstopen() has never been...
2007-07-09nouveau/nv50: Initial channel/object supportBen Skeggs
Should be OK on G84 for a single channel, multiple channels *almost* work. Untested on G80.
2007-07-09nouveau: enable reporting for all PFIFO/PGRAPH irqsBen Skeggs
2007-07-09nouveau: rewrite gpu object codeBen Skeggs
Allows multiple references to a single object, needed to support PCI(E)GART scatter-gather DMA objects which would quickly fill PRAMIN if each channel had its own. Handle per-channel private instmem areas. This is needed to support NV50, but might be something we want to do on earlier chipsets at some point? Everything that touches PRAMIN is a GPU object.
2007-07-05Remove XGI_IOCTL_CPUID and associated cruft.Ian Romanick
2007-07-05Major clean up of xgi_ge_irq_handlerIan Romanick
Two large blocks of code were moved out of this function into separate functions. This brought some much needed sanity to the indentation. Some dead varaibles were removed.
2007-07-05Convert weird rtdsc usage to get_cycles.Ian Romanick
I'm not convinced that get_cycles is the right approach here, but it's better than the weird way that rtdsc was being used.
2007-07-03Use idr_replace trick to eliminate struct drm_ctx_sarea_list.Kristian Høgsberg
2007-07-03Don't take dev->struct_mutex twice in drm_setsareactx.Kristian Høgsberg
2007-07-03One more spinlock initializer cleanup.Michel Dänzer
2007-07-03Simplification for previous commit.Michel Dänzer
Dave Airlie pointed out on IRC that idr_replace lets us know if the ID hasn't been allocated, so we don't need a special pointer value for allocated IDs that don't have valid information yet.
2007-07-03Restore pre-idr semantics for drawable information.Michel Dänzer
There's a difference between a drawable ID not having valid drawable information and not being allocated at all. Not making the distinction would break i915 DRM swap scheduling with older X servers that don't push drawable cliprect information to the DRM.
2007-07-02Fix must-check warnings and implement a few error paths.Kristian Høgsberg
2007-07-02Drop drm_drawable_list and add drm_drawable_info directly to the idr.Kristian Høgsberg
2007-06-29Convert a few more U32 variables to more appropriate, generic types.Ian Romanick
2007-06-29Convert xgi_mem_location enum values to less generic names.Ian Romanick
2007-06-29Convert open coded list iterators to either list_for_each_entry or ↵Ian Romanick
list_for_each_entry_safe
2007-06-29Clean up xgi_pcie_heap_checkIan Romanick
The whole purpose of xgi_pcie_heap_check is to log information about entries on the used_list. If XGI_DEBUG is not set, it doesn't print anything. Therefore we can #ifdef the whole function body. Convert open-code list iteration to use list_for_each_entry.
2007-06-29Stop-gap fix in xgi_submit_cmdlistIan Romanick
Comment in the code explains it. Basically, I put an if-statement around a block of code to prevent a NULL pointer dereference that should never happen in the first place. Eventually, this will need to come out.
2007-06-29Convert some PCI-e GART related variable to generic types.Ian Romanick
A few of the PCI-e GART related fields in struct xgi_info were hardcoded to u32. None of them need to be. Convert them to either unsigned int or bool.
2007-06-29Delete unused arrays s_emptyBegin and s_flush2D.Ian Romanick
2007-06-29Replace U(8|16) with u(8|16).Ian Romanick
2007-06-29Eliminate unnecessary defines of TRUE and FALSE.Ian Romanick
2007-06-29Replace BOOL with bool.Ian Romanick
2007-06-29Eliminate unused integer and float typedefs.Ian Romanick
2007-06-29Eliminate structure typedefsIan Romanick
Documentation/CodingStyle says that 'typedef struct foo foo_t' is evil. I tend to agree. Elminate all uses of such construct.
2007-06-29Fix return type of xgi_find_pcie_block.Ian Romanick
This function used to return 'void *', which was then cast to 'xgi_pcie_block_t *' at the only caller. I changed the return type to 'struct xgi_pcie_block_s *' and removed the explicit cast.
2007-06-29Avoid hitting BUG() for kernel-only fence objects.Thomas Hellstrom
2007-06-29Fence object reference / dereference cleanup.Thomas Hellstrom
Buffer object dereference cleanup. Add a struct drm_device member to fence objects: This can simplify code, particularly in drivers.
2007-06-28Remove unused type 'struct xgi_pcie_list_s' / xgi_pcie_list_t.Ian Romanick
2007-06-28Minor clean up of variable declarations in xgi_find_pcie_virt.Ian Romanick
2007-06-28Clean up debug log messages in xgi_find_pcie_block.Ian Romanick
2007-06-28Convert comment header of xgi_find_pcie_virt to kernel doc format.Ian Romanick
2007-06-29nouveau: small RAMFC cleanupsBen Skeggs
2007-06-28nouveau: Hack around possible Xv blit adaptor breakageBen Skeggs
2007-06-28nouveau/nv10: Fix earlier NV1x chipsBen Skeggs
Can't use nv04 code for them, since an extra field was inserted into RAMFC after DMA_PUT/GET.
2007-06-28nouveau: never touch PRAMIN with NV_WRITE, cleanup RAMHT code a bitBen Skeggs
2007-06-28nouveau: simplify PRAMIN accessBen Skeggs
2007-06-28nouveau: name some regsBen Skeggs
2007-06-28nouveau/nv50: skeletal backendBen Skeggs
2007-06-28nouveau: Nuke DMA_OBJECT_INIT ioctl (bumps interface to 0.0.7)Ben Skeggs
For various reasons, this ioctl was a bad idea. At channel creation we now automatically create DMA objects covering available VRAM and GART memory, where the client used to do this themselves. However, there is still a need to be able to create DMA objects pointing at specific areas of memory (ie. notifiers). Each channel is now allocated a small amount of memory from which a client can suballocate things (such as notifiers), and have a DMA object created which covers the suballocated area. The NOTIFIER_ALLOC ioctl exposes this functionality.
2007-06-28nouveau/nv04: Set NV_PFIFO_CACHE1_PUSH1 correctly + small tweaksBen Skeggs