Commit Graph

1787 Commits (ff4b5ccdb4ef985c29e3f0d36e1c5094d02733e2)

Author SHA1 Message Date
Thomas Hellstrom f613022cee Allow a "native type" to be associated with a fence sequence.
In the intel case, we can associate a flush with a sequence.
2006-09-15 16:47:09 +02:00
Thomas Hellstrom 49fbeb339c 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.
2006-09-15 11:18:35 +02:00
Thomas Hellstrom 7223b4e264 Simplify ttm alloc and free. 2006-09-14 16:42:00 +02:00
Thomas Hellstrom 682c6ed029 Remove the use of reserved pages, and use locked pages instead.
Update compatibility for latest linux versions.
2006-09-14 12:17:38 +02:00
Thomas Hellstrom 9adc9584a7 Fix some debug messages. 2006-09-12 17:39:44 +02:00
Thomas Hellstrom 861b26578c Use lazy fence wait when possible even for RW fences. Saves some CPU.
Lindent.
2006-09-12 16:28:34 +02:00
Thomas Hellstrom 191e284709 More bugfixes.
Disable the i915 IRQ turnoff for now since it seems to be causing problems.
2006-09-12 12:01:00 +02:00
Dave Airlie 3cc64a943a drm: use radeon specific names for radeon flags 2006-09-12 06:13:14 +10:00
Thomas Hellstrom 99acb79366 Various bugfixes. 2006-09-08 17:24:38 +02:00
Eric Anholt dddacd7a3a Use the DRM_INIT_WAITQUEUE argument (needed on Linux) to avoid a warning. 2006-09-06 23:26:50 -07:00
Eric Anholt 55057660f0 Put the PCI device/vendor id in the drm_device_t.
This helps us unbreak FreeBSD DRM from the 965 changes.
2006-09-06 23:25:14 -07:00
Eric Anholt d572676185 Add a typedef for u64. 2006-09-06 23:08:29 -07:00
Thomas Hellstrom e3f54ecdd9 Multithreaded application note. 2006-09-05 19:36:45 +02:00
Thomas Hellstrom 6042153968 Fence all unfenced buffers function. 2006-09-05 18:00:25 +02:00
Thomas Hellstrom 034fc31292 i915: Only turn on user IRQs when they are needed. 2006-09-05 14:23:18 +02:00
Thomas Hellstrom 8c613a8363 Fix memory cache initialization. 2006-09-05 11:00:52 +02:00
Thomas Hellstrom f88c32fd4c Libdrm function headers. Some renaming. 2006-09-04 22:05:21 +02:00
Thomas Hellstrom 550f51b4bf Buffer object wait IOCTL operation.
Remove option to wait for fence / buffers and block signals.
2006-09-04 21:50:12 +02:00
Thomas Hellstrom a6b8e3eaf4 Make memory caches global so that they can be used with
multiple heads.
2006-09-04 16:57:20 +02:00
Thomas Hellstrom a96b61fdc4 Lindent drm_bo.c 2006-09-01 18:11:34 +02:00
Thomas Hellstrom 405b5d9ca8 Flag bit pattern bugfixes. Remove some error messages. 2006-09-01 18:11:05 +02:00
Thomas Hellstrom ef8e618cf3 Export buffer info on map and validate ioctls.
Add an info ioctl operation.
2006-09-01 16:38:06 +02:00
Thomas Hellstrom 11f51a9a87 Bugfixes,
Memory allocation optimizations.
Buffer manager takedown.
2006-09-01 15:41:55 +02:00
Thomas Hellstrom 4edb95d6e0 Various bugfixes. 2006-09-01 11:23:21 +02:00
Thomas Hellstrom 44f6d08988 Validation and fencing. 2006-08-31 21:42:29 +02:00
Thomas Hellstrom 03c137c5f8 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.
2006-08-31 15:36:40 +02:00
Thomas Hellstrom ec8c79b79d More mapping synchronization.
libdrm validate and fencing functions.
2006-08-31 14:10:13 +02:00
Thomas Hellstrom ed9de124cc Lindenting drm_bo.c and drm_ttm.c 2006-08-30 21:31:38 +02:00
Thomas Hellstrom 914a77a15a Buffer object binding.
Some code reordering.
2006-08-30 21:30:47 +02:00
Thomas Hellstrom 611662ab28 Buffer eviction.
Reworked map refcounting so that any process waiting on buffer object unmap
will allow in other processes to unmap the buffer object.
2006-08-30 20:23:40 +02:00
Thomas Hellstrom d39055174b Remove the buffer object hint field and use it only
as an argument.
Validate stub.
2006-08-30 17:40:07 +02:00
Thomas Hellstrom ff95ea5536 Add missing map flags. 2006-08-30 15:11:50 +02:00
Thomas Hellstrom 14a835be61 Buffer object mapping and mapping synchronization for multiple clients. 2006-08-30 15:08:40 +02:00
Thomas Hellstrom e47a4fda2e Memory manager init and takedown. 2006-08-30 13:04:08 +02:00
Thomas Hellstrom 033bda07e9 Buffer object reply fill in.
Lindent of drm_bo.c drm_ttm.c
2006-08-30 09:57:35 +02:00
Thomas Hellstrom de144ba23c Part of buffer object libdrm interface. 2006-08-29 21:57:37 +02:00
Thomas Hellstrom 23f01c9fe8 Checkpoint commit. Buffer object flags and IOCTL argument list. 2006-08-29 18:40:08 +02:00
Thomas Hellstrom 0dedfc2cd0 Checkpoint ttm addition to buffer objects. 2006-08-29 14:52:02 +02:00
Thomas Hellstrom 279e8d26c6 64-bit IOCTL integer (Michel Dnzer & Brian Paul) 2006-08-29 10:45:34 +02:00
Thomas Hellstrom 2057406470 Buffer object creation. 2006-08-28 17:51:53 +02:00
Thomas Hellstrom 0d67356de4 Proper TTM dereferencing
Initial buffer object creation.
2006-08-28 16:36:37 +02:00
Thomas Hellstrom 05536a6478 Buffer object idle and mapping synchronization. 2006-08-28 13:51:39 +02:00
Thomas Hellstrom 480ea65ee4 Checkpoint buffer object IOCTL stub. 2006-08-28 10:58:21 +02:00
Thomas Hellstrom e181f594a4 Add a 64-bit drm unsigned type for 64-bit clean IOCTLS.
Conversion functions in drmP.h and xf86drm.c.
2006-08-28 09:49:09 +02:00
Thomas Hellstrom 4ddabd1562 Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into drm-ttm-0-2-branch
Conflicts:

	linux-core/drmP.h
2006-08-28 09:28:10 +02: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 60ddaaf2e0 add static function, and remove bad attributions 2006-08-28 11:28:38 +10:00
Dave Airlie 3586ecd060 fix const pointer warnings with file_operations 2006-08-28 11:27:13 +10:00
Dave Airlie 205c573e44 remove local copies of pci domain/bus/slot/num 2006-08-28 11:27:09 +10:00
Dave Airlie b4feb2c04e remove some DRM_ARRAY_SIZE from linux core code 2006-08-28 11:27:05 +10:00