platform/upstream/libdrm.git
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

16 years agoAdd libdrm source dir, to build tests from a different build dir
Patrice Mandin [Thu, 2 Aug 2007 18:06:37 +0000 (20:06 +0200)]
Add libdrm source dir, to build tests from a different build dir

16 years agodrm: add unlocked ioctl code path - not used yet
Dave Airlie [Thu, 2 Aug 2007 09:13:45 +0000 (19:13 +1000)]
drm: add unlocked ioctl code path - not used yet

16 years agodrm/fence: shut up lockdep
Dave Airlie [Wed, 25 Jul 2007 04:32:15 +0000 (14:32 +1000)]
drm/fence: shut up lockdep

16 years agodrm: fix fencing refcount error
Dave Airlie [Mon, 30 Jul 2007 23:22:45 +0000 (09:22 +1000)]
drm: fix fencing refcount error

This extra increase was causing fence leaks on my system, due to create/user add already increasing it twice no need for a 3rd go.

16 years agonouveau: creating notifier in PCI memory for PCIGART
Arthur Huillet [Fri, 27 Jul 2007 13:48:04 +0000 (15:48 +0200)]
nouveau: creating notifier in PCI memory for PCIGART

16 years agodrm/bo: set the req pointer for each buffer to validate
Dave Airlie [Thu, 26 Jul 2007 05:26:36 +0000 (15:26 +1000)]
drm/bo: set the req pointer for each buffer to validate

16 years agodrm: fix size argument for copy to/from user
Dave Airlie [Thu, 26 Jul 2007 03:25:21 +0000 (13:25 +1000)]
drm: fix size argument for copy to/from user

16 years agoImprove the drawable test to use multiple drawables.
Eric Anholt [Wed, 25 Jul 2007 19:54:15 +0000 (12:54 -0700)]
Improve the drawable test to use multiple drawables.

16 years agoFix copy'n'paste-o in FreeBSD drawable code.
Eric Anholt [Sun, 22 Jul 2007 08:51:34 +0000 (09:51 +0100)]
Fix copy'n'paste-o in FreeBSD drawable code.

17 years agodrm_rmmap_ioctl(): remove dead code
Adrian Bunk [Mon, 23 Jul 2007 08:15:00 +0000 (18:15 +1000)]
drm_rmmap_ioctl(): remove dead code

This patch removes some obviously dead code spotted by the Coverity
checker.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
17 years agoFix misc ioctl issues, makes Nouveau run.
Pekka Paalanen [Sat, 21 Jul 2007 20:13:25 +0000 (23:13 +0300)]
Fix misc ioctl issues, makes Nouveau run.

Debug print fix in drm_release().
Forgotten local variable init in drm_setversion().
Unnecessary put_user() in drm_addmap_ioctl().
ioctl->cmd check broken in drm_ioctl(); workaround.

17 years agofix missing brace placement for IOC_IN
Dave Airlie [Sat, 21 Jul 2007 12:11:41 +0000 (22:11 +1000)]
fix missing brace placement for IOC_IN

17 years agofix drm no-compile due to BSD :-)
Dave Airlie [Sat, 21 Jul 2007 11:50:25 +0000 (21:50 +1000)]
fix drm no-compile due to BSD :-)

17 years agoReplace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE.
Eric Anholt [Fri, 20 Jul 2007 00:11:11 +0000 (17:11 -0700)]
Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE.

The data is now in kernel space, copied in/out as appropriate according to the
This results in DRM_COPY_{TO,FROM}_USER going away, and error paths to deal
with those failures.  This also means that XFree86 4.2.0 support for i810 DRM
is lost.

17 years agoReplace filp in ioctl arguments with drm_file *file_priv.
Eric Anholt [Fri, 20 Jul 2007 13:39:25 +0000 (06:39 -0700)]
Replace filp in ioctl arguments with drm_file *file_priv.

As a fallout, replace filp storage with file_priv storage for "unique
identifier of a client" all over the DRM.  There is a 1:1 mapping, so this
should be a noop.  This could be a minor performance improvement, as everything
on Linux dereferenced filp to get file_priv anyway, while only the mmap ioctls
went the other direction.

17 years agoBSD: Replace symlink building with symlinks in git.
Eric Anholt [Fri, 20 Jul 2007 13:42:18 +0000 (06:42 -0700)]
BSD: Replace symlink building with symlinks in git.

17 years agoRemove DRM_ERR OS macro.
Eric Anholt [Fri, 20 Jul 2007 00:00:17 +0000 (17:00 -0700)]
Remove DRM_ERR OS macro.

This was used to make all ioctl handlers return -errno on linux and errno on
*BSD.  Instead, just return -errno in shared code, and flip sign on return from
shared code to *BSD code.

17 years agoFix linux spinlock macros after the last commit.
Eric Anholt [Fri, 20 Jul 2007 19:55:51 +0000 (12:55 -0700)]
Fix linux spinlock macros after the last commit.

17 years agoFreeBSD warnings cleanup.
Eric Anholt [Thu, 19 Jul 2007 13:46:13 +0000 (06:46 -0700)]
FreeBSD warnings cleanup.

17 years agoMerge branch 'origin'
Eric Anholt [Thu, 19 Jul 2007 13:31:26 +0000 (06:31 -0700)]
Merge branch 'origin'

17 years agoFreeBSD: Fix the recently added drawable add/remove/update code.
Eric Anholt [Thu, 19 Jul 2007 13:17:58 +0000 (06:17 -0700)]
FreeBSD: Fix the recently added drawable add/remove/update code.

17 years agoAdd a test for drawable add, remove, and update.
Eric Anholt [Thu, 19 Jul 2007 13:17:04 +0000 (06:17 -0700)]
Add a test for drawable add, remove, and update.

17 years agoFix the getclient test (Need this feature for future tests).
Eric Anholt [Thu, 19 Jul 2007 13:02:20 +0000 (06:02 -0700)]
Fix the getclient test (Need this feature for future tests).

17 years agoAdd some trivial regression tests, one of which fails.
Eric Anholt [Thu, 19 Jul 2007 11:59:59 +0000 (04:59 -0700)]
Add some trivial regression tests, one of which fails.

17 years agoAdd current BSD stuff to .gitignore.
Eric Anholt [Thu, 19 Jul 2007 10:36:57 +0000 (03:36 -0700)]
Add current BSD stuff to .gitignore.

17 years agonouveau/nv50: get non-default push buffer sizes working.
Ben Skeggs [Thu, 19 Jul 2007 06:42:58 +0000 (16:42 +1000)]
nouveau/nv50: get non-default push buffer sizes working.

17 years agoAdd dry-coded DRM drawable private information storage for FreeBSD.
Eric Anholt [Wed, 18 Jul 2007 21:22:40 +0000 (14:22 -0700)]
Add dry-coded DRM drawable private information storage for FreeBSD.

With this, all modules build again.

17 years agonouveau: Make nouveau_wait_for_idle() read PTIMER.
Pekka Paalanen [Fri, 6 Jul 2007 17:33:32 +0000 (20:33 +0300)]
nouveau: Make nouveau_wait_for_idle() read PTIMER.

Following my nv28 kmmio dumps, nouveau_wait_for_idle() is modified to
read PTIMER and NV03_PMC_ENABLE. Also a timeout based on PTIMER value is
added, so wait_for_idle() cannot stall indefinitely (unless PTIMER is
halted). The timeout was selected as 1 giga-ticks, which for me is 1s.

17 years agonouveau: Add read() method to Engine.timer.
Pekka Paalanen [Fri, 6 Jul 2007 16:34:15 +0000 (19:34 +0300)]
nouveau: Add read() method to Engine.timer.

This is not called from anywhere, yet.

17 years agonouveau: Add bitfield names for NSOURCE and NSTATUS.
Pekka Paalanen [Fri, 6 Jul 2007 10:57:31 +0000 (13:57 +0300)]
nouveau: Add bitfield names for NSOURCE and NSTATUS.

Name strings and pretty-printing in nouveau_graph_dump_trap_info().

17 years agonouveau: Replace 0x00400104 and 0x00400108 with names.
Pekka Paalanen [Fri, 6 Jul 2007 09:47:53 +0000 (12:47 +0300)]
nouveau: Replace 0x00400104 and 0x00400108 with names.

NV03_PGRAPH_NSTATUS and NV03_PGRAPH_NSOURCE.
The prefix NV03 is chosen because nv10reg.h had no versioned prefix,
and the code using these registers does not check card_type.

17 years agoFix via dmablit when blit queue is full.
Thomas Hellstrom [Wed, 18 Jul 2007 08:40:03 +0000 (10:40 +0200)]
Fix via dmablit when blit queue is full.
Fix by Simon Farnsworth, Bugzilla Bug #11542
http://bugs.freedesktop.org/show_bug.cgi?id=11542

17 years agofix some missing whitespace/tab
Dave Airlie [Wed, 18 Jul 2007 05:49:45 +0000 (15:49 +1000)]
fix some missing whitespace/tab

17 years agodrm: idr stuff is upstream for 2.6.23
Dave Airlie [Tue, 17 Jul 2007 23:46:16 +0000 (09:46 +1000)]
drm: idr stuff is upstream for 2.6.23

17 years agodrm: remove drm_u64_t, replace with uint64_t everwhere
Dave Airlie [Tue, 17 Jul 2007 23:42:06 +0000 (09:42 +1000)]
drm: remove drm_u64_t, replace with uint64_t everwhere

This might break something, stdint.h inclusion in drm.h maybe required
but I'm not sure yet what platforms have it what ones don't.

17 years agodrm_context: fix braino
Dave Airlie [Mon, 16 Jul 2007 23:59:26 +0000 (09:59 +1000)]
drm_context: fix braino

17 years agonouveau: Destroy PGRAPH context table on PGRAPH takedown
Ben Skeggs [Tue, 17 Jul 2007 04:06:05 +0000 (14:06 +1000)]
nouveau: Destroy PGRAPH context table on PGRAPH takedown

17 years agonouveau: G8x PCIEGART
Ben Skeggs [Sun, 15 Jul 2007 07:18:15 +0000 (17:18 +1000)]
nouveau: G8x PCIEGART

Actually a NV04-NV50 ttm backend for both PCI and PCIEGART, but PCIGART
support for G8X using the current mm has been hacked on top of it.

17 years agoCorrect errors in the usage of pci_map_page.
Ian Romanick [Mon, 16 Jul 2007 17:56:43 +0000 (10:56 -0700)]
Correct errors in the usage of pci_map_page.

With these changes the driver no longer instantly hard-locks a 6600LE
on a PowerPC G5.  I haven't tested any 3D apps yet.

17 years agoFix FreeBSD build.
Eric Anholt [Mon, 16 Jul 2007 08:53:06 +0000 (01:53 -0700)]
Fix FreeBSD build.

17 years agodrm: fixup old kernel compat code
Dave Airlie [Mon, 16 Jul 2007 03:52:21 +0000 (13:52 +1000)]
drm: fixup old kernel compat code

17 years agodrm: fixup compat wrappers
Dave Airlie [Mon, 16 Jul 2007 03:50:04 +0000 (13:50 +1000)]
drm: fixup compat wrappers

17 years agodrm: remove internal sman typedef
Dave Airlie [Mon, 16 Jul 2007 03:46:37 +0000 (13:46 +1000)]
drm: remove internal sman typedef

17 years agodrm: remove drm_ref_t
Dave Airlie [Mon, 16 Jul 2007 03:45:39 +0000 (13:45 +1000)]
drm: remove drm_ref_t

17 years agodrm: remove drm_buf_t
Dave Airlie [Mon, 16 Jul 2007 03:42:11 +0000 (13:42 +1000)]
drm: remove drm_buf_t

17 years agodrm: detypedef ttm/bo/fence code
Dave Airlie [Mon, 16 Jul 2007 03:37:02 +0000 (13:37 +1000)]
drm: detypedef ttm/bo/fence code

17 years agodrm: remove hashtab/sman and object typedefs
Dave Airlie [Mon, 16 Jul 2007 02:48:44 +0000 (12:48 +1000)]
drm: remove hashtab/sman and object typedefs

17 years agodrm: remove drmP.h internal typedefs
Dave Airlie [Mon, 16 Jul 2007 02:32:51 +0000 (12:32 +1000)]
drm: remove drmP.h internal typedefs

17 years agodrm: remove ttm userspace typedefs
Dave Airlie [Mon, 16 Jul 2007 01:30:53 +0000 (11:30 +1000)]
drm: remove ttm userspace typedefs

17 years agodrm: detypedef drm.h and fixup all problems
Dave Airlie [Mon, 16 Jul 2007 01:22:15 +0000 (11:22 +1000)]
drm: detypedef drm.h and fixup all problems

17 years agodrm: fix typedef in drm_os_linux.h
Dave Airlie [Mon, 16 Jul 2007 01:13:07 +0000 (11:13 +1000)]
drm: fix typedef in drm_os_linux.h

17 years agodrm: remove typedefs in drm.h to their own section
Dave Airlie [Mon, 16 Jul 2007 00:13:58 +0000 (10:13 +1000)]
drm: remove typedefs in drm.h to their own section

17 years agoMerge branch 'drm-ttm-cleanup-branch'
Dave Airlie [Mon, 16 Jul 2007 00:05:20 +0000 (10:05 +1000)]
Merge branch 'drm-ttm-cleanup-branch'

17 years agonouveau: nv10 and nv11/15 are different
Patrice Mandin [Sat, 14 Jul 2007 16:32:11 +0000 (18:32 +0200)]
nouveau: nv10 and nv11/15 are different

17 years agoapplied patch from Ian Romanick fixing PCI DMA object creation code
Arthur Huillet [Fri, 13 Jul 2007 18:51:52 +0000 (20:51 +0200)]
applied patch from Ian Romanick fixing PCI DMA object creation code

17 years agoMerge commit 'public/master'
Arthur Huillet [Fri, 13 Jul 2007 14:03:25 +0000 (16:03 +0200)]
Merge commit 'public/master'

17 years agonow attempting to create PCI object only when there is a pci_heap
Arthur Huillet [Fri, 13 Jul 2007 13:57:17 +0000 (15:57 +0200)]
now attempting to create PCI object only when there is a pci_heap

17 years agonow attempting to create PCI object only when there is a pci_heap
Arthur Huillet [Fri, 13 Jul 2007 13:57:17 +0000 (15:57 +0200)]
now attempting to create PCI object only when there is a pci_heap

17 years agonouveau: nuke internal typedefs, and drm_device_t use.
Ben Skeggs [Fri, 13 Jul 2007 05:09:31 +0000 (15:09 +1000)]
nouveau: nuke internal typedefs, and drm_device_t use.

17 years agonouveau: unbreak AGP
Ben Skeggs [Thu, 12 Jul 2007 16:18:59 +0000 (02:18 +1000)]
nouveau: unbreak AGP

17 years agonouveau: mem_alloc() returns offsets, not absolute addresses now.
Ben Skeggs [Thu, 12 Jul 2007 01:55:47 +0000 (11:55 +1000)]
nouveau: mem_alloc() returns offsets, not absolute addresses now.

17 years agonouveau: nuke left over debug message
Ben Skeggs [Thu, 12 Jul 2007 01:39:45 +0000 (11:39 +1000)]
nouveau: nuke left over debug message

17 years agonouveau: separate region_offset into map_handle and offset.
Ben Skeggs [Thu, 12 Jul 2007 00:15:16 +0000 (10:15 +1000)]
nouveau: separate region_offset into map_handle and offset.

17 years agofixed object creation code to not Oops on 64bits, worked around memalloc not working...
Arthur Huillet [Thu, 12 Jul 2007 00:35:39 +0000 (02:35 +0200)]
fixed object creation code to not Oops on 64bits, worked around memalloc not working on 64bit for PCIGART

17 years agoNV50 will not attempt to use PCIGART now
Arthur Huillet [Wed, 11 Jul 2007 13:01:37 +0000 (15:01 +0200)]
NV50 will not attempt to use PCIGART now

17 years agofixed bug that prevented PCIE cards from actually using PCIGART - NV50 will probably...
Arthur Huillet [Wed, 11 Jul 2007 12:56:27 +0000 (14:56 +0200)]
fixed bug that prevented PCIE cards from actually using PCIGART - NV50 will probably still have a problem

17 years agonouveau/nv50: G80 fixes.
Ben Skeggs [Wed, 11 Jul 2007 04:22:59 +0000 (14:22 +1000)]
nouveau/nv50: G80 fixes.

Again, no hardware, so no idea if it'll even work yet.  I understand how
the PRAMIN setup works now, un-hardcoding stuff will come "RealSoonNow(tm)".

17 years agonouveau: Some checks on userspace object handles.
Ben Skeggs [Wed, 11 Jul 2007 02:38:48 +0000 (12:38 +1000)]
nouveau: Some checks on userspace object handles.

17 years agoMerge branch 'master' into cleanup
Dave Airlie [Wed, 11 Jul 2007 01:23:41 +0000 (11:23 +1000)]
Merge branch 'master' into cleanup

Conflicts:

libdrm/xf86drm.c
linux-core/drm_bo.c
linux-core/drm_fence.c

17 years agoAdded support for PCIGART for PCI(E) cards. Bumped DRM interface patchlevel.
Arthur Huillet [Wed, 11 Jul 2007 00:35:10 +0000 (02:35 +0200)]
Added support for PCIGART for PCI(E) cards. Bumped DRM interface patchlevel.

17 years agoMade drm_sg_alloc accessible from inside the DRM - drm_sg_alloc_ioctl is the ioctl...
Arthur Huillet [Wed, 11 Jul 2007 00:33:12 +0000 (02:33 +0200)]
Made drm_sg_alloc accessible from inside the DRM - drm_sg_alloc_ioctl is the ioctl wrapper

17 years agonouveau: Allocate mappable VRAM for notifiers..
Ben Skeggs [Mon, 9 Jul 2007 13:58:00 +0000 (23:58 +1000)]
nouveau: Allocate mappable VRAM for notifiers..

17 years agonouveau: Don't be so strict on <NV50
Ben Skeggs [Mon, 9 Jul 2007 10:02:14 +0000 (20:02 +1000)]
nouveau: Don't be so strict on <NV50

17 years agonouveau: Avoid oops
Ben Skeggs [Mon, 9 Jul 2007 05:37:37 +0000 (15:37 +1000)]
nouveau: Avoid oops

Turns out lastclose() gets called even if firstopen() has never been...

17 years agonouveau/nv50: Initial channel/object support
Ben Skeggs [Wed, 4 Jul 2007 14:12:33 +0000 (00:12 +1000)]
nouveau/nv50: Initial channel/object support

Should be OK on G84 for a single channel, multiple channels *almost* work.

Untested on G80.

17 years agonouveau: enable reporting for all PFIFO/PGRAPH irqs
Ben Skeggs [Wed, 4 Jul 2007 05:31:01 +0000 (15:31 +1000)]
nouveau: enable reporting for all PFIFO/PGRAPH irqs

17 years agonouveau: rewrite gpu object code
Ben Skeggs [Mon, 2 Jul 2007 09:31:18 +0000 (19:31 +1000)]
nouveau: rewrite gpu object code

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.

17 years agoUse idr_replace trick to eliminate struct drm_ctx_sarea_list.
Kristian Høgsberg [Tue, 3 Jul 2007 14:41:48 +0000 (10:41 -0400)]
Use idr_replace trick to eliminate struct drm_ctx_sarea_list.

17 years agoDon't take dev->struct_mutex twice in drm_setsareactx.
Kristian Høgsberg [Tue, 3 Jul 2007 14:31:46 +0000 (10:31 -0400)]
Don't take dev->struct_mutex twice in drm_setsareactx.

17 years agoOne more spinlock initializer cleanup.
Michel Dänzer [Tue, 3 Jul 2007 10:33:51 +0000 (12:33 +0200)]
One more spinlock initializer cleanup.

17 years agoSimplification for previous commit.
Michel Dänzer [Tue, 3 Jul 2007 10:15:15 +0000 (12:15 +0200)]
Simplification for previous commit.

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.

17 years agoRestore pre-idr semantics for drawable information.
Michel Dänzer [Tue, 3 Jul 2007 09:41:44 +0000 (11:41 +0200)]
Restore pre-idr semantics for drawable information.

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.

17 years agoFix must-check warnings and implement a few error paths.
Kristian Høgsberg [Mon, 2 Jul 2007 21:52:07 +0000 (17:52 -0400)]
Fix must-check warnings and implement a few error paths.

17 years agoDrop drm_drawable_list and add drm_drawable_info directly to the idr.
Kristian Høgsberg [Thu, 28 Jun 2007 18:45:26 +0000 (14:45 -0400)]
Drop drm_drawable_list and add drm_drawable_info directly to the idr.

17 years agoAvoid hitting BUG() for kernel-only fence objects.
Thomas Hellstrom [Fri, 29 Jun 2007 13:22:28 +0000 (15:22 +0200)]
Avoid hitting BUG() for kernel-only fence objects.

17 years agoFence object reference / dereference cleanup.
Thomas Hellstrom [Fri, 29 Jun 2007 10:50:12 +0000 (12:50 +0200)]
Fence object reference / dereference cleanup.

Buffer object dereference cleanup.
Add a struct drm_device member to fence objects:
This can simplify code, particularly in drivers.

17 years agonouveau: small RAMFC cleanups
Ben Skeggs [Fri, 29 Jun 2007 03:52:55 +0000 (13:52 +1000)]
nouveau: small RAMFC cleanups

17 years agonouveau: Hack around possible Xv blit adaptor breakage
Ben Skeggs [Thu, 28 Jun 2007 11:01:17 +0000 (21:01 +1000)]
nouveau: Hack around possible Xv blit adaptor breakage

17 years agonouveau/nv10: Fix earlier NV1x chips
Ben Skeggs [Wed, 27 Jun 2007 18:23:17 +0000 (04:23 +1000)]
nouveau/nv10: Fix earlier NV1x chips

Can't use nv04 code for them, since an extra field was inserted into
RAMFC after DMA_PUT/GET.

17 years agonouveau: never touch PRAMIN with NV_WRITE, cleanup RAMHT code a bit
Ben Skeggs [Mon, 25 Jun 2007 05:42:55 +0000 (15:42 +1000)]
nouveau: never touch PRAMIN with NV_WRITE, cleanup RAMHT code a bit

17 years agonouveau: simplify PRAMIN access
Ben Skeggs [Mon, 25 Jun 2007 05:16:19 +0000 (15:16 +1000)]
nouveau: simplify PRAMIN access

17 years agonouveau: name some regs
Ben Skeggs [Sun, 24 Jun 2007 17:52:06 +0000 (03:52 +1000)]
nouveau: name some regs

17 years agonouveau/nv50: skeletal backend
Ben Skeggs [Sun, 24 Jun 2007 10:49:19 +0000 (20:49 +1000)]
nouveau/nv50: skeletal backend

17 years agonouveau: Nuke DMA_OBJECT_INIT ioctl (bumps interface to 0.0.7)
Ben Skeggs [Sun, 24 Jun 2007 09:03:35 +0000 (19:03 +1000)]
nouveau: Nuke DMA_OBJECT_INIT ioctl (bumps interface to 0.0.7)

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.

17 years agonouveau/nv04: Set NV_PFIFO_CACHE1_PUSH1 correctly + small tweaks
Ben Skeggs [Wed, 27 Jun 2007 16:56:30 +0000 (02:56 +1000)]
nouveau/nv04: Set NV_PFIFO_CACHE1_PUSH1 correctly + small tweaks