Commit Graph

4477 Commits (af90222c4570ca07c6983f60ebe46c35bc980495)

Author SHA1 Message Date
Ben Skeggs 8a4d7f34d9 nouveau: Detect memory on NFORCE/NFORCE2 correctly. 2007-08-17 01:12:46 +10:00
Ian Romanick d8a800b63d Implement fence support. 2007-08-15 21:05:26 -07:00
Eric Anholt b668d6d905 Fix dev->agp->base initialization on BSD, and fix addmap range check on Linux.
With the previous linux commit, an AGP aperture at the end of the address space
would have wrapped to 0 and the test would have failed.
2007-08-15 14:29:31 -07:00
Eric Anholt 6e93c35ba7 BSD: Return EINVAL if drm_unlock is called on an unheld or other-owner lock. 2007-08-15 13:42:04 -07:00
Eric Anholt 9254e00e4b Add a set of tests for DRM locking, exposing issues on BSD. 2007-08-15 13:41:24 -07:00
Eric Anholt 8a1ca401b4 Fix a bad error message in auth.c regression test. 2007-08-15 13:13:24 -07:00
Eric Anholt d1a2b26a99 Require master in setversion test, since it requires auth. 2007-08-15 13:08:19 -07:00
vehemens a9ee144eab BSD: simplify drm_ioctl() after other refactoring. 2007-08-15 11:12:46 -07:00
vehemens 4cdd871e90 Bug #11989: Fix regression in getstats ioctl (kernel panic). 2007-08-15 11:06:49 -07:00
Eric Anholt 56133e04de BSD: Fix regression in setversion ioctl (current version not returned). 2007-08-15 11:06:49 -07:00
Eric Anholt a23a47b16c Add a regression test for the setversion interface. 2007-08-15 11:06:49 -07:00
Eric Anholt 8a881b47f7 Add simple regression test for getstats (does it not crash the kernel?). 2007-08-15 11:06:49 -07:00
Eric Anholt 5346fc5f36 BSD: Replace brief description in each file's first line with doxygen later on.
The brief descriptions usually had the wrong filename in them.
2007-08-15 11:06:49 -07:00
Ben Skeggs 10f9b7bd0b nouveau: Use count parameter in nouveau_notifier_alloc(). 2007-08-15 14:14:23 +10:00
Ben Skeggs a615d2fde7 nouveau: Turn some messages into DRM_DEBUGs.. 2007-08-15 14:01:35 +10:00
Ben Skeggs c3faa589b0 nouveau: Allow GART notifiers when using sgdma code. 2007-08-15 13:36:54 +10:00
Ben Skeggs ee01d3755a nouveau: Workaround mysterious PRAMIN clobbering by the card. 2007-08-15 13:34:57 +10:00
Ian Romanick f563a50d14 Eliminate unused / useless ioctls. 2007-08-14 13:44:51 -07:00
Ian Romanick 7b12174aac Clean up remaining C++ style comments. 2007-08-14 13:24:02 -07:00
Ian Romanick d3c8e98dd9 Move dwWriteReg to xgi_cmdlist.c, the only file where it is used. 2007-08-14 13:20:37 -07:00
Ian Romanick be76f0eea9 Remove unused interrupt related functions. 2007-08-14 13:19:48 -07:00
Ian Romanick 891714d8d7 Clean up xgi_(en|dis)able_(mmio|ge) and move to xgi_misc.c. 2007-08-14 13:18:44 -07:00
Ben Skeggs a6ea60c77e nouveau: Catch all NV4x chips instead of just NV_40. 2007-08-15 01:40:46 +10:00
Ben Skeggs 02c4e0e757 nouveau/nv40: Fix channel scheduling.
Ensure NV_PFIFO_DMA_TIMESLICE_TIMEOUT_ENABLE gets set, otherwise channels
will appear to "freeze" in some circumstances.
2007-08-15 01:04:41 +10:00
Eric Anholt 3ee211f4f7 Bug #11895: Only add the AGP base to map offset if the caller didn't.
The i830 and newer intel 2D code adds the AGP base to map offsets already,
because it wasn't doing the AGP enable which used to set dev->agp->base.

Credit goes to Zhenyu for finding the issue.
2007-08-13 16:32:32 -07:00
Ian Romanick 15f841bd52 Strobe magic 0xB03F register to flush PCI-e GART table.
The original XGI kernel driver strobed 0xB03F each time a page was
allocated to back a GART page.  When the driver was converted to use
the DRM SG interface, this code was lost.  Returning it fixes a long
standing issue where the X-server would work fine the first time, but
acceleration commands would be ignored on the second X-server
invocation.
2007-08-13 16:21:20 -07:00
vehemens 4340f49bf7 Bug #11951: Fix an errno sign inversion on pre-FreeBSD 5.
Also, annotate where signs change, to hopefully remind the reader of these
issues in the future.
2007-08-13 11:36:10 -07:00
Eric Anholt d6a45ebf0e Add a regression test for authentication. 2007-08-13 11:27:46 -07:00
Eric Anholt 3b07a37a48 Add doxygen and fix whitespace for drm_auth.c 2007-08-13 10:50:25 -07:00
vehemens 263775c454 Fix drm_auth.c locking to not recurse on dev_lock. 2007-08-13 10:24:39 -07:00
Dave Airlie da27986870 i915: i965 non-secure batchbuffer bit has moved. 2007-08-11 08:57:53 +10:00
Ben Skeggs a46104674f nouveau/nv50: demagic instmem setup. 2007-08-10 14:22:50 +10:00
Ben Skeggs 39907f613b nouveau: Allow creation of gpuobjs before any other init has taken place. 2007-08-10 13:53:10 +10:00
Ian Romanick 20a0e5e429 After calling drm_sman_cleanup, mark both heaps as uninitialized.
Since the heaps weren't marked as uninitialized, SG memory was never
re-allocated.  This prevented the X-server from being able to restart
without re-loading the kernel module.
2007-08-09 18:57:15 -07:00
Ian Romanick 06e09842df Use DRM_MEMORYBARRIER() macro instead of mb(). 2007-08-09 18:28:16 -07:00
Ian Romanick 371f0a4d41 Mask off correct bits in M2REG_AUTO_LINK_STATUS for interrupt handling. 2007-08-09 18:15:42 -07:00
Ian Romanick 6dd97099ea Minor clean up of IRQ code. Much, much more to come. 2007-08-09 16:20:44 -07:00
Ian Romanick dbd4d0597f Use sman memory manager instead of internal version. 2007-08-09 16:01:14 -07:00
Ian Romanick aea6b4dea9 Unify alloc and free ioctls.
The DRM_XGI_PCIE_ALLOC and DRM_XGI_FB_ALLOC ioctls (and the matching
free ioctls) are unified to DRM_XGI_ALLOC.  The desired memory region
is selected by xgi_mem_alloc::location.  The region is magically
encoded in xgi_mem_alloc::index, which is used to release the memory.

Bump to version 0.11.0.  This update requires a new DDX.
2007-08-09 15:30:36 -07:00
Ian Romanick 25cb876f85 Associate master file pointer with command list buffer.
Pass the master's file pointer, as supplied to xgi_bootstrap, to
xgi_cmdlist_initialize.  Associate that pointer with the memory
allocated for the command list buffer.  By doing this the memory will
be automatically cleaned up when the master closes the device.  This
allows the removal of some clean up code.
2007-08-09 15:23:13 -07:00
Ben Skeggs 7784e8c6e7 nouveau: silence irq handler a bit 2007-08-09 11:12:13 +10:00
Ben Skeggs 7281463f8d nouveau/nv40: add some missing pciids. 2007-08-09 10:23:36 +10:00
Matthieu Castet e326acf549 nouveau : nv10, nv20, nv30 : don't save all channel in the same RAMFC entry
This should improve multi fifo
2007-08-08 22:55:32 +02:00
Ben Skeggs 05633ca370 nouveau: Always allocate drm's push buffer in VRAM
Fixes #11868
2007-08-08 16:37:55 +10:00
Ben Skeggs 40f2156356 nouveau: return channel id 2007-08-08 16:12:19 +10:00
Ben Skeggs 296050eee6 nouveau/nv50: hack up initial channel context from current state
We really should be providing static values like the nv40 PGRAPH code does,
however, this will do for now to keep X at least working.
2007-08-08 13:01:29 +10:00
Ben Skeggs 4ad487190d nouveau: enable/disable engine-specific interrupts in _init()/_takedown()
All interrupts are still masked by PMC until init is finished.
2007-08-08 10:49:05 +10:00
Matthieu Castet a4759b8513 nouveau : fix enable irq (in the previous code all irq were masked by engine
init after irq_postinstall)
2007-08-07 23:09:44 +02:00
Ian Romanick f7ba02b745 Unify infrastructure for freeing on-card / GART memory. 2007-08-06 17:27:15 -07:00
Ian Romanick 6718198897 Release client memory in reclaim_buffers_idlelocked instead of preclose. 2007-08-06 16:56:20 -07:00