Commit graph

137 commits

Author SHA1 Message Date
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
Adam Jackson
f28dddb551 Resync from Xorg head: conditional include of xorg-config.h 2005-11-30 03:51:46 +00:00
Adam Jackson
ea08b613bd Resync from Xorg head (Bug #3815, GNU/kFreeBSD hack) 2005-11-30 02:55:14 +00:00
Adam Jackson
6941b375e8 Remove redundant #ifdef stanza 2005-11-29 20:03:38 +00:00
Adam Jackson
48198970ce Error checking for drmStrdup (Tilman Sauerbeck) 2005-11-29 20:02:34 +00:00
Dave Airlie
7ede209ce0 fixup xf86drm.c for new headers 2005-11-29 09:50:47 +00:00
Adam Jackson
b3631ba02c Remove bogus Xlib dependency. 2005-10-20 17:32:31 +00:00
Dave Airlie
a0454aba71 mirror changes made in main tree.. just happened to be doing this myself 2005-04-04 04:08:29 +00:00
Adam Jackson
fd62869a0f Bug #979: Don't include <sys/sysmacros.h> on linux, it occasionally emits
makedev() as a function call that elfloader can't resolve. Originally
    Gentoo Bug #41962, reported by Ryan Breen, fix feedback from Ryan
    Lortie.
2004-08-11 23:23:35 +00:00
Jon Smirl
8696e71db2 Make drm/libdrm/xf86drm.c match
xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drm.c so
    that it matches the prototypes in xf86drm.h XFree86 bug: Reported by:
    Submitted by: Reviewed by: Obtained from:
2004-07-07 04:36:36 +00:00
Eric Anholt
06cb132e86 - Introduce a new ioctl, DRM_IOCTL_SET_VERSION. This ioctl allows the
server or client to notify the DRM that it expects a certain version of
    the device dependent or device independent interface. If the major
    doesn't match or minor is too large, EINVAL is returned. A major of -1
    means that the requestor doesn't care about that portion of the
    interface. The ioctl returns the actual versions in the same struct.
- Introduce DRM DI interface version 1.1. If the server requests version
    1.1, then the DRM sets the unique itself according to the busid of the
    device it probed, which may then be accessed as normal using getunique.
- Request version 1.1 in libdrm's drmOpenByBusID, allowing the X Server to
    request based on a BusID. Introduce a wrapper for DRM_IOCTL_SET_VERSION
    and bump libdrm minor version.
- Pass the busid in DRIScreenInit if libdrm can handle both a busid and
    name. This allows drmOpenByBusID to be used to find the DRM instead of
    just the driver name, which allows us in the future to tie a DRM more
    strongly to the device it probed to. Introduce a function
    DRICreatePCIBusID which creates a busid in the form pci:oooo:bb:dd.f
    similar to linux's pci_name() function. This matches the format used by
    the DRM in version 1.1. libdrm knows how to match both this format and
    the old PCI🅱️d:f format.
- Use the new DRICreatePCIBusID function in the *_dri.c to request the new,
    more exact busid format.
2003-10-23 02:23:31 +00:00
Alan Hourihane
b0a928557c post merge fix 2003-09-24 14:39:25 +00:00
Alan Hourihane
c5168016cc linux drm fixes 2003-09-12 20:00:59 +00:00
Jose Fonseca
d2443b2186 Merged DRM documentation. 2003-05-27 00:37:33 +00:00
Michel Daenzer
23a76c3759 deal correctly with read() from the DRM failing 2003-04-23 14:21:17 +00:00
Alan Hourihane
b3eb34e0ea linux merge for drm 2003-03-25 11:36:43 +00:00
Eric Anholt
cfa778af9c Merge from bsd-4-0-0-branch. 2003-02-21 23:23:09 +00:00
Michel Daenzer
c7d471b6ae don't inflate relative vblank sequence numbers on repeated calls (e.g. when
interrupted by a signal)
2003-02-02 03:06:47 +00:00
Brian Paul
c869f4a1e5 added missing return fd (Alexander Stohr) 2002-11-25 16:03:20 +00:00
Alan Hourihane
b3a20ce219 final part of XFree86 4.2.99.2 merge 2002-10-22 23:38:53 +00:00
Michel Daenzer
55acd0d5a6 common ioctl to wait for vertical blank IRQs 2002-09-25 17:18:19 +00:00