platform/upstream/libdrm.git
17 years agoFix proc formatting broken by last commit.
Thomas Hellstrom [Fri, 22 Sep 2006 07:25:36 +0000 (09:25 +0200)]
Fix proc formatting broken by last commit.
GPU lockup error reporting.

17 years agoAllow for 64-bit map handles of ttms and buffer objects.
Thomas Hellstrom [Wed, 20 Sep 2006 14:31:15 +0000 (16:31 +0200)]
Allow for 64-bit map handles of ttms and buffer objects.

17 years agoFence handler fix
Thomas Hellstrom [Mon, 18 Sep 2006 19:50:00 +0000 (21:50 +0200)]
Fence handler fix

17 years agoAlternative implementation of page table zeroing using zap page_range.
Thomas Hellstrom [Mon, 18 Sep 2006 18:43:31 +0000 (20:43 +0200)]
Alternative implementation of page table zeroing using zap page_range.
(Disabled for now)
Fix bo_wait_idle bug.
Remove stray debug message.

17 years agoMore verbose error reporting in some cases.
Thomas Hellstrom [Mon, 18 Sep 2006 14:02:33 +0000 (16:02 +0200)]
More verbose error reporting in some cases.
Add a buffer object waitIdle user-space function.
Fix some names and minor glitches.

17 years agoAllow a "native type" to be associated with a fence sequence.
Thomas Hellstrom [Fri, 15 Sep 2006 14:47:09 +0000 (16:47 +0200)]
Allow a "native type" to be associated with a fence sequence.
In the intel case, we can associate a flush with a sequence.

17 years agoSome bugfixes.
Thomas Hellstrom [Fri, 15 Sep 2006 09:18:35 +0000 (11:18 +0200)]
Some bugfixes.
Change the fence object interface somewhat to allow some more flexibility.
Make list IOCTLS really restartable.
Try to avoid busy-waits in the kernel using immediate return to user-space with an -EAGAIN.

17 years agoSimplify ttm alloc and free.
Thomas Hellstrom [Thu, 14 Sep 2006 14:42:00 +0000 (16:42 +0200)]
Simplify ttm alloc and free.

17 years agoRemove the use of reserved pages, and use locked pages instead.
Thomas Hellstrom [Thu, 14 Sep 2006 10:17:38 +0000 (12:17 +0200)]
Remove the use of reserved pages, and use locked pages instead.
Update compatibility for latest linux versions.

17 years agoFix some debug messages.
Thomas Hellstrom [Tue, 12 Sep 2006 15:39:44 +0000 (17:39 +0200)]
Fix some debug messages.

17 years agoUse lazy fence wait when possible even for RW fences. Saves some CPU.
Thomas Hellstrom [Tue, 12 Sep 2006 14:28:34 +0000 (16:28 +0200)]
Use lazy fence wait when possible even for RW fences. Saves some CPU.
Lindent.

17 years agoMore bugfixes.
Thomas Hellstrom [Tue, 12 Sep 2006 10:01:00 +0000 (12:01 +0200)]
More bugfixes.
Disable the i915 IRQ turnoff for now since it seems to be causing problems.

17 years agoVarious bugfixes.
Thomas Hellstrom [Fri, 8 Sep 2006 15:24:38 +0000 (17:24 +0200)]
Various bugfixes.

17 years agoMultithreaded application note.
Thomas Hellstrom [Tue, 5 Sep 2006 17:36:45 +0000 (19:36 +0200)]
Multithreaded application note.

17 years agoFence all unfenced buffers function.
Thomas Hellstrom [Tue, 5 Sep 2006 16:00:25 +0000 (18:00 +0200)]
Fence all unfenced buffers function.

17 years agoi915: Only turn on user IRQs when they are needed.
Thomas Hellstrom [Tue, 5 Sep 2006 12:23:18 +0000 (14:23 +0200)]
i915: Only turn on user IRQs when they are needed.

17 years agoFix memory cache initialization.
Thomas Hellstrom [Tue, 5 Sep 2006 09:00:52 +0000 (11:00 +0200)]
Fix memory cache initialization.

17 years agoLibdrm function headers. Some renaming.
Thomas Hellstrom [Mon, 4 Sep 2006 20:05:21 +0000 (22:05 +0200)]
Libdrm function headers. Some renaming.

17 years agoBuffer object wait IOCTL operation.
Thomas Hellstrom [Mon, 4 Sep 2006 19:50:12 +0000 (21:50 +0200)]
Buffer object wait IOCTL operation.
Remove option to wait for fence / buffers and block signals.

17 years agoMake memory caches global so that they can be used with
Thomas Hellstrom [Mon, 4 Sep 2006 14:57:20 +0000 (16:57 +0200)]
Make memory caches global so that they can be used with
multiple heads.

17 years agoLindent drm_bo.c
Thomas Hellstrom [Fri, 1 Sep 2006 16:11:34 +0000 (18:11 +0200)]
Lindent drm_bo.c

17 years agoFlag bit pattern bugfixes. Remove some error messages.
Thomas Hellstrom [Fri, 1 Sep 2006 16:11:05 +0000 (18:11 +0200)]
Flag bit pattern bugfixes. Remove some error messages.

17 years agoExport buffer info on map and validate ioctls.
Thomas Hellstrom [Fri, 1 Sep 2006 14:38:06 +0000 (16:38 +0200)]
Export buffer info on map and validate ioctls.
Add an info ioctl operation.

17 years agoBugfixes,
Thomas Hellstrom [Fri, 1 Sep 2006 13:41:55 +0000 (15:41 +0200)]
Bugfixes,
Memory allocation optimizations.
Buffer manager takedown.

17 years agoVarious bugfixes.
Thomas Hellstrom [Fri, 1 Sep 2006 09:23:21 +0000 (11:23 +0200)]
Various bugfixes.

17 years agoValidation and fencing.
Thomas Hellstrom [Thu, 31 Aug 2006 19:42:29 +0000 (21:42 +0200)]
Validation and fencing.

17 years agoRemove the buffer manager mutex. Use dev->struct_mutex instead.
Thomas Hellstrom [Thu, 31 Aug 2006 13:36:40 +0000 (15:36 +0200)]
Remove the buffer manager mutex. Use dev->struct_mutex instead.
Add a function to free buffers on hold for destruction if their
  fence object has expired.
Add a timer to periodically call that function when there are
  buffers pending deletion.

17 years agoMore mapping synchronization.
Thomas Hellstrom [Thu, 31 Aug 2006 12:10:13 +0000 (14:10 +0200)]
More mapping synchronization.
libdrm validate and fencing functions.

17 years agoLindenting drm_bo.c and drm_ttm.c
Thomas Hellstrom [Wed, 30 Aug 2006 19:31:38 +0000 (21:31 +0200)]
Lindenting drm_bo.c and drm_ttm.c

17 years agoBuffer object binding.
Thomas Hellstrom [Wed, 30 Aug 2006 19:30:47 +0000 (21:30 +0200)]
Buffer object binding.
Some code reordering.

17 years agoBuffer eviction.
Thomas Hellstrom [Wed, 30 Aug 2006 18:23:40 +0000 (20:23 +0200)]
Buffer eviction.
Reworked map refcounting so that any process waiting on buffer object unmap
will allow in other processes to unmap the buffer object.

17 years agoRemove the buffer object hint field and use it only
Thomas Hellstrom [Wed, 30 Aug 2006 15:40:07 +0000 (17:40 +0200)]
Remove the buffer object hint field and use it only
as an argument.
Validate stub.

17 years agoAdd missing map flags.
Thomas Hellstrom [Wed, 30 Aug 2006 13:11:50 +0000 (15:11 +0200)]
Add missing map flags.

17 years agoBuffer object mapping and mapping synchronization for multiple clients.
Thomas Hellstrom [Wed, 30 Aug 2006 13:08:40 +0000 (15:08 +0200)]
Buffer object mapping and mapping synchronization for multiple clients.

17 years agoMemory manager init and takedown.
Thomas Hellstrom [Wed, 30 Aug 2006 11:04:08 +0000 (13:04 +0200)]
Memory manager init and takedown.

17 years agoBuffer object reply fill in.
Thomas Hellstrom [Wed, 30 Aug 2006 07:57:35 +0000 (09:57 +0200)]
Buffer object reply fill in.
Lindent of drm_bo.c drm_ttm.c

17 years agoPart of buffer object libdrm interface.
Thomas Hellstrom [Tue, 29 Aug 2006 19:57:37 +0000 (21:57 +0200)]
Part of buffer object libdrm interface.

17 years agoCheckpoint commit. Buffer object flags and IOCTL argument list.
Thomas Hellstrom [Tue, 29 Aug 2006 16:40:08 +0000 (18:40 +0200)]
Checkpoint commit. Buffer object flags and IOCTL argument list.

17 years agoCheckpoint ttm addition to buffer objects.
Thomas Hellstrom [Tue, 29 Aug 2006 12:52:02 +0000 (14:52 +0200)]
Checkpoint ttm addition to buffer objects.

17 years ago64-bit IOCTL integer (Michel Dänzer & Brian Paul)
Thomas Hellstrom [Tue, 29 Aug 2006 08:45:34 +0000 (10:45 +0200)]
64-bit IOCTL integer (Michel Dänzer & Brian Paul)

17 years agoBuffer object creation.
Thomas Hellstrom [Mon, 28 Aug 2006 15:51:53 +0000 (17:51 +0200)]
Buffer object creation.

17 years agoProper TTM dereferencing
Thomas Hellstrom [Mon, 28 Aug 2006 14:36:37 +0000 (16:36 +0200)]
Proper TTM dereferencing
Initial buffer object creation.

17 years agoBuffer object idle and mapping synchronization.
Thomas Hellstrom [Mon, 28 Aug 2006 11:51:39 +0000 (13:51 +0200)]
Buffer object idle and mapping synchronization.

17 years agoCheckpoint buffer object IOCTL stub.
Thomas Hellstrom [Mon, 28 Aug 2006 08:58:21 +0000 (10:58 +0200)]
Checkpoint buffer object IOCTL stub.

17 years agoAdd a 64-bit drm unsigned type for 64-bit clean IOCTLS.
Thomas Hellstrom [Mon, 28 Aug 2006 07:49:09 +0000 (09:49 +0200)]
Add a 64-bit drm unsigned type for 64-bit clean IOCTLS.
Conversion functions in drmP.h and xf86drm.c.

17 years agoMerge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into drm-ttm...
Thomas Hellstrom [Mon, 28 Aug 2006 07:28:10 +0000 (09:28 +0200)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into drm-ttm-0-2-branch

Conflicts:

linux-core/drmP.h

17 years agodrm: lots of small cleanups and whitespace issues fixed up
Dave Airlie [Sat, 19 Aug 2006 07:59:18 +0000 (17:59 +1000)]
drm: lots of small cleanups and whitespace issues fixed up

remove a mach64 warning, align a lot of things from linux kernel

17 years agoadd static function, and remove bad attributions
Dave Airlie [Sat, 19 Aug 2006 06:56:03 +0000 (16:56 +1000)]
add static function, and remove bad attributions

17 years agofix const pointer warnings with file_operations
Dave Airlie [Sat, 19 Aug 2006 06:55:30 +0000 (16:55 +1000)]
fix const pointer warnings with file_operations

17 years agoremove local copies of pci domain/bus/slot/num
Dave Airlie [Sat, 19 Aug 2006 06:55:00 +0000 (16:55 +1000)]
remove local copies of pci domain/bus/slot/num

17 years agoremove some DRM_ARRAY_SIZE from linux core code
Dave Airlie [Sat, 19 Aug 2006 06:43:16 +0000 (16:43 +1000)]
remove some DRM_ARRAY_SIZE from linux core code

17 years agofixup some of the comments in drm_context.c
Dave Airlie [Sat, 19 Aug 2006 06:36:26 +0000 (16:36 +1000)]
fixup some of the comments in drm_context.c

17 years agodrm: i810_dma.c: fix pointer arithmetic for 64-bit target
Dave Airlie [Sat, 19 Aug 2006 06:31:34 +0000 (16:31 +1000)]
drm: i810_dma.c: fix pointer arithmetic for 64-bit target

First warning result from open-coded PTR_ERR,
the rest is caused by code like this:

*(u32 *) ((u32) buf_priv->kernel_virtual + used)

I've also fixed a missing PTR_ERR in i830_dma.c

From: Denis Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
17 years agoBugfixes.
Thomas Hellstrom [Sun, 27 Aug 2006 20:01:33 +0000 (22:01 +0200)]
Bugfixes.

17 years agoInitialize i915 saved flush flags.
Thomas Hellstrom [Sun, 27 Aug 2006 19:21:06 +0000 (21:21 +0200)]
Initialize i915 saved flush flags.

17 years agoRemove the ioctl multiplexing, and instead allow for generic
Thomas Hellstrom [Sun, 27 Aug 2006 19:16:13 +0000 (21:16 +0200)]
Remove the ioctl multiplexing, and instead allow for generic
drm ioctls 0x80 - 0xFF.

17 years agoHave TTM create and reference ioctl call return the actual TTM size.
Thomas Hellstrom [Sun, 27 Aug 2006 17:45:38 +0000 (19:45 +0200)]
Have TTM create and reference ioctl call return the actual TTM size.

17 years agoAdd TTM map handle on reference.
Thomas Hellstrom [Sun, 27 Aug 2006 17:07:38 +0000 (19:07 +0200)]
Add TTM map handle on reference.

17 years agottm create / destroy / ref / unref ioctl.
Thomas Hellstrom [Sun, 27 Aug 2006 17:03:20 +0000 (19:03 +0200)]
ttm create / destroy / ref / unref ioctl.

17 years agoBug #7595: Avoid u32 overflows in radeon_check_and_fixup_offset().
Michel Dänzer [Sat, 26 Aug 2006 10:21:11 +0000 (12:21 +0200)]
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.

17 years agoMore ioctl stubs.
Thomas Hellstrom [Fri, 25 Aug 2006 18:03:39 +0000 (20:03 +0200)]
More ioctl stubs.
Buffer object locking order documentation.

17 years agottm and buffer objects ioctl stubs.
Thomas Hellstrom [Fri, 25 Aug 2006 17:03:42 +0000 (19:03 +0200)]
ttm and buffer objects ioctl stubs.

17 years agoModule protection map access is moving into mainline kernels.
Thomas Hellstrom [Fri, 25 Aug 2006 16:14:22 +0000 (18:14 +0200)]
Module protection map access is moving into mainline kernels.
Update drm_compat accordingly.
(Reported by Dave Airlie)

17 years agoCheckpoint commit
Thomas Hellstrom [Fri, 25 Aug 2006 16:05:35 +0000 (18:05 +0200)]
Checkpoint commit
Buffer object code.

17 years agoFix previous commit: Only fall back to hashed handles
Thomas Hellstrom [Wed, 23 Aug 2006 11:49:13 +0000 (13:49 +0200)]
Fix previous commit: Only fall back to hashed handles
when there is a duplicate handle error. Not for other errors.

17 years agoMerge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into drm-ttm...
Thomas Hellstrom [Wed, 23 Aug 2006 11:31:45 +0000 (13:31 +0200)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into drm-ttm-0-2-branch

17 years agoAllow multiple addMaps with the same 32-bit map offset.
Thomas Hellstrom [Wed, 23 Aug 2006 09:31:10 +0000 (11:31 +0200)]
Allow multiple addMaps with the same 32-bit map offset.
(Reported by Dave Airlie)

17 years agoFix hashtab implementation leaking illegal error codes to user space.
Thomas Hellstrom [Wed, 23 Aug 2006 09:21:33 +0000 (11:21 +0200)]
Fix hashtab implementation leaking illegal error codes to user space.
(Reported by Dave Airlie)

17 years agoMore ttm cleanups.
Thomas Hellstrom [Tue, 22 Aug 2006 09:57:08 +0000 (11:57 +0200)]
More ttm cleanups.

17 years agottm code cleanup.
Thomas Hellstrom [Tue, 22 Aug 2006 09:19:53 +0000 (11:19 +0200)]
ttm code cleanup.
Fix the sleep-in-page-table-spinlock bug discovered by Dave Airlie

17 years agoAdd a fence object class field for future use (For example VSYNC fence objects)
Thomas Hellstrom [Tue, 22 Aug 2006 08:44:09 +0000 (10:44 +0200)]
Add a fence object class field for future use (For example VSYNC fence objects)

17 years agoInitial i915 buffer object driver
Thomas Hellstrom [Tue, 22 Aug 2006 08:24:48 +0000 (10:24 +0200)]
Initial i915 buffer object driver

17 years agoAGP backends for TTM.
Thomas Hellstrom [Tue, 22 Aug 2006 08:09:57 +0000 (10:09 +0200)]
AGP backends for TTM.

17 years agoBring in stripped TTM functionality.
Thomas Hellstrom [Tue, 22 Aug 2006 07:47:33 +0000 (09:47 +0200)]
Bring in stripped TTM functionality.

17 years agoAllow longer sequence lifetimes.
Thomas Hellstrom [Mon, 21 Aug 2006 19:37:43 +0000 (21:37 +0200)]
Allow longer sequence lifetimes.

17 years agoi915 fence object driver implementing 2 fence object types:
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).

17 years agoRemove some accidently included TTM code.
Thomas Hellstrom [Mon, 21 Aug 2006 19:12:29 +0000 (21:12 +0200)]
Remove some accidently included TTM code.

17 years agoAdd missing fence type define.
Thomas Hellstrom [Mon, 21 Aug 2006 19:04:36 +0000 (21:04 +0200)]
Add missing fence type define.
Add drm_fence.o to Makefile

17 years agoUser / Kernel space fence objects (device-independent part).
Thomas Hellstrom [Mon, 21 Aug 2006 19:02:08 +0000 (21:02 +0200)]
User / Kernel space fence objects (device-independent part).

17 years agoBackwards compatibility code for ttms.
Thomas Hellstrom [Mon, 21 Aug 2006 18:38:57 +0000 (20:38 +0200)]
Backwards compatibility code for ttms.

17 years agoGeneric DRM support base-class support for user-space objects, like
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.

17 years agoAvoid using vmalloc for small hash tables.
Thomas Hellstrom [Mon, 21 Aug 2006 15:02:44 +0000 (17:02 +0200)]
Avoid using vmalloc for small hash tables.

17 years agoRemove hash tables on DRM exit.
Thomas Hellstrom [Wed, 16 Aug 2006 14:36:56 +0000 (16:36 +0200)]
Remove hash tables on DRM exit.

17 years agoAvoid kernel oops in some error paths calling drm_lastclose().
Thomas Hellstrom [Mon, 14 Aug 2006 15:11:14 +0000 (17:11 +0200)]
Avoid kernel oops in some error paths calling drm_lastclose().

17 years agoremove all TRUE instances as well
Dave Airlie [Mon, 14 Aug 2006 01:52:34 +0000 (11:52 +1000)]
remove all TRUE instances as well

17 years agoremove all TRUE/FALSE no need for this in the drm, use 0 or 1
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

17 years agoi965 code and Linux coding style < 0
Dave Airlie [Thu, 10 Aug 2006 04:38:50 +0000 (14:38 +1000)]
i965 code and Linux coding style < 0

smack my whitespace up.

17 years agocleanup some whitespace issue and move compat code to compat header
Dave Airlie [Thu, 10 Aug 2006 04:32:18 +0000 (14:32 +1000)]
cleanup some whitespace issue and move compat code to compat header

17 years agoclean up script to create an lk drm directory
Dave Airlie [Thu, 10 Aug 2006 04:31:56 +0000 (14:31 +1000)]
clean up script to create an lk drm directory

17 years agodrm: ati_pcigart cleanup
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

17 years agoAdd support for Intel i965G chipsets.
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.

17 years agodrm: whitespace cleanup in new files
Dave Airlie [Mon, 7 Aug 2006 11:34:40 +0000 (21:34 +1000)]
drm: whitespace cleanup in new files

17 years agodrm: remove extra whitespace from drm_mm.c
Dave Airlie [Mon, 7 Aug 2006 11:00:13 +0000 (21:00 +1000)]
drm: remove extra whitespace from drm_mm.c

17 years agodrm: fixup whitespace and style for Linux kernel import
Dave Airlie [Mon, 7 Aug 2006 10:56:38 +0000 (20:56 +1000)]
drm: fixup whitespace and style for Linux kernel import

17 years agoRevert "Make sure busmastering gets disabled on module unload."
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.

17 years agoBug #7629: Fix for CHIP_IS_AGP getting 'restored' with non-AGP cards
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.

18 years agoremove incorrect exit marking on cleanup pci as this is called from other paths
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

18 years agoswitch drm to use Linux mutexes instead of semaphore.
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.

18 years agoDelete the pre-core DRM code with extreme prejudice.
Adam Jackson [Wed, 19 Jul 2006 20:19:25 +0000 (16:19 -0400)]
Delete the pre-core DRM code with extreme prejudice.

18 years agoMake sure busmastering gets disabled on module unload.
Adam Jackson [Wed, 19 Jul 2006 19:35:31 +0000 (15:35 -0400)]
Make sure busmastering gets disabled on module unload.