OSDN Git Service

android-x86/external-libdrm.git
17 years agoLibdrm version bump and naming.
Thomas Hellstrom [Thu, 28 Sep 2006 10:19:54 +0000 (12:19 +0200)]
Libdrm version bump and naming.

17 years agoDon't enable fence / buffer objects on non-linux systems.
Thomas Hellstrom [Thu, 28 Sep 2006 09:33:03 +0000 (11:33 +0200)]
Don't enable fence / buffer objects on non-linux systems.
Bump driver minor and date.

17 years agoActivate error message that was never hit since it was masked
Thomas Hellstrom [Wed, 27 Sep 2006 17:11:27 +0000 (19:11 +0200)]
Activate error message that was never hit since it was masked
by drm_lock_transfer.
Ifdef out drm_lock_transfer. I see no use for it currently. Should be removed.

17 years agoFix racy buffer object destruction.
Thomas Hellstrom [Wed, 27 Sep 2006 17:07:55 +0000 (19:07 +0200)]
Fix racy buffer object destruction.

17 years agoFix tt fixed size that slipped through in previous commit.
Thomas Hellstrom [Wed, 27 Sep 2006 07:31:39 +0000 (09:31 +0200)]
Fix tt fixed size that slipped through in previous commit.

17 years agoAdapt to architecture-specific hooks for gatt pages.
Thomas Hellstrom [Wed, 27 Sep 2006 07:27:31 +0000 (09:27 +0200)]
Adapt to architecture-specific hooks for gatt pages.

17 years agoSilence valgrind.
Thomas Hellstrom [Tue, 26 Sep 2006 14:00:22 +0000 (16:00 +0200)]
Silence valgrind.

17 years agoRemove the call to drm_lock_transfer, since it is not used anymore.
Thomas Hellstrom [Tue, 26 Sep 2006 12:40:11 +0000 (14:40 +0200)]
Remove the call to drm_lock_transfer, since it is not used anymore.
Fix up drm_lock_free to retain the last locking context information.

17 years agoAllow for a driver to overload the ttm backend object methods.
Thomas Hellstrom [Tue, 26 Sep 2006 12:36:53 +0000 (14:36 +0200)]
Allow for a driver to overload the ttm backend object methods.

17 years agoAdd /proc filesystem buffer / fence object accounting.
Thomas Hellstrom [Mon, 25 Sep 2006 09:51:08 +0000 (11:51 +0200)]
Add /proc filesystem buffer / fence object accounting.
Check for NULL pointer in the i915 flush handler.
Remove i915_sync_flush declaration.

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