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
Ian Romanick
f3072becda
Refactor xgi_(fb|pcie)_free_all into xgi_free_all.
2007-08-06 16:35:07 -07:00
Ian Romanick
90907c5915
Replace per-heap semaphores with drm_device::struct_mutex.
2007-08-06 16:17:23 -07:00
Ian Romanick
f96bff9e21
Unify infrastructure for allocating (not yet freeing) on-card / GART memory.
2007-08-06 16:09:05 -07:00
Ian Romanick
5362cc723e
Eliminate unnecessary function xgi_pcie_free_locked.
2007-08-06 15:52:06 -07:00
Eric Anholt
d749cc9ae8
Initialize the AGP structure's base address at init rather than enable.
...
Not all drivers call enable (intel), but they would still like to use this
member in driver code.
2007-08-06 15:45:37 -07:00
Ian Romanick
a6fb93a150
Finish removing allocation "owner" infrastructure.
2007-08-06 15:43:51 -07:00
Ian Romanick
78e9c1a93d
Eliminate special-case handling of framebuffer (fake) allocation.
2007-08-06 15:37:56 -07:00
Ian Romanick
997a9a738e
Eliminate allocation "owner" usage.
2007-08-06 15:31:34 -07:00
Ben Skeggs
66f5232d93
nouveau: Init global gpuobj list early, unbreaks sgdma code.
2007-08-07 01:52:49 +10:00
Stephane Marchesin
ac24f328ec
nouveau: Bump PCI GART to 16MB
2007-08-06 17:16:05 +02:00
Ben Skeggs
8d5a8ebc31
nouveau: ouch, add nouveau_dma.[ch] files..
2007-08-06 22:32:36 +10:00
Ben Skeggs
92084c6e05
Export some useful ttm functions to drivers.
2007-08-06 22:11:18 +10:00
Ben Skeggs
7a0a812ea4
nouveau: Remove PGRAPH_SURFACE hack, it wont work now anyway.
...
Need to find another way of doing this, ideally someone'd hunt down which
object/method controls it! The Xv blit adaptor is likely now broken on
cards that have pNv->WaitVSyncPossible enabled.
2007-08-06 22:09:15 +10:00
Ben Skeggs
cf04641bc6
nouveau: Give DRM its own gpu channel
...
If your card doesn't have working context switching, it is now broken.
2007-08-06 22:05:31 +10:00
Ben Skeggs
51f24be578
nouveau: Determine trapped channel id from active grctx on >=NV40
2007-08-06 21:46:55 +10:00