platform/upstream/libdrm.git
17 years agoMake s_cmdring a field in the xgi_info structure instead of a global.
Ian Romanick [Sun, 22 Jul 2007 03:39:22 +0000 (20:39 -0700)]
Make s_cmdring a field in the xgi_info structure instead of a global.

17 years agoClean up xgi_cmd_info and associated code.
Ian Romanick [Sun, 22 Jul 2007 03:34:56 +0000 (20:34 -0700)]
Clean up xgi_cmd_info and associated code.

There were numerous unnecessary fields in xgi_cmd_info.  The remaining
fields had pretty crummy names.  Cut out the cruft, and rename the
rest.  As a result, the unused parameter "triggerCounter" to
triggerHWCommandList can be removed.

17 years agoClean up flush command generation in addFlush2D.
Ian Romanick [Fri, 20 Jul 2007 18:31:01 +0000 (11:31 -0700)]
Clean up flush command generation in addFlush2D.

17 years agoClean up generation of begin commands in xgi_submit_cmdlist
Ian Romanick [Fri, 20 Jul 2007 18:29:16 +0000 (11:29 -0700)]
Clean up generation of begin commands in xgi_submit_cmdlist

Generate the begin command once in a temporary buffer.  Then,
depending on whether the command is to be written directly to the
hardware or to a secondary buffer, copy to command to the correct place.

17 years agoChange handling of begin types slightly.
Ian Romanick [Fri, 20 Jul 2007 17:57:40 +0000 (10:57 -0700)]
Change handling of begin types slightly.

Moved the getCurBatchBeginPort before its only caller.  Modified
function to return the command ID instead of the port offset.
Function also now assumes input begin type is value.

Added code to ioctl handler to validate begin type.

17 years agoDelete unused variable in xgi_driver_load.
Ian Romanick [Fri, 20 Jul 2007 02:09:24 +0000 (19:09 -0700)]
Delete unused variable in xgi_driver_load.

17 years agoFix error handing related to xgi_cmdlist_initialize.
Ian Romanick [Fri, 20 Jul 2007 02:08:47 +0000 (19:08 -0700)]
Fix error handing related to xgi_cmdlist_initialize.

xgi_cmdlist_initialize wasn't correctly checking for errors from
xgi_pcie_alloc.  Furthermore, xgi_bootstrap, the one caller of
xgi_cmdlist_initialize, wasn't check its return value.

17 years agoDebug message and comment clean up in xgi_submit_cmdlist.
Ian Romanick [Fri, 20 Jul 2007 02:05:52 +0000 (19:05 -0700)]
Debug message and comment clean up in xgi_submit_cmdlist.

17 years agoRework xgi_(pcie|fb)_free_all to prevent deadlock.
Ian Romanick [Thu, 19 Jul 2007 18:38:56 +0000 (11:38 -0700)]
Rework xgi_(pcie|fb)_free_all to prevent deadlock.

17 years agoMove MMIO drm_addmap (and code that depends on it) to xgi_bootstrap.
Ian Romanick [Thu, 19 Jul 2007 18:05:13 +0000 (11:05 -0700)]
Move MMIO drm_addmap (and code that depends on it) to xgi_bootstrap.

For reasons that I don't understand, the drm_addmap call would succeed
in xgi_driver_load, but writes to the map later would oops.  Moving it
to xgi_bootstrap fixes this problem.

17 years agoInitial pass at converting driver to DRM infrastructure.
Ian Romanick [Thu, 19 Jul 2007 17:29:18 +0000 (10:29 -0700)]
Initial pass at converting driver to DRM infrastructure.

17 years agoAdd XP5 and XP10 PCI IDs.
Ian Romanick [Tue, 17 Jul 2007 05:15:41 +0000 (22:15 -0700)]
Add XP5 and XP10 PCI IDs.

17 years agoMake drm_sg_free callable in-kernel.
Ian Romanick [Tue, 17 Jul 2007 05:15:01 +0000 (22:15 -0700)]
Make drm_sg_free callable in-kernel.

17 years agoLog message clean up in WriteRegDWord. Remove unused inline functions.
Ian Romanick [Tue, 17 Jul 2007 04:15:58 +0000 (21:15 -0700)]
Log message clean up in WriteRegDWord.  Remove unused inline functions.

17 years agoClean ups (primarilly log messages) in xgi_test_rwinkernel.
Ian Romanick [Tue, 17 Jul 2007 04:12:30 +0000 (21:12 -0700)]
Clean ups (primarilly log messages) in xgi_test_rwinkernel.

17 years agoEliminate unnecessary structures and defines.
Ian Romanick [Tue, 17 Jul 2007 04:11:22 +0000 (21:11 -0700)]
Eliminate unnecessary structures and defines.

17 years agoEliminate several useless ioctls and associated cruft.
Ian Romanick [Tue, 17 Jul 2007 03:58:43 +0000 (20:58 -0700)]
Eliminate several useless ioctls and associated cruft.

The ioctlss XGI_ESC_DEVICE_INFO, XGI_ESC_MEM_COLLECT,
XGI_ESC_PCIE_CHECK, XGI_ESC_GET_SCREEN_INFO, XGI_ESC_PUT_SCREEN_INFO,
XGI_ESC_MMIO_INFO, and XGI_ESC_SAREA_INFO, are completely unnecessary.
The will be doubly useless when the driver is converted to the DRM
infrastructure.

17 years agoMassive log message clean up in xgi_submit_cmdlist.
Ian Romanick [Tue, 17 Jul 2007 03:56:11 +0000 (20:56 -0700)]
Massive log message clean up in xgi_submit_cmdlist.

17 years agoMerge branch 'master' into xgi-0-0-2
Ian Romanick [Thu, 12 Jul 2007 22:28:17 +0000 (15:28 -0700)]
Merge branch 'master' into xgi-0-0-2

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 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 agoConvert occurances of U32 to other types.
Ian Romanick [Tue, 10 Jul 2007 01:54:25 +0000 (18:54 -0700)]
Convert occurances of U32 to other types.

Most occurances of U32 were converted to u32.  These are cases where
the data represents something that will be written to the hardware.
Other cases were converted to 'unsigned int'.

U32 was the last type in xgi_types.h, so that file is removed.

17 years agoFix ioctl types.
Ian Romanick [Tue, 10 Jul 2007 01:52:43 +0000 (18:52 -0700)]
Fix ioctl types.

I had moved code from xgi_drv.h to xgi_drm.h before changing the ioctl
types for XGI_IOCTL_(FB|PCIE)_ALLOC.

17 years agoEliminiate fields in xgi_info that are duplicates of fields in pci_dev.
Ian Romanick [Mon, 9 Jul 2007 23:43:48 +0000 (16:43 -0700)]
Eliminiate fields in xgi_info that are duplicates of fields in pci_dev.

17 years agoMove types shared with user mode to xgi_drm.h.
Ian Romanick [Mon, 9 Jul 2007 23:33:14 +0000 (16:33 -0700)]
Move types shared with user mode to xgi_drm.h.

17 years agoCorrect types that are shared with user mode.
Ian Romanick [Mon, 9 Jul 2007 23:22:48 +0000 (16:22 -0700)]
Correct types that are shared with user mode.

17 years agoAdjust the types of the fields of xgi_aperture.
Ian Romanick [Mon, 9 Jul 2007 23:07:27 +0000 (16:07 -0700)]
Adjust the types of the fields of xgi_aperture.

17 years agoMerge xgi_mem_req and xgi_mem_alloc into a single type.
Ian Romanick [Mon, 9 Jul 2007 22:59:09 +0000 (15:59 -0700)]
Merge xgi_mem_req and xgi_mem_alloc into a single type.

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.

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 agoRemove XGI_IOCTL_CPUID and associated cruft.
Ian Romanick [Fri, 6 Jul 2007 00:49:13 +0000 (17:49 -0700)]
Remove XGI_IOCTL_CPUID and associated cruft.

17 years agoMajor clean up of xgi_ge_irq_handler
Ian Romanick [Fri, 6 Jul 2007 00:45:44 +0000 (17:45 -0700)]
Major clean up of xgi_ge_irq_handler

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.

17 years agoConvert weird rtdsc usage to get_cycles.
Ian Romanick [Fri, 6 Jul 2007 00:18:12 +0000 (17:18 -0700)]
Convert weird rtdsc usage to get_cycles.

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.

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 agoConvert a few more U32 variables to more appropriate, generic types.
Ian Romanick [Sat, 30 Jun 2007 04:48:31 +0000 (21:48 -0700)]
Convert a few more U32 variables to more appropriate, generic types.

17 years agoConvert xgi_mem_location enum values to less generic names.
Ian Romanick [Sat, 30 Jun 2007 04:38:48 +0000 (21:38 -0700)]
Convert xgi_mem_location enum values to less generic names.

17 years agoConvert open coded list iterators to either list_for_each_entry or list_for_each_entr...
Ian Romanick [Sat, 30 Jun 2007 04:35:27 +0000 (21:35 -0700)]
Convert open coded list iterators to either list_for_each_entry or list_for_each_entry_safe

17 years agoClean up xgi_pcie_heap_check
Ian Romanick [Sat, 30 Jun 2007 04:15:33 +0000 (21:15 -0700)]
Clean up xgi_pcie_heap_check

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.

17 years agoStop-gap fix in xgi_submit_cmdlist
Ian Romanick [Sat, 30 Jun 2007 04:05:16 +0000 (21:05 -0700)]
Stop-gap fix in xgi_submit_cmdlist

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.

17 years agoConvert some PCI-e GART related variable to generic types.
Ian Romanick [Sat, 30 Jun 2007 04:00:50 +0000 (21:00 -0700)]
Convert some PCI-e GART related variable to generic types.

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.

17 years agoDelete unused arrays s_emptyBegin and s_flush2D.
Ian Romanick [Sat, 30 Jun 2007 03:49:21 +0000 (20:49 -0700)]
Delete unused arrays s_emptyBegin and s_flush2D.

17 years agoReplace U(8|16) with u(8|16).
Ian Romanick [Fri, 29 Jun 2007 23:41:32 +0000 (16:41 -0700)]
Replace U(8|16) with u(8|16).

17 years agoEliminate unnecessary defines of TRUE and FALSE.
Ian Romanick [Fri, 29 Jun 2007 23:37:39 +0000 (16:37 -0700)]
Eliminate unnecessary defines of TRUE and FALSE.

17 years agoReplace BOOL with bool.
Ian Romanick [Fri, 29 Jun 2007 23:37:01 +0000 (16:37 -0700)]
Replace BOOL with bool.

17 years agoEliminate unused integer and float typedefs.
Ian Romanick [Fri, 29 Jun 2007 23:35:36 +0000 (16:35 -0700)]
Eliminate unused integer and float typedefs.

17 years agoEliminate structure typedefs
Ian Romanick [Fri, 29 Jun 2007 22:27:38 +0000 (15:27 -0700)]
Eliminate structure typedefs

Documentation/CodingStyle says that 'typedef struct foo foo_t' is
evil.  I tend to agree.  Elminate all uses of such construct.

17 years agoFix return type of xgi_find_pcie_block.
Ian Romanick [Fri, 29 Jun 2007 16:30:02 +0000 (09:30 -0700)]
Fix return type of xgi_find_pcie_block.

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.

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 agoRemove unused type 'struct xgi_pcie_list_s' / xgi_pcie_list_t.
Ian Romanick [Fri, 29 Jun 2007 06:40:36 +0000 (23:40 -0700)]
Remove unused type 'struct xgi_pcie_list_s' / xgi_pcie_list_t.

17 years agoMinor clean up of variable declarations in xgi_find_pcie_virt.
Ian Romanick [Fri, 29 Jun 2007 05:32:11 +0000 (22:32 -0700)]
Minor clean up of variable declarations in xgi_find_pcie_virt.

17 years agoClean up debug log messages in xgi_find_pcie_block.
Ian Romanick [Fri, 29 Jun 2007 05:26:39 +0000 (22:26 -0700)]
Clean up debug log messages in xgi_find_pcie_block.

17 years agoConvert comment header of xgi_find_pcie_virt to kernel doc format.
Ian Romanick [Fri, 29 Jun 2007 05:20:13 +0000 (22:20 -0700)]
Convert comment header of xgi_find_pcie_virt to kernel doc format.

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

17 years agoClean up warnings about unused variables and functions.
Ian Romanick [Tue, 26 Jun 2007 20:46:36 +0000 (13:46 -0700)]
Clean up warnings about unused variables and functions.

17 years agoClean up mixed declarations and code.
Ian Romanick [Tue, 26 Jun 2007 20:39:01 +0000 (13:39 -0700)]
Clean up mixed declarations and code.

17 years agoRevert over-zealous change from previous commit.
Ian Romanick [Tue, 26 Jun 2007 20:29:28 +0000 (13:29 -0700)]
Revert over-zealous change from previous commit.

17 years agoAdd XGI driver to Makefiles.
Ian Romanick [Tue, 26 Jun 2007 20:26:10 +0000 (13:26 -0700)]
Add XGI driver to Makefiles.

17 years agoClean up compile-time kernel feature detection.
Ian Romanick [Tue, 26 Jun 2007 20:20:15 +0000 (13:20 -0700)]
Clean up compile-time kernel feature detection.

17 years agolinux/config.h is deprecated or gone.
Ian Romanick [Tue, 26 Jun 2007 20:16:04 +0000 (13:16 -0700)]
linux/config.h is deprecated or gone.

17 years agoGut support for pre-2.6 kernels.
Ian Romanick [Tue, 26 Jun 2007 20:15:22 +0000 (13:15 -0700)]
Gut support for pre-2.6 kernels.

17 years agodos2unix and Lindent
Ian Romanick [Tue, 26 Jun 2007 20:10:30 +0000 (13:10 -0700)]
dos2unix and Lindent

17 years agoInitial XP10 code drop from XGI.
Ian Romanick [Tue, 26 Jun 2007 20:05:29 +0000 (13:05 -0700)]
Initial XP10 code drop from XGI.

See attachment 10246 on https://bugs.freedesktop.org/show_bug.cgi?id=5921

17 years agoAdd support SiS based XGI chips to SiS DRM.
Ian Romanick [Tue, 26 Jun 2007 16:51:55 +0000 (09:51 -0700)]
Add support SiS based XGI chips to SiS DRM.

17 years agonouveau: NV49/NV4B PGRAPH setup from jb17bsome and stephan_2303
Ben Skeggs [Sun, 24 Jun 2007 15:57:57 +0000 (01:57 +1000)]
nouveau: NV49/NV4B PGRAPH setup from jb17bsome and stephan_2303

17 years agonouveau: kill some dead code
Ben Skeggs [Sun, 24 Jun 2007 09:00:44 +0000 (19:00 +1000)]
nouveau: kill some dead code

17 years agonouveau: NV04/NV10/NV20 PGRAPH engtab functions
Ben Skeggs [Sun, 24 Jun 2007 09:00:26 +0000 (19:00 +1000)]
nouveau: NV04/NV10/NV20 PGRAPH engtab functions

NV04/NV10 load_context()/save_context() are stubs.  I don't know enough about
how they work to implement them sanely.  The "old" context_switch() code
remains hooked up, so it shouldn't break anything.

NV20 will probably break if load_context() works.  No inital context values
are filled in, so when the first channel is created PGRAPH will probably end
up having its state zeroed.  Some setup from nv20_graph_init() will probably
need to be moved to the per-channel context setup.

17 years agonouveau: NV3X PGRAPH engtab functions
Ben Skeggs [Sun, 24 Jun 2007 08:58:38 +0000 (18:58 +1000)]
nouveau: NV3X PGRAPH engtab functions

17 years agonouveau: NV1X/2X/3X PFIFO engtab functions
Ben Skeggs [Sun, 24 Jun 2007 08:58:14 +0000 (18:58 +1000)]
nouveau: NV1X/2X/3X PFIFO engtab functions

Earlier NV1X chips use the NV04 code, see previous commits about NV10 RAMFC
entry size.

17 years agonouveau: NV04 PFIFO engtab functions
Ben Skeggs [Sun, 24 Jun 2007 08:57:09 +0000 (18:57 +1000)]
nouveau: NV04 PFIFO engtab functions

17 years agonouveau: NV4X PGRAPH engtab functions
Ben Skeggs [Sun, 24 Jun 2007 08:56:40 +0000 (18:56 +1000)]
nouveau: NV4X PGRAPH engtab functions

17 years agonouveau: NV4X PFIFO engtab functions
Ben Skeggs [Sun, 24 Jun 2007 08:56:01 +0000 (18:56 +1000)]
nouveau: NV4X PFIFO engtab functions

17 years agonouveau: split PFIFO/PGRAPH context creation
Ben Skeggs [Sun, 24 Jun 2007 08:55:23 +0000 (18:55 +1000)]
nouveau: split PFIFO/PGRAPH context creation