Commit graph

477 commits

Author SHA1 Message Date
Stephane Marchesin
2c5b91aecf Again more work on context switches. They work, sometimes. And when they do they seem to screw up the PGRAPH state. 2006-10-14 16:36:11 +02:00
Stephane Marchesin
3a0cd7c7e2 Add the missing breaks. 2006-10-14 01:21:31 +02:00
Stephane Marchesin
b509abe413 Fix the fifo context size on nv10, nv20 and nv30. 2006-10-13 22:35:22 +02:00
Ben Skeggs
4988074794 Fix some randomness in activating a second channel on NV40 (odd GET/PUT vals). Ch 1 GET now advances, but no ctx_switch. 2006-10-14 06:57:49 +11:00
Stephane Marchesin
a9c6c3f21d Oops. 2006-10-12 21:18:55 +02:00
Stephane Marchesin
7ef44b2b8d Still more work on the context switching code. 2006-10-12 17:31:49 +02:00
Stephane Marchesin
a749d9d5b4 More work on the context switch code. Still doesn't work. I'm mostly convinced it's an initialization issue. 2006-10-12 01:08:15 +02:00
Stephane Marchesin
dd473411f8 Context switching work.
Added preliminary support for context switches (triggers the interrupts, but hangs after the switch ; something's not quite right yet).
Removed the PFIFO_REINIT ioctl. I hope it's that a good idea...
Requires the upcoming commit to the DDX.
2006-10-11 00:28:15 +02:00
Ben Skeggs
22382bd8c5 Add pciid for GeForce Go 6150 (0x0244). 2006-09-17 13:00:27 +10:00
Ben Skeggs
aa80e2f48f Add copyright notices while I still remember.. 2006-09-09 07:35:55 +10:00
Ben Skeggs
0ef29768ca Fix second start of X server without module reload beforehand, and a couple of other fixes.
- Mark the correct RAMIN slots as free (oops)
- Remove a VRAM alloc that shouldn't have been there (oops)
- Move HT init out of firstopen() and into dma_init()
- Setup PFIFO_RAM{HT,FC,RO} in pfifo_init()
2006-09-07 23:59:19 +10:00
Stephane Marchesin
d89c623f8e Remove a 64 bit div. 2006-09-07 00:35:17 +02:00
Ben Skeggs
b119966ae6 Allow cmdbuf location(AGP,VRAM) and size to be configured. 2006-09-03 06:36:06 +10:00
Ben Skeggs
97291a6ad0 Use DMA_IN_MEMORY for DMA objects. This is needed for a DDX change that will
be committed soon after this.  Without the change, MEMFORMAT_DMA_OUT appears
to have no effect.
2006-09-02 22:25:26 +10:00
Ben Skeggs
24dddc2754 Add stub {get,set}param ioctls. 2006-08-30 16:55:02 +10:00
Dave Airlie
3cfab681b3 Merge branch 'master' into nouveau-1 2006-08-29 00:01:19 +10:00
Dave Airlie
9b984b34e9 drm: lots of small cleanups and whitespace issues fixed up
remove a mach64 warning, align a lot of things from linux kernel
2006-08-28 11:31:43 +10:00
Dave Airlie
88928380c8 add pci ids for nouveau 2006-08-27 08:59:50 +10:00
Dave Airlie
fef9b30a2b initial import of nouveau code from nouveau CVS 2006-08-27 08:55:02 +10:00
Michel Dänzer
b99e332236 Bug #7595: Avoid u32 overflows in radeon_check_and_fixup_offset().
The overflows could cause valid offsets to get rejected under some
circumstances, e.g. when the framebuffer resides at the very end of the card's
address space.
2006-08-26 12:23:47 +02:00
Dave Airlie
0afb877a37 drm: lots of small cleanups and whitespace issues fixed up
remove a mach64 warning, align a lot of things from linux kernel
2006-08-19 17:59:18 +10:00
Dave Airlie
7a46d41399 i965 code and Linux coding style < 0
smack my whitespace up.
2006-08-10 14:38:50 +10:00
Alan Hourihane
48cb9aceed Add support for Intel i965G chipsets.
This is a patch prepared by Guangdeng Liao based off of Tungsten Graphics's
final code drop.
2006-08-08 15:05:54 -07:00
Michel Dänzer
35066b51ef Revert "Make sure busmastering gets disabled on module unload."
This reverts af7b89d724 commit. It causes an oops
on X server shutdown here, and for the reporter of bug #7629 as well.
2006-07-26 18:21:32 +02:00
Michel Dänzer
645453ce11 Bug #7629: Fix for CHIP_IS_AGP getting 'restored' with non-AGP cards
Commit 2a47f6bfec caused the CHIP_IS_AGP flag to
get 'restored' with PCI(e) cards. I can't think of a way to fix this without
introducing a (otherwise redundant) CHIP_IS_PCI flag.
2006-07-26 18:19:27 +02:00
Adam Jackson
af7b89d724 Make sure busmastering gets disabled on module unload. 2006-07-19 15:35:31 -04:00
Michel Dänzer
d5e0f8bdaf Use RADEON_RB3D_DSTCACHE_CTLSTAT instead of RADEON_RB2D_DSTCACHE_CTLSTAT.
The latter seems to be a read-only mirror of the former.
2006-07-19 19:18:32 +02:00
Michel Dänzer
2a47f6bfec Make sure CHIP_IS_AGP flag is set when not overriding to PCI mode.
This allows using AGP after overriding to PCI mode in a previous session
without reloading the DRM.
2006-07-19 19:16:26 +02:00
Michel Dänzer
c91748e702 When writeback isn't used, actually disable it in the hardware.
Not doing this might waste bus bandwidth or even cause memory corruption or
system crashes on systems that check bus transfers. No such incident has been
reported though.
2006-07-19 19:13:00 +02:00
Michel Dänzer
e337eadcec Implement RADEON_PARAM_SCRATCH_OFFSET getparam.
When this succeeds, userspace can read the scratch register contents from the
mapped writeback page directly.
2006-07-19 19:07:06 +02:00
Michel Dänzer
7dea64677b Some debug output when the getparam ioctl is called with an unknown parameter. 2006-07-19 19:01:33 +02:00
Michel Dänzer
b9243ce3d5 .cvsignore -> .gitignore
Sort the merged file, remove the redundant explicit .ko lines and add
some generated symlinks.
2006-07-19 18:31:43 +02:00
Thomas Hellstrom
126673d62a Keep hashed user tokens, with the following changes:
32-bit physical device addresses are mapped directly to user-tokens. No
    duplicate maps are allowed, and the addresses are assumed to be outside
    of the range 0x10000000 through 0x30000000. The user-token is identical
    to the 32-bit physical start-address of the map.
64-bit physical device addressed are mapped to user-tokens in the range
0x10000000 to 0x30000000 with page-size increments. The user_token should
    not be interpreted as an address.
Other map types, like upcoming TTM maps are mapped to user-tokens in the
    range
0x10000000 to 0x30000000 with page-size increments. The user_token should
    not be interpreted as an address.
This keeps compatibility with buggy drivers, while still implementing a
    hashed map lookup. The SiS and via device driver major bumps are
    reverted.
2006-07-11 14:37:37 +00:00
Thomas Hellstrom
a392349691 Change drm Map handles to be arbitrary 32-bit hash tokens in the range
0x10000000 to 0x90000000 in PAGE_SIZE increments.
Implement hashed map lookups.
This potentially breaks both 2D and 3D drivers. If so, the corresponding
2D and 3D driver should be fixed, and it's corresponding drm device driver
    should have its major bumped as soon as possible.
Bump sis and via drm device driver majors.
The SiS and Unichrome 3D drivers are fixed in Mesa CVS HEAD and
    mesa_6_4_branch.
2006-07-10 13:00:21 +00:00
Thomas Hellstrom
c21a7b763a SiS 315 Awareness. 2006-07-05 15:52:35 +00:00
Keith Packard
da143d0606 Remove spurious debug messages from i915 vblank config paths 2006-06-22 21:34:44 +00:00
Keith Packard
f8891ef802 i915: Save vblank pipe configuration to restore on resume 2006-06-21 00:15:10 +00:00
Keith Packard
83f256e60e Add i915 ioctls to configure pipes for vblank interrupt.
i915 vblanks can be generated from either pipe a or b, however a disabled
    pipe generates no interrupts. This change allows the X server to select
    which pipe generates vblank interrupts.
2006-06-19 20:15:53 +00:00
Thomas Hellstrom
58b63ee5cc Fix buffer cleanup on close. Move memory manager reset from final_context
to lastclose.
2006-06-19 09:12:50 +00:00
Thomas Hellstrom
96f272884d via: Bump version number and date. 2006-06-19 09:01:31 +00:00
Thomas Hellstrom
ca1a77683d via:
-Remove out of memory error message.
-Move sman cleanup from final_context to lastclose.
-Add the P4VM800PRO (?) PCI ID.
2006-06-15 18:37:05 +00:00
Thomas Hellstrom
6bacb180ce Merge in the drm-sman-branch 2006-06-06 14:19:00 +00:00
Roland Scheidegger
f4e6e4499c Add support for r200 vertex programs (R200_EMIT_VAP_PVS_CNTL, and new
packet type for making it possible to address whole tcl vector space
    and have a larger count)
2006-05-24 18:36:24 +00:00
Roland Scheidegger
9e0320a0ad add forgotten register define for previous commit 2006-05-20 09:20:05 +00:00
Roland Scheidegger
e1b627c17e Do a tcl state flush before accessing tcl vector space. This fixes some
more problems with flickering (bug #6637). drm may not be appropriate
    place for this, since doing that flush there might both be overkill and
    insufficient in some cases. However, it's hard to figure out when that
    flush is needed, so this has to suffice. There does not seem to be a
    performance penalty associated with it.
2006-05-20 09:08:18 +00:00
Dave Airlie
b1a64b8136 add consts to radeon microcode.
From: tilman
2006-05-18 07:32:37 +00:00
Dave Airlie
30a5787d36 Fix from Benh for ppc r300 scratch 2006-04-23 08:07:57 +00:00
Brian Paul
4a49e6c366 check for __FreeBSD_kernel__ (bug 3810) 2006-04-20 14:26:59 +00:00
Eric Anholt
1327222f9b Err, use "ifndef" rather than "if !", to avoid compiler warning. 2006-04-18 06:12:22 +00:00
Eric Anholt
40b70e3244 Use __LP64__ instead of checking the linux-specific BITS_PER_LONG. 2006-04-18 05:57:28 +00:00