Dave Airlie
25c51f539f
drm/ttm: ioctl cleanup for buffer object - user side only
...
This just cleans up the xf86drm.c to what I want and drm.h,
I need to fix up the kernel internals to suit these changes now.
I've moved to using struct instead of typedefs for the bo and it doesn't look
that bad so I'll do the same thing for mm and fence..
2007-05-08 17:53:58 +10:00
Dave Airlie
6a62941eca
drm/ttm: cleanup most of fence ioctl split out
2007-05-06 11:35:11 +10:00
Dave Airlie
ee8954cb53
drm/ttm: cleanup mm_ioctl ioctls to be separate ioctls.
...
This is the first bunch of ioctls
2007-05-06 11:17:30 +10:00
Thomas Hellstrom
cf7c90f7b4
Fix buffer object list freeing.
2007-05-02 17:14:57 +02:00
George Sapountzis
b69b426346
libdrm: remove HAVE_XORG_CONFIG_H and XFree86LOADER ifdef's.
...
We no longer import libdrm in the xserver.
2007-04-26 14:15:55 +03:00
Thomas Hellstrom
e6e4946c82
Require the hardware lock for buffer creation
...
(since that implies a validate).
Fix drm_bo_wait_unfenced error messages and codes.
Fix some return codes from libdrm.
2007-04-16 16:23:05 +02:00
Jakob Bornecrantz
9d8ba2d0d4
drm: remove unnecessary NULL checks, and fix some indents..
2007-02-25 10:48:26 +11:00
Thomas Hellstrom
e0f53e59be
Simple fence object sample driver for via, based on idling the GPU.
...
Buffer object driver for via.
Some changes to buffer object driver callbacks.
Improve fence flushing.
2007-02-16 20:22:24 +01:00
Thomas Hellstrom
7766378d97
Initial support for fence object classes.
...
(Fence objects belonging to different command submission mechanisms).
2007-02-15 12:11:38 +01:00
Dave Airlie
d51e1bb56c
libdrm: add drmOpenOnce + drmCloseOnce to libdrm
2006-11-09 08:55:58 +11:00
Dave Airlie
79038751ff
libdrm: add support for server side functionality in libdrm
...
This adds APIs to allow the X server to use libdrm from the system
rather than its own in-built copy.
2006-11-08 15:08:09 +11:00
Thomas Hellstrom
56563c22d6
Minor bugfix, indentation and removal of unnused variables.
2006-10-29 15:39:11 +01:00
Thomas Hellstrom
decacb2e64
Reserve the new IOCTLs also for *bsd.
...
Bump libdrm version number to 2.2.0
2006-10-27 13:08:31 +02:00
Thomas Hellstrom
f6d5fecdd2
Last minute changes to support multi-page size buffer offset alignments.
...
This will come in very handy for tiled buffers on intel hardware.
Also add some padding to interface structures to allow future binary backwards
compatible changes.
2006-10-27 11:28:37 +02:00
Thomas Hellstrom
25fe4a8049
Remove some debugging messages.
2006-10-17 20:04:41 +02:00
Thomas Hellstrom
c34faf224b
Remove max number of locked pages check and call, since
...
that is now handled by the memory accounting.
2006-10-17 20:03:26 +02:00
Thomas Hellstrom
5443dbe35f
Implement mm_lock and mm_unlock functions.
...
The mm_lock function is used when leaving vt. It evicts _all_ buffers.
Buffers with the DRM_BO_NO_MOVE attribute set will be guaranteed to
get the same offset when / if they are rebound.
2006-10-17 16:00:25 +02:00
Thomas Hellstrom
5881ce1b91
Extend generality for more memory types.
...
Fix up init and destruction code.
2006-10-17 11:05:37 +02:00
Thomas Hellstrom
3070389367
Compatibility code for 2.6.15-2.6.18. It is ugly but a little comfort is that
...
it will go away in the mainstream kernel.
Some bugfixes, mainly in error paths.
2006-10-11 22:21:01 +02:00
Thomas Hellstrom
f2db76e2f2
Big update:
...
Adapt for new functions in the 2.6.19 kernel.
Remove the ability to have multiple regions in one TTM.
This simplifies a lot of code.
Remove the ability to access TTMs from user space.
We don't need it anymore without ttm regions.
Don't change caching policy for evicted buffers. Instead change it only
when the buffer is accessed by the CPU (on the first page fault).
This tremendously speeds up eviction rates.
Current code is safe for kernels <= 2.6.14.
Should also be OK with 2.6.19 and above.
2006-10-11 13:40:35 +02:00
Thomas Hellstrom
eacedf41a6
Make the user_token 44-bit for TTMs, and have them occupy a unique file space
...
starting at 0x00100000000. This will hopefully allow us to use
unmap_mapping_range(). Note that user-space will need
64-bit file offset support.
2006-10-02 15:06:35 +02:00
Michel Dänzer
9810ec2737
Add support for tracking drawable information to core
...
Actually make the existing ioctls for adding and removing drawables do
something useful, and add another ioctl for the X server to update drawable
information. The only kind of drawable information tracked so far is cliprects.
(cherry picked from 29598e5253
commit)
2006-09-29 12:55:08 +02:00
Thomas Hellstrom
bd8ca12b7b
Silence valgrind.
2006-09-26 16:00:22 +02:00
Thomas Hellstrom
ca1b15d645
Alternative implementation of page table zeroing using zap page_range.
...
(Disabled for now)
Fix bo_wait_idle bug.
Remove stray debug message.
2006-09-18 20:43:31 +02:00
Thomas Hellstrom
c4fad4c961
More verbose error reporting in some cases.
...
Add a buffer object waitIdle user-space function.
Fix some names and minor glitches.
2006-09-18 16:02:33 +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
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
Thomas Hellstrom
99acb79366
Various bugfixes.
2006-09-08 17:24:38 +02: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
f88c32fd4c
Libdrm function headers. Some renaming.
2006-09-04 22:05:21 +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
4edb95d6e0
Various bugfixes.
2006-09-01 11:23:21 +02:00
Thomas Hellstrom
ec8c79b79d
More mapping synchronization.
...
libdrm validate and fencing functions.
2006-08-31 14:10:13 +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
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
279e8d26c6
64-bit IOCTL integer (Michel Dnzer & Brian Paul)
2006-08-29 10:45:34 +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
886d3b3061
Bugfixes.
2006-08-27 22:01:33 +02:00
Thomas Hellstrom
b4b7b99760
Remove the ioctl multiplexing, and instead allow for generic
...
drm ioctls 0x80 - 0xFF.
2006-08-27 21:16:13 +02:00
Thomas Hellstrom
a6535c8db4
Add a fence object class field for future use (For example VSYNC fence objects)
2006-08-22 10:44:09 +02:00
Thomas Hellstrom
166da9355d
User / Kernel space fence objects (device-independent part).
2006-08-21 21:02:08 +02:00
Adam Jackson
22e41ef083
Formatting cleanup, dead code removal. Remove N() namespacing macro,
...
useless. Remove SIGIO handling functions as they're server-only and
properly belong in libdri.
2006-02-20 23:09:00 +00:00
Eric Anholt
26462b9aa4
Initialize sv.drm_dd_minor to "don't care" along with dd_major, to appease
...
valgrind.
2005-12-31 11:48:12 +00:00