Xiang, Haihao
769197c8f1
intel: avoid deadlock in intel_bufmgr_fake.
2008-10-16 10:37:30 +08:00
Eric Anholt
458e2d5bc5
intel: Fix compile warning.
2008-10-14 13:33:38 -07:00
Eric Anholt
993383873c
intel: Add interface for getting tiling mode of a bo.
2008-10-14 13:23:04 -07:00
Julien Cristau
d9c2f65dd8
link libdrm_intel properly
...
libdrm_intel needs symbols from libdrm, so link against it.
2008-10-13 16:39:33 -07:00
Eric Anholt
3e03d781f7
intel: Avoid pthread mutex recursion in bufmgr_fake.
...
Bug #18035 . Fixes deadlock in glean texCube testcase.
2008-10-13 13:41:10 -07:00
Dave Airlie
c6109df93b
libdrm: don't depend or link to libdrm_intel
2008-10-13 07:16:33 +10:00
Keith Packard
94c88c151c
Manage fences in user-mode bufmgr_fake to clean buffers
...
When using bufmgr_fake without DRM, the X server idles the ring whenever it
wants to wait for something to complete (brutal, but effective). In this
case, bufmgr_fake must treat the pending fence as having passed. However, it
wasn't recording the fences as it emitted them, nor cleaning buffers as they
passed.
Signed-off-by: Keith Packard <keithp@keithp.com>
2008-10-09 18:25:58 -07:00
Eric Anholt
3169d9639b
intel: Protect bufmgr objects with a pthread mutex.
...
We want to be able to use the bufmgr from multiple threads for GL, and thus
we need to protect the internal structures.
The pthread-stubs package is used so that programs not linked against
pthreads get weak symbols to stubs and don't eat most of the cost.
2008-10-09 12:57:09 -07:00
Xiang, Haihao
604759d4a7
intel: fix for write_domain and static BOs.
...
http://bugs.freedesktop.org/show_bug.cgi?id=17705
2008-10-09 11:59:29 +08:00
Jesse Barnes
af2323b4b3
intel bufmgr: reinstate buffer handle tracking
...
We need a way of getting at the underlying handle for use with mode
setting. We can either export it in the dri_bo object or provide a new
callback to get it.
2008-09-30 16:35:53 -07:00
Dave Airlie
972f657265
Merge remote branch 'origin/master' into modesetting-gem
...
Conflicts:
libdrm/Makefile.am
libdrm/dri_bufmgr.h
linux-core/drm_irq.c
linux-core/drm_sysfs.c
linux-core/drm_ttm.c
shared-core/i915_dma.c
shared-core/i915_irq.c
shared-core/nouveau_drv.h
shared-core/radeon_cp.c
2008-09-30 14:13:49 +10:00
Xiang, Haihao
073cb5ee1d
intel: Copy data from card memory back to backing store when mapping.
...
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=17705
2008-09-27 11:01:24 +08:00
Eric Anholt
2db8e0c8ef
intel: Allow up to 15 seconds chewing on one buffer before acknowledging -EBUSY.
...
The gltestperf demo in some cases took over seven seconds to make it through
one batchbuffer on a GM965.
Bug #17004 .
2008-09-23 17:10:04 -07:00
Eric Anholt
0dccf017ab
intel: Replace wraparound test logic in bufmgr_fake. Again.
...
I'd swapped the operands, so if we weren't in lockstep with the hardware we
said the sequence was always passed. Additionally, a race was available that
we might have failed at recovering from. Instead, I've replaced the logic
with new stuff that should be more robust and not rely on all the parties in
userland following the same IRQ_EMIT() == 1 protocol. Also, in a radical
departure from past efforts, include a long comment describing the failure
modes and how we're working around them.
Thanks to haihao for catching the original issue.
2008-09-23 17:10:04 -07:00
Eric Anholt
1b3abe62b5
intel: Do strerror on errno, not on the -1 return value from ioctl.
2008-09-23 17:10:04 -07:00
Xiang, Haihao
3949f3c9ea
intel: Fix driver-supplied argument to exec function (fd.o bug #17653 ).
2008-09-22 10:16:19 +08:00
Eric Anholt
b54d15d8fd
Add missing \ to libdrm_la_SOURCES
...
Reported by jcristau.
2008-09-10 20:05:02 -07:00
Eric Anholt
368b392e6d
intel: don't forget to include config.h in bufmgr code.
...
Thanks to airlied for catching this.
2008-09-10 14:07:19 -07:00
Eric Anholt
f9d98beefc
intel: move drm calls to exec buffers to libdrm_intel.
...
This avoids duplicating the effort in 3 places. Also, added emit/wait fence
callbacks back in bufmgr_fake since we need it for non-drm 2d. Sigh.
2008-09-10 14:07:18 -07:00
Eric Anholt
869d8bebed
intel: Move IRQ emit/wait from callbacks into the bufmgr.
...
In the process, work around the glaring bugs of the kernel irq wait function.
2008-09-10 14:07:18 -07:00
Eric Anholt
738e36acbc
Move intel libdrm stuff to libdrm_intel.so
...
dri_bufmgr.h is replaced by intel_bufmgr.h, and several functions are renamed,
though the structures and many functions remain dri_bufmgr_* and dri_bo_*
2008-09-10 14:07:18 -07:00
Kristian Høgsberg
0239594fc3
[intel_bufmgr_gem] Remember global name when creating buffer from name.
2008-08-26 14:28:25 -04:00
Dave Airlie
9101a0205c
libdrm: add udev support.
...
This patch allows you to --enable-udev, and will avoid having libdrm
make device nodes. If you are using udev, you should really --enable-udev
your libdrm.
2008-08-24 16:54:47 +10:00
Coleman Kane
41b83a9958
Change prototype of drmIoctl to unsigned long request.
...
This resolves and issue on amd64 FreeBSD and it looks like the
linux ioctl syscall should be unsigned long as well.
Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-08-18 17:08:21 -04:00
Dave Airlie
2d4420c666
Merge branch 'radeon-gem-cs' into modesetting-gem
...
Conflicts:
libdrm/xf86drm.c
linux-core/Makefile.kernel
linux-core/drmP.h
linux-core/drm_compat.h
linux-core/drm_drv.c
linux-core/drm_stub.c
linux-core/drm_vm.c
shared-core/i915_dma.c
shared-core/r300_cmdbuf.c
shared-core/radeon_drv.h
2008-08-14 09:36:34 +10:00
Jesse Barnes
2f03ba4aad
Merge branch 'master' into modesetting-gem
...
Conflicts:
libdrm/Makefile.am
libdrm/xf86drm.h
shared-core/i915_dma.c
shared-core/i915_irq.c
2008-08-13 10:08:02 -07:00
Kristian Høgsberg
b0e6882946
[intel_bufmgr_gem] Fix flink buffer name caching ( #17085 , #17092 ).
...
Store the global name in global_name, don't overwrite the gem_handle.
2008-08-12 22:22:55 -04:00
Jesse Barnes
e9648e9107
Export a generic dri_bo handle for use by clients
...
We'll need something like this (either a handle field or a dri_bo_get_handle
function) for kernel mode setting to get at the handles.
2008-08-12 18:22:34 -07:00
Matthieu Herrb
966c783e96
libdrm: Allow build outside of source tree.
2008-08-11 10:48:47 -07:00
Eric Anholt
f7a9940715
Drop TTM interfaces from the userland library.
2008-08-08 15:57:47 -07:00
Eric Anholt
9e9d9b1741
Fix compile warning from check_aperture change.
2008-08-08 14:08:43 -07:00
Eric Anholt
46e9274e85
Replace the check_aperture API with one we can make thread-safe.
...
While the bufmgr isn't thread-safe at the moment, we need it to be for shared
objects between contexts.
2008-08-08 13:58:29 -07:00
Keith Packard
5968e061db
Make flink save the kernel-assigned name and return it instead of creating another name
2008-08-07 15:26:30 -07:00
Jesse Barnes
c7fb19e9b0
Merge branch 'drm-gem' into modesetting-gem
2008-08-07 14:02:04 -07:00
Keith Packard
8e41ce17b4
Expose pin/unpin/set_tiling/flink APIs
2008-08-04 23:34:16 -07:00
Dave Airlie
d2d7f3069d
drm: userspace rip out TTM API
2008-07-31 13:31:30 +10:00
Dave Airlie
2556341f8b
Merge remote branch 'origin/modesetting-101' into modesetting-gem
2008-07-09 14:53:47 +10:00
Kristian Høgsberg
3e02f7fd31
Merge commit 'origin/drm-gem' into ms-gem
...
Conflicts:
linux-core/drmP.h
linux-core/drm_drv.c
linux-core/drm_stub.c
linux-core/i915_drv.c
linux-core/i915_gem.c
shared-core/i915_drv.h
shared-core/i915_irq.c
2008-07-07 15:43:43 -04:00
Maarten Maathuis
7cbc5f6145
modesetting-101: Make the interface variable names a little more consistent + modeprint changes.
...
- All things are now called _id when they are id's.
- modeprint now accepts driver name as first argument.
2008-07-05 12:04:07 +02:00
Dave Airlie
142a309604
modesetting: rip out all of the generation code.
...
not needed, hotplug will work just as well hopefully.
2008-07-04 09:34:24 +10:00
Maarten Maathuis
11b7a81c8a
libdrm: fix typo in comment
2008-07-03 17:25:37 +02:00
Maarten Maathuis
5de978905a
[libdrm] count connectors and such has no place in a crtc object
2008-07-03 00:25:42 +02:00
Maarten Maathuis
9f28da80f6
Change some obviously wrong things about property blobs, still broken though.
...
- I do not fully understand these blobs, so i'm leaving it at this for the moment.
2008-06-27 18:45:08 +02:00
Keith Packard
5540457fa5
[intel-gem] Use I915_GEM_DOMAIN_GTT in dri_gem_bo_wait_rendering.
...
I915_GEM_DOMAIN_CPU is very expensive to wait for -- it generally requires
clflushing the frame buffer.
2008-06-24 09:52:27 -07:00
Maarten Maathuis
f9dad8cc22
libdrm: check for allocation failure
2008-06-23 21:15:54 +02:00
Keith Packard
52e5d24fae
[intel-gem] Add DRM_IOCTL_I915_GEM_SW_FINISH to flag CPU writes
...
When a software fallback has completed, usermode must notify the kernel so
that any scanout buffers can be synchronized. This ioctl should be called
whenever a fallback completes to flush CPU and chipset caches.
2008-06-20 00:21:57 -07:00
Jesse Barnes
86accbcb34
Merge commit 'origin/drm-gem' into modesetting-gem
...
Lots of conflicts, seems to load ok, but I'm sure some bugs snuck in.
Conflicts:
linux-core/drmP.h
linux-core/drm_lock.c
linux-core/i915_gem.c
shared-core/drm.h
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
2008-06-18 15:25:54 -07:00
Keith Packard
8b9ab108ec
[libdrm] Restart all ioctls on signal receipt
...
Receiving a signal should be ignored by the library, so just restart any
ioctl which returns EINTR or EAGAIN.
2008-06-13 16:03:22 -07:00
Eric Anholt
e558e1d7da
[gem] Catch -EINTR from blocking ioctls and restart them.
...
Thanks to Thomas Hellstrom for catching the issue, no thanks to the kernel
developer who authoritatively told me that they would get restarted on their
own.
2008-06-13 10:04:14 -07:00
Eric Anholt
57b4c4c32d
Move the renaming of mm.c symbols to #defines in the header.
...
This reduces the diff from Mesa and reduces the illegibility of what I did.
2008-06-11 15:58:33 -07:00
Eric Anholt
2655005762
[gem] Move potentially device-specific ioctls to the intel driver.
...
This is the create (may want location flags), pread/pwrite/mmap
(performance tuning hints), and set_domain (will 32 bits be enough for
everyone?) ioctls. Left in the generic set are just flink/open/close.
The 2D driver must be updated for this change, and API but not ABI is broken
for 3D. The driver version is bumped to mark this.
2008-06-11 14:42:40 -07:00
Jesse Barnes
a1d9600724
Merge commit 'origin/drm-gem' into modesetting-gem
...
Passed the compile test; it's ready to ship.
Conflicts:
libdrm/Makefile.am
linux-core/Makefile.kernel
linux-core/drmP.h
linux-core/drm_memrange.c
linux-core/drm_stub.c
shared-core/drm.h
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
2008-06-10 17:31:54 -07:00
Eric Anholt
500c81d194
[gem] Don't forget to munmap in the non-bo-reuse object-freeing case.
2008-06-06 17:13:16 -07:00
Keith Packard
329e086225
[libdrm/intel] Eliminate extra dri_gem_bo_bucket_entry structure
...
Place the buffer reuse links right into the dri_bo_gem object.
2008-06-06 13:00:46 -07:00
Keith Packard
5a55b48a41
[libdrm/intel] Remove unused intel_validate_entry structure
2008-06-06 13:00:46 -07:00
Keith Packard
a919ff5d5e
[libdrm/intel] Reuse entire dri_bo_gem structure
...
The code was discarding the dri_bo_gem structure and saving only the kernel
handle. This lost the mmap address, causing pain when the next buffer user
wanted to map the buffer.
2008-06-06 13:00:46 -07:00
Eric Anholt
d198e9b091
Add a function to bufmgr_fake to evict all buffers in the GTT.
...
This will be used by the X Server for VT switch.
2008-06-05 08:45:39 -07:00
Dave Airlie
9390bdab7c
libdrm: shouldn't rely on this
2008-06-04 13:53:33 +10:00
Dave Airlie
382aa3ceeb
drm: introduce generation counter to interface.
...
Idea being if you want to add new crtc/output/encoder dynamically later,
you just increase the generation counter and userspace should re-read
all the resources
2008-06-04 13:50:51 +10:00
Eric Anholt
8a3b510405
Fix libdrm to actually include the new code instead of just building it.
2008-06-03 14:44:53 -07:00
Eric Anholt
c4857429c7
Fix and hook up bufmgr code to the build.
2008-06-03 14:44:53 -07:00
Eric Anholt
6a9eb08a87
Import bufmgr code to libdrm. Not yet hooked up to the build.
2008-06-03 14:44:53 -07:00
Dave Airlie
4e7b246398
drm: add functions to get/set gamma ramps
2008-06-02 14:04:41 +10:00
Dave Airlie
dba95ec343
drm: fixup some interfaces so test code works again
2008-06-02 10:41:12 +10:00
Dave Airlie
5d47185eb6
drm: switch possible crtc/clones over to encoders
2008-05-30 15:32:58 +10:00
Dave Airlie
9d38448ed3
modesetting: the great renaming.
...
Okay we have crtc, encoder and connectors.
No more outputs exposed beyond driver internals
I've broken intel tv connector stuff.
Really for TV we should have one TV connector, with a sub property for the
type of signal been driven over it
2008-05-30 15:10:04 +10:00
Dave Airlie
1c4b25a2b1
drm: fix a couple of bugs in the encoder return to userspace
2008-05-30 13:49:39 +10:00
Dave Airlie
514147e3f3
drm: add encoder free function
2008-05-30 12:29:45 +10:00
Dave Airlie
fae2c17b31
drm: add more encoder interfaces
2008-05-30 12:14:44 +10:00
Dave Airlie
16a8f824fa
libdrm: add encoder retrival
2008-05-30 12:10:01 +10:00
Dave Airlie
ed072ed075
drm_mode: initial replacefb implemenation
2008-05-08 14:02:05 +10:00
Dave Airlie
9d1db4ced1
cursor: pass handle not BO.
2008-05-08 10:26:37 +10:00
Thomas Hellstrom
7f269bec7e
Merge branch 'master' into modesetting-101
...
Conflicts:
linux-core/Makefile.kernel
linux-core/drm_compat.c
linux-core/drm_fops.c
linux-core/drm_lock.c
shared-core/drm.h
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
2008-04-28 12:10:44 +02:00
Hasso Tepper
27c3785d3f
Add DragonFly BSD support for device creation
...
DragonFly behaves just like FreeBSD in this regard.
2008-04-07 15:27:43 +03:00
Dave Airlie
607964ed9e
drm: add master set/drop protocol
...
this may not survive long - just need something for testing
2008-03-17 16:38:20 +10:00
Dave Airlie
add7d21c79
drm: fixup for new sysfs API
2008-03-07 08:56:20 +10:00
Dave Airlie
180c9188f4
drm/ttm: add ioctl to get back memory managed area sized
...
taken from modesetting branch but could be useful outside it.
2008-03-06 05:31:50 +10:00
Dave Airlie
4aa7efe398
libdrm: fix warnings in mode code
2008-03-05 10:41:54 +10:00
Dave Airlie
43891ff2d0
Merge remote branch 'origin/master' into modesetting-101
...
Conflicts:
linux-core/drm_compat.c
2008-03-05 10:37:02 +10:00
Dave Airlie
81db48536c
remove unused functions + include header file
2008-03-05 10:36:42 +10:00
Eric Anholt
eedf3fa2f0
Don't shortcut the info syscall for drmBOBusy on nonshareable objects.
...
This broke the results when you're trying to check if a buffer you dispatched
some time ago is done being rendered from.
2008-03-04 12:16:51 -08:00
Dave Airlie
0e72819629
drm: change fb api to take a bo handle not the bo pointer.
2008-02-29 14:07:29 +10:00
Dave Airlie
132ba667f4
drm: add a check for if modesetting is supported.
...
This is Linux only code, it just uses sysfs to see if a control
device has been registered on the requested PCI ID
2008-02-28 12:59:39 +10:00
Dave Airlie
cdad850ebc
add ioctl to get back memory managed area sized - used for kernel inited areas
2008-02-22 13:49:51 +10:00
Dave Airlie
db85ed25af
Revert "After the previous revert fix libdrm to start at minor 1"
...
This reverts commit f51dc37d75
.
Conflicts:
tests/modedemo/demo.c
2008-02-13 12:20:02 +10:00
Alan Hourihane
f51dc37d75
After the previous revert fix libdrm to start at minor 1
...
and fixup the demos
2008-02-07 22:21:50 +00:00
Jakob Bornecrantz
c8b45e9362
Added userspace part of hotplug ioctl and demo
2008-02-07 19:25:52 +01:00
Alan Hourihane
5997e10ca7
consistency
2008-02-05 15:15:13 +00:00
Jakob Bornecrantz
841ef9eb8d
ModeFB demo now display cursor
2008-01-30 15:47:26 +01:00
Jakob Bornecrantz
a2254c5a96
Added cursor support
2008-01-28 03:14:56 +01:00
Dave Airlie
e7a41d7f5b
Merge remote branch 'origin/master' into modesetting-101
...
Conflicts:
linux-core/drm_bo.c
linux-core/drm_drv.c
shared-core/drm.h
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
shared-core/radeon_irq.c
2008-01-25 15:27:53 +10:00
Dave Airlie
87a32efcdd
add control node open
2008-01-09 18:11:04 +11:00
Dave Airlie
73bf5e8670
add internals for opening a control node
2008-01-09 16:44:31 +11:00
Keith Packard
d1187641d6
Rename inappropriately named 'mask' fields to 'proposed_flags' instead.
...
Flags pending validation were stored in a misleadingly named field, 'mask'.
As 'mask' is already used to indicate pieces of a flags field which are
changing, it seems better to use a name reflecting the actual purpose of
this field. I chose 'proposed_flags' as they may not actually end up in
'flags', and in an case will be modified when they are moved over.
This affects the API, but not ABI of the user-mode interface.
2007-12-21 12:16:29 -08:00
Dave Airlie
b13dc383df
remove output names
2007-12-18 17:41:20 +11:00
Dave Airlie
f99dea7db0
modesetting: fixup property setting and add connector property
2007-12-11 15:56:48 +10:00
Dave Airlie
3b6786e3e6
modesetting: add dpms property and initial settable property ioctl
2007-12-11 14:46:51 +10:00
Dave Airlie
67f6eb1eb8
add property blobs and edid reporting support
2007-12-06 10:44:51 +10:00
Dave Airlie
c9cda51af5
more WIP on blobs..
...
I'm going to pass back a list of blob ids and lengths in the getproperty.
will need another ioctl to return the blob data as it is variable length.
2007-12-05 16:31:35 +10:00
Dave Airlie
1a6c95ef71
arrgggh.. make all ioctl structs 32/64-bit compatible hopefully.
...
This also starts to add blob property support.
someone needs to check this work for other things like ppc/x86 alignment diffs
2007-12-05 16:03:05 +10:00
Dave Airlie
34bb2e733a
mode: copy back the mode if is valid correctly
2007-12-03 15:30:05 +10:00
Dave Airlie
96df9b11ad
finish of mode add/remove, just have attach/detach modes
2007-12-03 15:30:05 +10:00
Dave Airlie
91cd3e3c09
modesetting API change for removing mode ids and making modes per output.
...
so really want to get a list of modes per output not the global hammer list.
also we remove the mode ids and let the user pass back the full mode description
need to fix up add/remove mode for user modes now
2007-12-03 15:30:05 +10:00
Dave Airlie
b3af2b59a7
drm/modesetting: add initial gettable properites code.
...
This allow the user to retrieve a list of properties for an output.
Properties can either be 32-bit values or an enum with an associated name.
Range properties are to be supported.
This API is probably not all correct, I may make properties part of the general
resource get when I think about it some more.
So basically you can create properties and attached them to whatever outputs you want,
so it should be possible to create some generics and just attach them to every output.
2007-11-27 14:31:02 +10:00
Dave Airlie
ca499f4d14
libdrm: return crtc id to userspace
2007-11-15 19:22:01 +11:00
Dave Airlie
f32688d3d0
libdrm: add crtc/output ids to userspace interface
2007-11-15 18:31:50 +11:00
Thomas Hellstrom
5ce43a346c
Merge branch 'master' into modesetting-101
...
Conflicts:
linux-core/drm_bufs.c
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
2007-11-05 13:46:06 +01:00
Alan Hourihane
0bee83a8c8
Pass pointer to drmModeRmMode.
2007-11-05 10:00:43 +00:00
Alan Hourihane
5e86f67a34
pass pointer for drmModeRmFB
2007-11-05 10:00:11 +00:00
Ben Skeggs
6abbbb2f4f
Fill fence sequence after emit ioctl.
2007-11-05 04:44:40 +11:00
Thomas Hellstrom
9906c7e54b
Merge branch 'master' into modesetting-101
2007-11-02 16:07:36 +01:00
Thomas Hellstrom
94c22c3349
User buffer support.
2007-11-02 16:05:25 +01:00
Thomas Hellstrom
c06808fb65
Return fence errors.
...
Time out properly in the presence of signals.
2007-11-02 15:52:00 +01:00
Thomas Hellstrom
343696583c
Merge branch 'master' into modesetting-101
2007-10-26 10:33:42 +02:00
Thomas Hellstrom
a4c87d3796
Minor libdrm fixes.
2007-10-26 10:31:14 +02:00
Thomas Hellstrom
9adf8c0256
Merge branch 'master' into modesetting-101
...
Conflicts:
linux-core/Makefile.kernel
linux-core/drm_bo.c
linux-core/drm_objects.h
2007-10-25 11:00:45 +02:00
Thomas Hellstrom
b9d9c30474
Tighten permissions on some buffer manager ioctls.
...
Set bo init minor to 0.
Add the version function to header.
2007-10-25 10:29:15 +02:00
Thomas Hellstrom
11f3e5e53f
Buffer manager:
...
Implement a version check IOCTL for drivers that don't use
drmMMInit from user-space.
Remove the minor check from the kernel code. That's really up
to the driver.
Bump major.
2007-10-25 10:12:21 +02:00
Thomas Hellstrom
d4ce4be0da
Setstatus header.
2007-10-22 13:16:51 +02:00
Thomas Hellstrom
6420d33b02
Get the lock flags right in libdrm.
2007-10-21 12:57:43 +02:00
Thomas Hellstrom
3b19b50cb5
Remove the need for the hardware lock in the buffer manager.
...
Add interface entry cleaning a memory type without touching NO_EVICT buffers.
2007-10-21 12:20:56 +02:00
Thomas Hellstrom
48b5eaf303
Simple replacement for hardware lock in some cases.
...
Fix i915 since last commit.
2007-10-20 16:49:43 +02:00
Thomas Hellstrom
733ff56834
No fence_class argument on drmBOSetStatus since it's not
...
associated with a particular command submission.
2007-10-19 16:28:47 +02:00
Thomas Hellstrom
086c058a41
Remove the op ioctl, and replace it with a setuser ioctl.
...
Remove need for lock for now.
May create races when we clean memory areas or on takedown.
Needs to be fixed.
Really do a validate on buffer creation in order to avoid problems with
fixed memory buffers.
2007-10-17 10:59:48 +02:00
Thomas Hellstrom
0d1926d36e
Revert "Replace NO_MOVE/NO_EVICT flags to buffer objects with an ioctl to set pinning."
...
This reverts cf2d569dac
commit.
2007-10-17 10:59:48 +02:00
Alan Hourihane
90bfc8e611
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
...
Conflicts:
linux-core/drm_bo.c
linux-core/drm_objects.h
shared-core/i915_dma.c
shared-core/i915_drv.h
2007-10-16 15:28:33 +01:00
Dave Airlie
3f1aa15503
drm: drop drm bo list handling code
2007-10-16 22:28:00 +11:00
Dave Airlie
efc4fd7c4d
drm: rename drmBOUnReference to drmBOUnreference for consistency
2007-10-16 22:08:55 +11:00
Kristian Høgsberg
a69c85fec8
Drop destroy ioctls for fences and buffer objects.
...
We now always create a drm_ref_object for user objects and this is then the only
things that holds a reference to the user object. This way unreference on will
destroy the user object when the last drm_ref_object goes way.
2007-10-16 22:03:05 +11:00
Kristian Høgsberg
dccefba71a
Take bo type argument out of the ioctl interface.
...
The buffer object type is still tracked internally, but it is no longer
part of the user space visible ioctl interface. If the bo create ioctl
specifies a non-NULL buffer address we assume drm_bo_type_user,
otherwise drm_bo_type_dc. Kernel side allocations call
drm_buffer_object_create() directly and can still specify drm_bo_type_kernel.
Not 100% this makes sense either, but with this patch, the buffer type
is no longer exported and we can clean up the internals later on.
2007-10-16 22:03:05 +11:00
[utf-8] Kristian Høgsberg
440fc5113e
Eliminate support for fake buffers.
2007-10-16 21:59:38 +11:00
Dave Airlie
03c47f1420
drm: use fence_class as name instead of class
2007-09-25 16:17:17 +10:00
Jesse Barnes
5cc3083179
Merge branch 'master' into modesetting-101 - TTM & typedef removal
...
Conflicts:
linux-core/drmP.h
linux-core/drm_bo.c
linux-core/drm_drv.c
linux-core/drm_objects.h
shared-core/drm.h
shared-core/i915_dma.c
shared-core/i915_drv.h
shared-core/i915_irq.c
Mostly removing typedefs that snuck into the modesetting code and
updating to the latest TTM APIs. As of today, the i915 driver builds,
but there are likely to be problems, so debugging and bugfixes will
come next.
2007-09-24 14:41:46 -07:00
Eric Anholt
3c995c2c4d
Fix mapCount refcounting on unmap, even though the value is unused.
2007-09-21 15:58:02 -07:00
Eric Anholt
cf2d569dac
Replace NO_MOVE/NO_EVICT flags to buffer objects with an ioctl to set pinning.
...
This cleans up the create/validate interfaces for this very uncommon path, and
makes pinned object creation much easier to use for the X Server.
2007-07-26 10:15:11 -07:00
Dave Airlie
6ad1df2176
drm: remove drm_u64_t, replace with uint64_t everwhere
...
This might break something, stdint.h inclusion in drm.h maybe required
but I'm not sure yet what platforms have it what ones don't.
2007-07-18 09:42:06 +10:00
Dave Airlie
2c9e05cf4c
Merge branch 'master' into cleanup
...
Conflicts:
libdrm/xf86drm.c
linux-core/drm_bo.c
linux-core/drm_fence.c
2007-07-11 11:23:41 +10:00
Alan Hourihane
8a78dead29
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
...
Conflicts:
linux-core/drm_drv.c
linux-core/drm_fops.c
linux-core/drm_objects.h
linux-core/drm_stub.c
shared-core/i915_dma.c
2007-06-29 20:09:44 +01:00
Thomas Hellstrom
2407ce57de
Fix drmMMUnlock / drmMMLock return values.
2007-06-13 15:59:28 +02:00
Thomas Hellstrom
b6b5df24b9
Try to make buffer object / fence object ioctl args 64-bit safe.
...
Introduce tile members for future tiled buffer support.
Allow user-space to explicitly define a fence-class.
Remove the implicit fence-class mechanism.
64-bit wide buffer object flag member.
2007-06-12 12:21:38 +02:00
Brian
fdc293d40c
reformatting, clean-ups
2007-05-29 14:56:17 -06:00
Brian
ccd7b6e8dd
Clean-ups and reformatting.
...
Use 4-space indentation consistently.
Replace occurances of:
if (cond) code;
with:
if (cond)
code;
to facilitate putting breakpoints on code.
2007-05-29 14:54:00 -06:00
Dave Airlie
58b2ed7832
Revert "drm/ttm: cleanup mm_ioctl ioctls to be separate ioctls."
...
This reverts commit 3fdef0dc20
.
ditto not on master yet
2007-05-26 03:48:08 +10:00
Dave Airlie
375f3f2884
Revert "drm/ttm: cleanup most of fence ioctl split out"
...
This reverts commit 3dfc1400e9
.
this shouldn't have gone on master yet
2007-05-26 03:47:48 +10:00
Dave Airlie
3dfc1400e9
drm/ttm: cleanup most of fence ioctl split out
2007-05-26 03:32:34 +10:00
Dave Airlie
3fdef0dc20
drm/ttm: cleanup mm_ioctl ioctls to be separate ioctls.
...
This is the first bunch of ioctls
2007-05-26 03:32:34 +10:00
Alan Hourihane
315cf14af8
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into modesetting-101
...
Conflicts:
shared-core/i915_dma.c
2007-05-18 13:48:56 +01:00
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
963ed9910a
libdrm: fix typo on ttm fence interface
2007-05-08 17:51:21 +10:00
Dave Airlie
6a62941eca
drm/ttm: cleanup most of fence ioctl split out
2007-05-06 11:35:11 +10:00