platform/upstream/libdrm.git
16 years agoMerge branch 'xgi-0-0-2'
Ian Romanick [Thu, 6 Sep 2007 22:37:52 +0000 (15:37 -0700)]
Merge branch 'xgi-0-0-2'

16 years agoBump version to 1.0.0.
Ian Romanick [Thu, 6 Sep 2007 22:20:52 +0000 (15:20 -0700)]
Bump version to 1.0.0.

16 years agonouveau: fix some nv04 graph switching.
Stephane Marchesin [Thu, 6 Sep 2007 00:46:45 +0000 (02:46 +0200)]
nouveau: fix some nv04 graph switching.

16 years agonouveau: add pure nv30 support.
Stephane Marchesin [Thu, 6 Sep 2007 00:12:05 +0000 (02:12 +0200)]
nouveau: add pure nv30 support.

16 years agoAdd context init voodoo and context switch code for NV41.
Maarten Maathuis [Tue, 4 Sep 2007 16:51:57 +0000 (18:51 +0200)]
Add context init voodoo and context switch code for NV41.

16 years agoMerge branch 'master' of ssh+git://git.freedesktop.org/git/mesa/drm into xgi-0-0-2
Ian Romanick [Fri, 31 Aug 2007 17:54:55 +0000 (10:54 -0700)]
Merge branch 'master' of ssh+git://git.freedesktop.org/git/mesa/drm into xgi-0-0-2

16 years agoAcutally emit the IRQ (duh) when setting the fence post.
Ian Romanick [Fri, 31 Aug 2007 17:48:13 +0000 (10:48 -0700)]
Acutally emit the IRQ (duh) when setting the fence post.

16 years agonouveau: nv04 context switching support. Works for starting X up at least.
Stephane Marchesin [Thu, 30 Aug 2007 23:39:40 +0000 (01:39 +0200)]
nouveau: nv04 context switching support. Works for starting X up at least.

16 years agonouveau: give nv03 the last cut.
Stephane Marchesin [Thu, 30 Aug 2007 19:51:53 +0000 (21:51 +0200)]
nouveau: give nv03 the last cut.

16 years agoUse ati_pcigart for PCI-e GART table handling.
Ian Romanick [Wed, 29 Aug 2007 21:41:49 +0000 (14:41 -0700)]
Use ati_pcigart for PCI-e GART table handling.

16 years agoFix late night dumb-dumb mistake.
Ian Romanick [Wed, 29 Aug 2007 07:23:30 +0000 (00:23 -0700)]
Fix late night dumb-dumb mistake.

16 years agoUse DRM_SPINLOCK / DRM_UNSPINLOCK macros.
Ian Romanick [Wed, 29 Aug 2007 07:04:18 +0000 (00:04 -0700)]
Use DRM_SPINLOCK / DRM_UNSPINLOCK macros.

16 years agoAdd register defines for hw binning
Keith Packard [Tue, 28 Aug 2007 19:23:51 +0000 (12:23 -0700)]
Add register defines for hw binning

16 years agodrm: remove XFREE86_VERSION macros
Dave Airlie [Tue, 28 Aug 2007 05:17:11 +0000 (15:17 +1000)]
drm: remove XFREE86_VERSION macros

16 years agonouveau : add NV04_PGRAPH_TRAPPED_ADDR definition
Matthieu Castet [Sun, 26 Aug 2007 18:48:32 +0000 (20:48 +0200)]
nouveau : add NV04_PGRAPH_TRAPPED_ADDR definition

- fix offset for nv04
- use it in nv10 graph ctx switch for getting next channel
- dump NV10_PGRAPH_TRAPPED_DATA_HIGH on nv10+

16 years agonouveau : nv1x graph reworks
Matthieu Castet [Sat, 25 Aug 2007 20:10:45 +0000 (22:10 +0200)]
nouveau : nv1x graph reworks

- add forgotten init value
- use the same PGRAPH_DEBUG than the blob
- remove init of ddx reg : it should be done with object
- better handle of channel destruction

hope I didn't break anything ;)

16 years agonouveau: nv10: output a warning if last channel invalid, and switch to next
Patrice Mandin [Fri, 24 Aug 2007 22:12:58 +0000 (00:12 +0200)]
nouveau: nv10: output a warning if last channel invalid, and switch to next

16 years agonouveau: nv10: check some NULL pointers inside context switch
Patrice Mandin [Thu, 23 Aug 2007 08:18:34 +0000 (10:18 +0200)]
nouveau: nv10: check some NULL pointers inside context switch

16 years agonouveau : fix some potential crashes with objects causing hash collision
Matthieu Castet [Wed, 22 Aug 2007 21:17:56 +0000 (23:17 +0200)]
nouveau : fix some potential crashes with objects causing hash collision

16 years agonouveau/nv40: Preserve other bits in 0x400304/0x400310 like NVIDIA do.
Ben Skeggs [Wed, 22 Aug 2007 03:23:49 +0000 (13:23 +1000)]
nouveau/nv40: Preserve other bits in 0x400304/0x400310 like NVIDIA do.

16 years agonouveau/nv40: Dump extra info on ucode state if ctx switch fails.
Ben Skeggs [Wed, 22 Aug 2007 03:17:19 +0000 (13:17 +1000)]
nouveau/nv40: Dump extra info on ucode state if ctx switch fails.

16 years agonouveau: NV4c ctx ucode.
Ben Skeggs [Wed, 22 Aug 2007 03:09:27 +0000 (13:09 +1000)]
nouveau: NV4c ctx ucode.

Seems we already have a nv4c_ctx_init() somehow, a quick check shows the
ucode matches it still.

16 years agonouveau/nv50: Correct thinko for 8800 chips + cleanup a bit.
Ben Skeggs [Wed, 22 Aug 2007 02:54:26 +0000 (12:54 +1000)]
nouveau/nv50: Correct thinko for 8800 chips + cleanup a bit.

16 years agonouveau: redo nv30_graph.c. Should work better, but we still lack a couple of cards.
Stephane Marchesin [Wed, 22 Aug 2007 02:20:09 +0000 (04:20 +0200)]
nouveau: redo nv30_graph.c. Should work better, but we still lack a couple of cards.

16 years agonouveau: fix the comment and debug message for PCIGART size
Stephane Marchesin [Mon, 6 Aug 2007 15:42:31 +0000 (17:42 +0200)]
nouveau: fix the comment and debug message for PCIGART size

16 years agonouveau: Add NV44 ctx ucode. Patch from stillunknown.
Ben Skeggs [Mon, 20 Aug 2007 16:23:21 +0000 (02:23 +1000)]
nouveau: Add NV44 ctx ucode.  Patch from stillunknown.

Microcode is similar enough to the NV4A one that it should be able to use
the same initial PGRAPH context.  One day this mess will go away, honest..

16 years agonouveau: Poke 0x2230 on NV47 also.
Ben Skeggs [Mon, 20 Aug 2007 16:18:27 +0000 (02:18 +1000)]
nouveau: Poke 0x2230 on NV47 also.

Makes 0x2220 work the same way as on NV40.

16 years agoCheck also for Linux, as it's not supported on different OS
Patrice Mandin [Sun, 19 Aug 2007 16:45:01 +0000 (18:45 +0200)]
Check also for Linux, as it's not supported on different OS

16 years agoFunction pci_get_bus_and_slot needs 2.6.19 or later
Patrice Mandin [Sun, 19 Aug 2007 16:41:18 +0000 (18:41 +0200)]
Function pci_get_bus_and_slot needs 2.6.19 or later

16 years agoRemove unnecessary include.
Ian Romanick [Fri, 17 Aug 2007 17:53:18 +0000 (10:53 -0700)]
Remove unnecessary include.

16 years agoForgot to add this file on the last commit.
Ian Romanick [Thu, 16 Aug 2007 20:43:04 +0000 (13:43 -0700)]
Forgot to add this file on the last commit.

16 years agonouveau: Detect memory on NFORCE/NFORCE2 correctly.
Ben Skeggs [Thu, 16 Aug 2007 15:12:46 +0000 (01:12 +1000)]
nouveau: Detect memory on NFORCE/NFORCE2 correctly.

16 years agoImplement fence support.
Ian Romanick [Thu, 16 Aug 2007 04:05:26 +0000 (21:05 -0700)]
Implement fence support.

16 years agoFix dev->agp->base initialization on BSD, and fix addmap range check on Linux.
Eric Anholt [Wed, 15 Aug 2007 21:29:31 +0000 (14:29 -0700)]
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.

16 years agoBSD: Return EINVAL if drm_unlock is called on an unheld or other-owner lock.
Eric Anholt [Wed, 15 Aug 2007 20:42:04 +0000 (13:42 -0700)]
BSD: Return EINVAL if drm_unlock is called on an unheld or other-owner lock.

16 years agoAdd a set of tests for DRM locking, exposing issues on BSD.
Eric Anholt [Wed, 15 Aug 2007 20:41:24 +0000 (13:41 -0700)]
Add a set of tests for DRM locking, exposing issues on BSD.

16 years agoFix a bad error message in auth.c regression test.
Eric Anholt [Wed, 15 Aug 2007 20:13:24 +0000 (13:13 -0700)]
Fix a bad error message in auth.c regression test.

16 years agoRequire master in setversion test, since it requires auth.
Eric Anholt [Wed, 15 Aug 2007 20:08:19 +0000 (13:08 -0700)]
Require master in setversion test, since it requires auth.

16 years agoBSD: simplify drm_ioctl() after other refactoring.
vehemens [Wed, 15 Aug 2007 18:12:46 +0000 (11:12 -0700)]
BSD: simplify drm_ioctl() after other refactoring.

16 years agoBug #11989: Fix regression in getstats ioctl (kernel panic).
vehemens [Wed, 15 Aug 2007 18:05:44 +0000 (11:05 -0700)]
Bug #11989: Fix regression in getstats ioctl (kernel panic).

16 years agoBSD: Fix regression in setversion ioctl (current version not returned).
Eric Anholt [Wed, 15 Aug 2007 18:04:56 +0000 (11:04 -0700)]
BSD: Fix regression in setversion ioctl (current version not returned).

16 years agoAdd a regression test for the setversion interface.
Eric Anholt [Wed, 15 Aug 2007 18:03:10 +0000 (11:03 -0700)]
Add a regression test for the setversion interface.

16 years agoAdd simple regression test for getstats (does it not crash the kernel?).
Eric Anholt [Wed, 15 Aug 2007 17:52:01 +0000 (10:52 -0700)]
Add simple regression test for getstats (does it not crash the kernel?).

16 years agoBSD: Replace brief description in each file's first line with doxygen later on.
Eric Anholt [Tue, 14 Aug 2007 21:41:24 +0000 (14:41 -0700)]
BSD: Replace brief description in each file's first line with doxygen later on.

The brief descriptions usually had the wrong filename in them.

16 years agonouveau: Use count parameter in nouveau_notifier_alloc().
Ben Skeggs [Wed, 15 Aug 2007 04:14:23 +0000 (14:14 +1000)]
nouveau: Use count parameter in nouveau_notifier_alloc().

16 years agonouveau: Turn some messages into DRM_DEBUGs..
Ben Skeggs [Wed, 15 Aug 2007 03:53:58 +0000 (13:53 +1000)]
nouveau: Turn some messages into DRM_DEBUGs..

16 years agonouveau: Allow GART notifiers when using sgdma code.
Ben Skeggs [Wed, 15 Aug 2007 03:36:54 +0000 (13:36 +1000)]
nouveau: Allow GART notifiers when using sgdma code.

16 years agonouveau: Workaround mysterious PRAMIN clobbering by the card.
Ben Skeggs [Wed, 15 Aug 2007 03:34:57 +0000 (13:34 +1000)]
nouveau: Workaround mysterious PRAMIN clobbering by the card.

16 years agoEliminate unused / useless ioctls.
Ian Romanick [Tue, 14 Aug 2007 20:44:51 +0000 (13:44 -0700)]
Eliminate unused / useless ioctls.

16 years agoClean up remaining C++ style comments.
Ian Romanick [Tue, 14 Aug 2007 20:24:02 +0000 (13:24 -0700)]
Clean up remaining C++ style comments.

16 years agoMove dwWriteReg to xgi_cmdlist.c, the only file where it is used.
Ian Romanick [Tue, 14 Aug 2007 20:20:37 +0000 (13:20 -0700)]
Move dwWriteReg to xgi_cmdlist.c, the only file where it is used.

16 years agoRemove unused interrupt related functions.
Ian Romanick [Tue, 14 Aug 2007 20:19:48 +0000 (13:19 -0700)]
Remove unused interrupt related functions.

16 years agoClean up xgi_(en|dis)able_(mmio|ge) and move to xgi_misc.c.
Ian Romanick [Tue, 14 Aug 2007 20:18:44 +0000 (13:18 -0700)]
Clean up xgi_(en|dis)able_(mmio|ge) and move to xgi_misc.c.

16 years agonouveau: Catch all NV4x chips instead of just NV_40.
Ben Skeggs [Tue, 14 Aug 2007 15:40:46 +0000 (01:40 +1000)]
nouveau: Catch all NV4x chips instead of just NV_40.

16 years agonouveau/nv40: Fix channel scheduling.
Ben Skeggs [Tue, 14 Aug 2007 14:56:24 +0000 (00:56 +1000)]
nouveau/nv40: Fix channel scheduling.

Ensure NV_PFIFO_DMA_TIMESLICE_TIMEOUT_ENABLE gets set, otherwise channels
will appear to "freeze" in some circumstances.

16 years agoBug #11895: Only add the AGP base to map offset if the caller didn't.
Eric Anholt [Mon, 13 Aug 2007 23:29:24 +0000 (16:29 -0700)]
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.

16 years agoStrobe magic 0xB03F register to flush PCI-e GART table.
Ian Romanick [Mon, 13 Aug 2007 23:21:20 +0000 (16:21 -0700)]
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.

16 years agoBug #11951: Fix an errno sign inversion on pre-FreeBSD 5.
vehemens [Mon, 13 Aug 2007 17:17:47 +0000 (10:17 -0700)]
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.

16 years agoAdd a regression test for authentication.
Eric Anholt [Mon, 13 Aug 2007 18:27:46 +0000 (11:27 -0700)]
Add a regression test for authentication.

16 years agoAdd doxygen and fix whitespace for drm_auth.c
Eric Anholt [Mon, 13 Aug 2007 17:50:25 +0000 (10:50 -0700)]
Add doxygen and fix whitespace for drm_auth.c

16 years agoFix drm_auth.c locking to not recurse on dev_lock.
vehemens [Mon, 13 Aug 2007 17:24:39 +0000 (10:24 -0700)]
Fix drm_auth.c locking to not recurse on dev_lock.

16 years agoi915: i965 non-secure batchbuffer bit has moved.
Dave Airlie [Mon, 6 Aug 2007 08:33:29 +0000 (18:33 +1000)]
i915: i965 non-secure batchbuffer bit has moved.

16 years agonouveau/nv50: demagic instmem setup.
Ben Skeggs [Fri, 10 Aug 2007 03:54:26 +0000 (13:54 +1000)]
nouveau/nv50: demagic instmem setup.

16 years agonouveau: Allow creation of gpuobjs before any other init has taken place.
Ben Skeggs [Fri, 10 Aug 2007 03:53:10 +0000 (13:53 +1000)]
nouveau: Allow creation of gpuobjs before any other init has taken place.

16 years agoAfter calling drm_sman_cleanup, mark both heaps as uninitialized.
Ian Romanick [Fri, 10 Aug 2007 01:57:15 +0000 (18:57 -0700)]
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.

16 years agoUse DRM_MEMORYBARRIER() macro instead of mb().
Ian Romanick [Fri, 10 Aug 2007 01:28:16 +0000 (18:28 -0700)]
Use DRM_MEMORYBARRIER() macro instead of mb().

16 years agoMask off correct bits in M2REG_AUTO_LINK_STATUS for interrupt handling.
Ian Romanick [Fri, 10 Aug 2007 01:15:42 +0000 (18:15 -0700)]
Mask off correct bits in M2REG_AUTO_LINK_STATUS for interrupt handling.

16 years agoMinor clean up of IRQ code. Much, much more to come.
Ian Romanick [Thu, 9 Aug 2007 23:20:44 +0000 (16:20 -0700)]
Minor clean up of IRQ code.  Much, much more to come.

16 years agoUse sman memory manager instead of internal version.
Ian Romanick [Thu, 9 Aug 2007 23:01:14 +0000 (16:01 -0700)]
Use sman memory manager instead of internal version.

16 years agoUnify alloc and free ioctls.
Ian Romanick [Thu, 9 Aug 2007 22:30:36 +0000 (15:30 -0700)]
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.

16 years agoAssociate master file pointer with command list buffer.
Ian Romanick [Thu, 9 Aug 2007 22:23:13 +0000 (15:23 -0700)]
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.

16 years agonouveau: silence irq handler a bit
Ben Skeggs [Thu, 9 Aug 2007 01:12:13 +0000 (11:12 +1000)]
nouveau: silence irq handler a bit

16 years agonouveau/nv40: add some missing pciids.
Ben Skeggs [Thu, 9 Aug 2007 00:23:36 +0000 (10:23 +1000)]
nouveau/nv40: add some missing pciids.

16 years agonouveau : nv10, nv20, nv30 : don't save all channel in the same RAMFC entry
Matthieu Castet [Wed, 8 Aug 2007 20:55:32 +0000 (22:55 +0200)]
nouveau : nv10, nv20, nv30 : don't save all channel in the same RAMFC entry

  This should improve multi fifo

16 years agonouveau: Always allocate drm's push buffer in VRAM
Ben Skeggs [Wed, 8 Aug 2007 06:37:55 +0000 (16:37 +1000)]
nouveau: Always allocate drm's push buffer in VRAM

Fixes #11868

16 years agonouveau: return channel id
Ben Skeggs [Wed, 8 Aug 2007 06:11:28 +0000 (16:11 +1000)]
nouveau: return channel id

16 years agonouveau/nv50: hack up initial channel context from current state
Ben Skeggs [Wed, 8 Aug 2007 03:01:29 +0000 (13:01 +1000)]
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.

16 years agonouveau: enable/disable engine-specific interrupts in _init()/_takedown()
Ben Skeggs [Wed, 8 Aug 2007 00:42:12 +0000 (10:42 +1000)]
nouveau: enable/disable engine-specific interrupts in _init()/_takedown()

All interrupts are still masked by PMC until init is finished.

16 years agonouveau : fix enable irq (in the previous code all irq were masked by engine
Matthieu Castet [Tue, 7 Aug 2007 21:09:44 +0000 (23:09 +0200)]
nouveau : fix enable irq (in the previous code all irq were masked by engine
init after irq_postinstall)

16 years agoUnify infrastructure for freeing on-card / GART memory.
Ian Romanick [Tue, 7 Aug 2007 00:27:15 +0000 (17:27 -0700)]
Unify infrastructure for freeing on-card / GART memory.

16 years agoRelease client memory in reclaim_buffers_idlelocked instead of preclose.
Ian Romanick [Mon, 6 Aug 2007 23:56:20 +0000 (16:56 -0700)]
Release client memory in reclaim_buffers_idlelocked instead of preclose.

16 years agoRefactor xgi_(fb|pcie)_free_all into xgi_free_all.
Ian Romanick [Mon, 6 Aug 2007 23:35:07 +0000 (16:35 -0700)]
Refactor xgi_(fb|pcie)_free_all into xgi_free_all.

16 years agoReplace per-heap semaphores with drm_device::struct_mutex.
Ian Romanick [Mon, 6 Aug 2007 23:17:23 +0000 (16:17 -0700)]
Replace per-heap semaphores with drm_device::struct_mutex.

16 years agoUnify infrastructure for allocating (not yet freeing) on-card / GART memory.
Ian Romanick [Mon, 6 Aug 2007 23:09:05 +0000 (16:09 -0700)]
Unify infrastructure for allocating (not yet freeing) on-card / GART memory.

16 years agoEliminate unnecessary function xgi_pcie_free_locked.
Ian Romanick [Mon, 6 Aug 2007 22:52:06 +0000 (15:52 -0700)]
Eliminate unnecessary function xgi_pcie_free_locked.

16 years agoInitialize the AGP structure's base address at init rather than enable.
Eric Anholt [Mon, 6 Aug 2007 22:45:37 +0000 (15:45 -0700)]
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.

16 years agoFinish removing allocation "owner" infrastructure.
Ian Romanick [Mon, 6 Aug 2007 22:43:51 +0000 (15:43 -0700)]
Finish removing allocation "owner" infrastructure.

16 years agoEliminate special-case handling of framebuffer (fake) allocation.
Ian Romanick [Mon, 6 Aug 2007 22:37:56 +0000 (15:37 -0700)]
Eliminate special-case handling of framebuffer (fake) allocation.

16 years agoEliminate allocation "owner" usage.
Ian Romanick [Mon, 6 Aug 2007 22:31:34 +0000 (15:31 -0700)]
Eliminate allocation "owner" usage.

16 years agonouveau: Init global gpuobj list early, unbreaks sgdma code.
Ben Skeggs [Mon, 6 Aug 2007 15:51:46 +0000 (01:51 +1000)]
nouveau: Init global gpuobj list early, unbreaks sgdma code.

16 years agonouveau: Bump PCI GART to 16MB
Stephane Marchesin [Mon, 6 Aug 2007 15:14:26 +0000 (17:14 +0200)]
nouveau: Bump PCI GART to 16MB

16 years agonouveau: ouch, add nouveau_dma.[ch] files..
Ben Skeggs [Mon, 6 Aug 2007 12:32:36 +0000 (22:32 +1000)]
nouveau: ouch, add nouveau_dma.[ch] files..

16 years agoExport some useful ttm functions to drivers.
Ben Skeggs [Mon, 6 Aug 2007 12:11:18 +0000 (22:11 +1000)]
Export some useful ttm functions to drivers.

16 years agonouveau: Remove PGRAPH_SURFACE hack, it wont work now anyway.
Ben Skeggs [Mon, 6 Aug 2007 12:06:52 +0000 (22:06 +1000)]
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.

16 years agonouveau: Give DRM its own gpu channel
Ben Skeggs [Mon, 6 Aug 2007 12:05:31 +0000 (22:05 +1000)]
nouveau: Give DRM its own gpu channel

If your card doesn't have working context switching, it is now broken.

16 years agonouveau: Determine trapped channel id from active grctx on >=NV40
Ben Skeggs [Mon, 6 Aug 2007 11:46:55 +0000 (21:46 +1000)]
nouveau: Determine trapped channel id from active grctx on >=NV40

16 years agonouveau: Various internal and external API changes
Ben Skeggs [Mon, 6 Aug 2007 11:45:18 +0000 (21:45 +1000)]
nouveau: Various internal and external API changes

1. DRM_NOUVEAU_GPUOBJ_FREE
Used to free GPU objects.  The obvious usage case is for Gr objects,
but notifiers can also be destroyed in the same way.

GPU objects gain a destructor method and private data fields with
this change, so other specialised cases (like notifiers) can be
implemented on top of gpuobjs.

2. DRM_NOUVEAU_CHANNEL_FREE

3. DRM_NOUVEAU_CARD_INIT
Ideally we'd do init during module load, but this isn't currently
possible.  Doing init during firstopen() is bad as X has a love of
opening/closing the DRM many times during startup.  Once the
modesetting-101 branch is merged this can go away.

IRQs are enabled in nouveau_card_init() now, rather than having the
X server call drmCtlInstHandler().  We'll need this for when we give
the kernel module its own channel.

4. DRM_NOUVEAU_GETPARAM
Add CHIPSET_ID value, which will return the chipset id derived
from NV_PMC_BOOT_0.

4. Use list_* in a few places, rather than home-brewed stuff.

16 years agonouveau: Pass channel struct around instead of channel id.
Ben Skeggs [Sun, 5 Aug 2007 17:40:43 +0000 (03:40 +1000)]
nouveau: Pass channel struct around instead of channel id.

16 years agonouveau:nv10: fill and use load,save graph context functions
Patrice Mandin [Fri, 3 Aug 2007 21:06:39 +0000 (23:06 +0200)]
nouveau:nv10: fill and use load,save graph context functions

16 years agoMerge branch 'master' of git+ssh://pmandin@git.freedesktop.org/git/mesa/drm
Patrice Mandin [Thu, 2 Aug 2007 18:08:05 +0000 (20:08 +0200)]
Merge branch 'master' of git+ssh://pmandin@git.freedesktop.org/git/mesa/drm