Thomas Hellstrom [Tue, 22 Aug 2006 07:47:33 +0000 (09:47 +0200)]
Bring in stripped TTM functionality.
Thomas Hellstrom [Mon, 21 Aug 2006 19:37:43 +0000 (21:37 +0200)]
Allow longer sequence lifetimes.
Thomas Hellstrom [Mon, 21 Aug 2006 19:36:00 +0000 (21:36 +0200)]
i915 fence object driver implementing 2 fence object types:
0x00 EXE fence. Signals when command stream interpreter has reached the point
where the fence was emitted.
0x01 FLUSH fence. Signals when command stream interpreter has reached the point
where the fence was emitted, and all previous drawing operations have been
completed and flushed.
Implements busy wait (for fastest response time / high CPU) and
lazy wait (User interrupt or timer driven).
Thomas Hellstrom [Mon, 21 Aug 2006 19:12:29 +0000 (21:12 +0200)]
Remove some accidently included TTM code.
Thomas Hellstrom [Mon, 21 Aug 2006 19:04:36 +0000 (21:04 +0200)]
Add missing fence type define.
Add drm_fence.o to Makefile
Thomas Hellstrom [Mon, 21 Aug 2006 19:02:08 +0000 (21:02 +0200)]
User / Kernel space fence objects (device-independent part).
Thomas Hellstrom [Mon, 21 Aug 2006 18:38:57 +0000 (20:38 +0200)]
Backwards compatibility code for ttms.
Thomas Hellstrom [Mon, 21 Aug 2006 18:30:19 +0000 (20:30 +0200)]
Generic DRM support base-class support for user-space objects, like
fence objects and buffer objects:
Refcounting,
Inter-process sharing,
Synchronization
Destruction.
Thomas Hellstrom [Mon, 21 Aug 2006 15:02:44 +0000 (17:02 +0200)]
Avoid using vmalloc for small hash tables.
Thomas Hellstrom [Wed, 16 Aug 2006 14:36:56 +0000 (16:36 +0200)]
Remove hash tables on DRM exit.
Thomas Hellstrom [Mon, 14 Aug 2006 15:11:14 +0000 (17:11 +0200)]
Avoid kernel oops in some error paths calling drm_lastclose().
Dave Airlie [Mon, 14 Aug 2006 01:52:34 +0000 (11:52 +1000)]
remove all TRUE instances as well
Dave Airlie [Mon, 14 Aug 2006 01:49:52 +0000 (11:49 +1000)]
remove all TRUE/FALSE no need for this in the drm, use 0 or 1
Dave Airlie [Thu, 10 Aug 2006 04:38:50 +0000 (14:38 +1000)]
i965 code and Linux coding style < 0
smack my whitespace up.
Dave Airlie [Thu, 10 Aug 2006 04:32:18 +0000 (14:32 +1000)]
cleanup some whitespace issue and move compat code to compat header
Dave Airlie [Thu, 10 Aug 2006 04:31:56 +0000 (14:31 +1000)]
clean up script to create an lk drm directory
Dave Airlie [Thu, 10 Aug 2006 04:31:22 +0000 (14:31 +1000)]
drm: ati_pcigart cleanup
use NULL instead of 0, cleanup some whitespace
Alan Hourihane [Tue, 8 Aug 2006 22:05:54 +0000 (15:05 -0700)]
Add support for Intel i965G chipsets.
This is a patch prepared by Guangdeng Liao based off of Tungsten Graphics's
final code drop.
Dave Airlie [Mon, 7 Aug 2006 11:34:40 +0000 (21:34 +1000)]
drm: whitespace cleanup in new files
Dave Airlie [Mon, 7 Aug 2006 11:00:13 +0000 (21:00 +1000)]
drm: remove extra whitespace from drm_mm.c
Dave Airlie [Mon, 7 Aug 2006 10:56:38 +0000 (20:56 +1000)]
drm: fixup whitespace and style for Linux kernel import
Michel Dänzer [Wed, 26 Jul 2006 16:21:32 +0000 (18:21 +0200)]
Revert "Make sure busmastering gets disabled on module unload."
This reverts
af7b89d7246efbed7d05c38fcaa6a13c4b89db90 commit. It causes an oops
on X server shutdown here, and for the reporter of bug #7629 as well.
Michel Dänzer [Wed, 26 Jul 2006 16:14:20 +0000 (18:14 +0200)]
Bug #7629: Fix for CHIP_IS_AGP getting 'restored' with non-AGP cards
Commit
2a47f6bfecea5dabcbf79d5e1aaf271f50070b89 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.
Dave Airlie [Mon, 24 Jul 2006 01:09:41 +0000 (11:09 +1000)]
remove incorrect exit marking on cleanup pci as this is called from other paths
Dave Airlie [Mon, 24 Jul 2006 00:51:27 +0000 (10:51 +1000)]
switch drm to use Linux mutexes instead of semaphore.
I hope the fallback compat code works if not shout at me.
Adam Jackson [Wed, 19 Jul 2006 20:19:25 +0000 (16:19 -0400)]
Delete the pre-core DRM code with extreme prejudice.
Adam Jackson [Wed, 19 Jul 2006 19:35:31 +0000 (15:35 -0400)]
Make sure busmastering gets disabled on module unload.
Michel Dänzer [Wed, 19 Jul 2006 17:18:32 +0000 (19:18 +0200)]
Use RADEON_RB3D_DSTCACHE_CTLSTAT instead of RADEON_RB2D_DSTCACHE_CTLSTAT.
The latter seems to be a read-only mirror of the former.
Michel Dänzer [Wed, 19 Jul 2006 17:16:26 +0000 (19:16 +0200)]
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.
Michel Dänzer [Wed, 19 Jul 2006 17:13:00 +0000 (19:13 +0200)]
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.
Michel Dänzer [Wed, 19 Jul 2006 17:07:06 +0000 (19:07 +0200)]
Implement RADEON_PARAM_SCRATCH_OFFSET getparam.
When this succeeds, userspace can read the scratch register contents from the
mapped writeback page directly.
Michel Dänzer [Wed, 19 Jul 2006 17:01:33 +0000 (19:01 +0200)]
Some debug output when the getparam ioctl is called with an unknown parameter.
Michel Dänzer [Wed, 19 Jul 2006 16:31:43 +0000 (18:31 +0200)]
.cvsignore -> .gitignore
Sort the merged file, remove the redundant explicit .ko lines and add
some generated symlinks.
Thomas Hellstrom [Tue, 11 Jul 2006 14:37:37 +0000 (14:37 +0000)]
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.
Thomas Hellstrom [Mon, 10 Jul 2006 13:00:21 +0000 (13:00 +0000)]
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.
Thomas Hellstrom [Wed, 5 Jul 2006 15:52:35 +0000 (15:52 +0000)]
SiS 315 Awareness.
Thomas Hellstrom [Wed, 5 Jul 2006 14:39:22 +0000 (14:39 +0000)]
Add missing semaphore release.
Adam Jackson [Tue, 27 Jun 2006 21:04:50 +0000 (21:04 +0000)]
Disable building static libraries. Bump to 2.0.2 for header updates.
Alan Hourihane [Fri, 23 Jun 2006 16:29:39 +0000 (16:29 +0000)]
Fix compilation problem on 2.6.9 kernels (bug #6211)
Keith Packard [Thu, 22 Jun 2006 21:34:44 +0000 (21:34 +0000)]
Remove spurious debug messages from i915 vblank config paths
Keith Packard [Wed, 21 Jun 2006 00:15:10 +0000 (00:15 +0000)]
i915: Save vblank pipe configuration to restore on resume
Keith Packard [Mon, 19 Jun 2006 20:15:53 +0000 (20:15 +0000)]
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.
Thomas Hellstrom [Mon, 19 Jun 2006 09:12:50 +0000 (09:12 +0000)]
Fix buffer cleanup on close. Move memory manager reset from final_context
to lastclose.
Thomas Hellstrom [Mon, 19 Jun 2006 09:01:31 +0000 (09:01 +0000)]
via: Bump version number and date.
Thomas Hellstrom [Fri, 16 Jun 2006 15:20:20 +0000 (15:20 +0000)]
via: Return the requested size instead of the correct size of the allocated
regions. The 2D driver and XvMC lib has problems when the returned size
is not the same as the allocated size.
Thomas Hellstrom [Thu, 15 Jun 2006 18:37:05 +0000 (18:37 +0000)]
via:
-Remove out of memory error message.
-Move sman cleanup from final_context to lastclose.
-Add the P4VM800PRO (?) PCI ID.
Thomas Hellstrom [Tue, 6 Jun 2006 17:52:03 +0000 (17:52 +0000)]
s/list_entry/drm_hash_entry/ for "drm_hash_item"s.
Thomas Hellstrom [Tue, 6 Jun 2006 17:46:17 +0000 (17:46 +0000)]
Fix drm_remove_magic potential memory leak / corruption. Move drm
authentication token hashing to new generic hash table implementation.
Thomas Hellstrom [Tue, 6 Jun 2006 14:19:00 +0000 (14:19 +0000)]
Merge in the drm-sman-branch
Thomas Hellstrom [Sun, 28 May 2006 16:20:29 +0000 (16:20 +0000)]
file via_mm.c was initially added on branch drm-sman-branch.
Thomas Hellstrom [Sun, 28 May 2006 16:20:29 +0000 (16:20 +0000)]
file drm_sman.h was initially added on branch drm-sman-branch.
Thomas Hellstrom [Sun, 28 May 2006 16:20:29 +0000 (16:20 +0000)]
file sis_mm.c was initially added on branch drm-sman-branch.
Thomas Hellstrom [Sun, 28 May 2006 16:20:29 +0000 (16:20 +0000)]
file drm_sman.c was initially added on branch drm-sman-branch.
Thomas Hellstrom [Fri, 26 May 2006 19:33:02 +0000 (19:33 +0000)]
file drm_hashtab.h was initially added on branch drm-ttm-branch.
Roland Scheidegger [Wed, 24 May 2006 18:36:24 +0000 (18:36 +0000)]
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)
Roland Scheidegger [Sat, 20 May 2006 09:20:05 +0000 (09:20 +0000)]
add forgotten register define for previous commit
Roland Scheidegger [Sat, 20 May 2006 09:08:18 +0000 (09:08 +0000)]
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.
Dave Airlie [Fri, 19 May 2006 04:11:22 +0000 (04:11 +0000)]
rip out unneeded back compat code
Dave Airlie [Thu, 18 May 2006 07:32:37 +0000 (07:32 +0000)]
add consts to radeon microcode.
From: tilman
Eric Anholt [Wed, 17 May 2006 06:07:57 +0000 (06:07 +0000)]
Set entry->virtual for sg maps, fixing ATI PCI/PCIE GART support.
PR: kern/97056 Submitted by: Stanislav Sedov <ssedov@mbsd.msk.ru>
Eric Anholt [Wed, 17 May 2006 05:44:39 +0000 (05:44 +0000)]
Add the bits for vblank support on FreeBSD, which most importantly avoids
chasing a NULL pointer at the first 3d app invocation.
Eric Anholt [Wed, 17 May 2006 05:41:48 +0000 (05:41 +0000)]
Add the workaround that's in the kernel to suppress GCC's warning about
refusal to inline functions that (in some cases, at least) aren't that
large.
Dave Airlie [Sun, 23 Apr 2006 09:05:05 +0000 (09:05 +0000)]
fixup GFP_COMP for older kernels and get_page/put_page for newer
Dave Airlie [Sun, 23 Apr 2006 08:07:57 +0000 (08:07 +0000)]
Fix from Benh for ppc r300 scratch
Brian Paul [Thu, 20 Apr 2006 14:26:59 +0000 (14:26 +0000)]
check for __FreeBSD_kernel__ (bug 3810)
Eric Anholt [Tue, 18 Apr 2006 06:12:22 +0000 (06:12 +0000)]
Err, use "ifndef" rather than "if !", to avoid compiler warning.
Eric Anholt [Tue, 18 Apr 2006 06:08:17 +0000 (06:08 +0000)]
Reorder the DRM_*_AGP enum to match linux's numbers (oops). Fixes i915
attachment. Make our mga_drv.c use them, while I'm here.
Submitted by: Jonathan Fosburgh <jonathan@fosburgh.org>
Eric Anholt [Tue, 18 Apr 2006 05:57:28 +0000 (05:57 +0000)]
Use __LP64__ instead of checking the linux-specific BITS_PER_LONG.
Eric Anholt [Sun, 9 Apr 2006 20:10:32 +0000 (20:10 +0000)]
Revert a change that accidentally went in with whitespace changes from
Linux, which broke on FreeBSD. DRM_COPY_*_IOCTL checks for the size
parameter matching the ioctl's command size there, since the copin/out
happened earlier.
Eric Anholt [Sat, 8 Apr 2006 09:45:43 +0000 (09:45 +0000)]
Compile fixes for FreeBSD.
Dave Airlie [Wed, 5 Apr 2006 08:34:24 +0000 (08:34 +0000)]
coverity bugfix from the kernel
Dave Airlie [Wed, 5 Apr 2006 01:23:57 +0000 (01:23 +0000)]
remove stupid init and exit flags..
Dave Airlie [Mon, 3 Apr 2006 08:06:51 +0000 (08:06 +0000)]
make add context non master...
Dave Airlie [Sat, 25 Mar 2006 07:16:14 +0000 (07:16 +0000)]
radeon fix up the PCI ids for new memory map like the kernel one.. not
perfect but should be very safe... align some other kernel bits i810
align with kernel
Adam Jackson [Mon, 20 Mar 2006 21:40:54 +0000 (21:40 +0000)]
Bump driver date to reflect airlied's last fix.
Dave Airlie [Sun, 19 Mar 2006 07:53:46 +0000 (07:53 +0000)]
fix issue in mga from kernel
Dave Airlie [Sun, 19 Mar 2006 07:52:53 +0000 (07:52 +0000)]
make some functions static in via driver
Roland Scheidegger [Fri, 17 Mar 2006 01:35:34 +0000 (01:35 +0000)]
Add missing pci ids for new radeons (most but not all are pcie, r420,
rv380, rv410), with the exception of the rs400 igps. Hopefully they no
longer lock up with new ddx, but no guarantees... (bug #5413)
Adam Jackson [Wed, 15 Mar 2006 01:02:54 +0000 (01:02 +0000)]
Avoid walking off the end of the hash table. (Coverity report #465)
Dave Airlie [Wed, 8 Mar 2006 23:01:32 +0000 (23:01 +0000)]
Fix bug I reintroduced
Dave Airlie [Wed, 8 Mar 2006 06:03:45 +0000 (06:03 +0000)]
fix some use before NULL check
Aapo Tahkola [Tue, 7 Mar 2006 01:08:35 +0000 (01:08 +0000)]
ia64 support for r300_scratch. (not tested)
Aapo Tahkola [Mon, 6 Mar 2006 20:08:50 +0000 (20:08 +0000)]
Add general-purpose packet for manipulating scratch registers (r300)
Thomas Hellstrom [Wed, 1 Mar 2006 22:22:25 +0000 (22:22 +0000)]
file xf86mm.c was initially added on branch drm-ttm-branch.
Thomas Hellstrom [Wed, 1 Mar 2006 22:22:25 +0000 (22:22 +0000)]
file xf86mm.h was initially added on branch drm-ttm-branch.
Roland Scheidegger [Sat, 25 Feb 2006 09:51:15 +0000 (09:51 +0000)]
Add all radeon pci ids known by ddx, but only r350/rv350 and below (new
chips may be problematic). Leave the existing entries for new chips in
though. Remove ids not known by ddx (secondary ids, non-existant,...).
Correct some entries (name/family). Make the radeon family enum look
more alike the ddx/dri versions. See #5413
Dave Airlie [Tue, 21 Feb 2006 11:10:05 +0000 (11:10 +0000)]
set dma pages reserved
Dave Airlie [Tue, 21 Feb 2006 10:28:47 +0000 (10:28 +0000)]
use coherent memory for PCI allocations with COMP flag
Adam Jackson [Mon, 20 Feb 2006 23:09:00 +0000 (23:09 +0000)]
Formatting cleanup, dead code removal. Remove N() namespacing macro,
useless. Remove SIGIO handling functions as they're server-only and
properly belong in libdri.
Dave Airlie [Sun, 19 Feb 2006 12:08:14 +0000 (12:08 +0000)]
experimental PCI DMA fixes use proper Linux interfaces
Dave Airlie [Sun, 19 Feb 2006 12:06:27 +0000 (12:06 +0000)]
missed a piece of benh patch
Dave Airlie [Sat, 18 Feb 2006 05:43:19 +0000 (05:43 +0000)]
make some functions static from the kernel
Dave Airlie [Sat, 18 Feb 2006 05:30:03 +0000 (05:30 +0000)]
fix brace placement
Dave Airlie [Sat, 18 Feb 2006 04:18:45 +0000 (04:18 +0000)]
always enable and set master on pci device
Dave Airlie [Sat, 18 Feb 2006 04:13:36 +0000 (04:13 +0000)]
clear i915 interrupts sources on server exit
Dave Airlie [Sat, 18 Feb 2006 03:21:29 +0000 (03:21 +0000)]
add proper checking for bitblt multi
Dave Airlie [Sat, 18 Feb 2006 03:04:30 +0000 (03:04 +0000)]
add benh's memory management patch
Dave Airlie [Sat, 18 Feb 2006 03:01:38 +0000 (03:01 +0000)]
fix build wrong function call
Dave Airlie [Sat, 18 Feb 2006 02:53:36 +0000 (02:53 +0000)]
major realigment of DRM CVS with kernel code, makes integration much easier
Dave Airlie [Sat, 18 Feb 2006 02:38:07 +0000 (02:38 +0000)]
fix card unload