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
George Sapountzis
f3deef730d
Bug 6242: [mach64] Use private DMA buffers, part #3 .
...
Add DRM_PCI_BUFFER_RO flag for mapping PCI DMA buffer read-only. An additional
flag is needed, since PCI DMA buffers do not have an associated map.
2006-10-02 22:47:23 +03:00
Michel Dänzer
ed82172378
Core vsync: Add flag DRM_VBLANK_NEXTONMISS.
...
When this flag is set and the target sequence is missed, wait for the next
vertical blank instead of returning immediately.
(cherry picked from 89e323e490
commit)
2006-09-29 12:55:08 +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
Michel Dänzer
2735f9e290
Add support for secondary vertical blank interrupt to DRM core.
...
(cherry picked from ab351505f3
commit)
2006-09-29 12:55:08 +02:00
Thomas Hellstrom
ae96e26419
Add a new buffer flag.
...
Fix up some comments.
2006-09-29 11:46:45 +02:00
Michel Dänzer
89e323e490
Core vsync: Add flag DRM_VBLANK_NEXTONMISS.
...
When this flag is set and the target sequence is missed, wait for the next
vertical blank instead of returning immediately.
2006-09-28 15:41:36 +02:00
Michel Dänzer
29598e5253
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.
2006-09-28 15:41:35 +02:00
Michel Dänzer
ab351505f3
Add support for secondary vertical blank interrupt to DRM core.
2006-09-28 15:41:35 +02:00
Thomas Hellstrom
fa511a3ff5
Allow for 64-bit map handles of ttms and buffer objects.
2006-09-20 16:31:15 +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
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
6042153968
Fence all unfenced buffers function.
2006-09-05 18:00:25 +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
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
44f6d08988
Validation and fencing.
2006-08-31 21:42:29 +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
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
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
b4b7b99760
Remove the ioctl multiplexing, and instead allow for generic
...
drm ioctls 0x80 - 0xFF.
2006-08-27 21:16:13 +02:00
Thomas Hellstrom
65e7274008
ttm create / destroy / ref / unref ioctl.
2006-08-27 19:03:20 +02:00
Thomas Hellstrom
c488e25ceb
More ioctl stubs.
...
Buffer object locking order documentation.
2006-08-25 20:03:39 +02:00
Thomas Hellstrom
35c8ce6c29
ttm and buffer objects ioctl stubs.
2006-08-25 19:03:42 +02:00
Thomas Hellstrom
4c03030b12
Checkpoint commit
...
Buffer object code.
2006-08-25 18:05:35 +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
700bf80ca9
Bring in stripped TTM functionality.
2006-08-22 09:47:33 +02:00
Thomas Hellstrom
166da9355d
User / Kernel space fence objects (device-independent part).
2006-08-21 21:02:08 +02:00
Brian Paul
4a49e6c366
check for __FreeBSD_kernel__ (bug 3810)
2006-04-20 14:26:59 +00:00
Dave Airlie
2a9dbb2895
make max minor more rational
2006-01-02 05:55:31 +00:00
Dave Airlie
279e7c113c
commit toggle switch to make Linux drm_handle_t unsigned int
2005-08-17 00:14:18 +00:00
Jon Smirl
bb9502ab01
Mark some radeon init variables deprecated. These used to be passed in but
...
the driver already knew their correct value. For example the physical
address of the framebuffer and registers.
2005-08-04 13:59:48 +00:00
Dave Airlie
3585bdf7d8
fix up drm.h for C++ include as this can be included in user programs
2005-06-11 10:08:39 +00:00
Dave Airlie
f4aa8ab715
add dragonfly #define from Xorg CVS
2005-06-10 01:21:23 +00:00
Dave Airlie
bd72c6990f
wrap config.h include with defined for KERNEL
2005-05-15 10:19:21 +00:00
Dave Airlie
354dd17d25
The patch makes drmAddBufs/drmMapBufs can handle buffers in video memory
...
The attached patch adds a new buffer type DRM_FB_BUFFER. It works like AGP
memory but uses video memory.
From: austinyuan@viatech.com.cn (fd.o bug 1668) Signed-off-by: Dave Airlie
<airlied@linux.ie>
2005-01-16 05:40:12 +00:00
Felix Kuehling
ed165a2529
Added a new DRM map type _DRM_CONSISTENT for consistent PCI memory. It uses
...
drm_pci_alloc/free for allocating/freeing the memory. Only implemented
in the Linux DRM so far.
2005-01-01 20:03:15 +00:00
Jon Smirl
9f9a8f1382
Lindent of core build. Drivers checked for no binary diffs. A few files
...
weren't Lindent's because their comments didn't convert very well. A
bunch of other minor clean up with no code implact included.
2004-09-30 21:12:10 +00:00
Jon Smirl
c7c9d3ef7b
Let's try adding the dyn-minor patch again. This patch will reuse minor
...
numbers if a card is hotplugged in/out instead of just having them
increase.
2004-09-16 18:42:03 +00:00
Jon Smirl
eeb0ef1a70
Back dyn-minor patch out for now. fops handling is broken on some cards
2004-09-15 17:44:30 +00:00
Jon Smirl
64ef12c55c
Dynamic device minor support. Minor device numbers will be reused if the
...
device is hotplugged in/out of the system
2004-09-15 00:20:21 +00:00
Jose Fonseca
1fb27632c3
Update doxygen configuration file. Minor documentation updates/fixes.
2004-09-08 20:57:39 +00:00
Dave Airlie
bd71ba6428
patch from RH xorg-x11 tree ported to drm.h
2004-07-31 08:38:39 +00:00
Dave Airlie
862fcee057
check for __user if not there define it
2004-07-25 08:57:15 +00:00
Dave Airlie
02df04d71d
sync up with current 2.6 kernel bk tree - mostly __user annotations
2004-07-25 08:47:38 +00:00
Ian Romanick
52e3a8a5d9
Added some comments copied from xf86drm.h.
2004-06-02 17:41:52 +00:00
Ian Romanick
f994b1f31b
Replace size_t with an ugly, ugly hack. This was done so that code in the
...
core X-server would compile. Hopefully, this will soon be replaced with
explicitly sized types (i.e., uint32_t) and everyone will be happy.
2004-06-01 16:17:32 +00:00
Jon Smirl
24115068e4
Fixes need to clean up the mess I made with the mesa merge. This code
...
allows the mesa drivers to use a single definition of the DRM
sarea/IOCTLS located in the drm driver directory. Adjustments were made
to the 2D drivers to not include these changes. Changes to the mesa
copy of DRM were copied to the DRI copy. XFree86 bug: Reported by:
Submitted by: Reviewed by: Obtained from:
2004-03-12 21:22:52 +00:00
Eric Anholt
e8f5b01a40
__linux__ is spelled with a lowercase 'l'
2003-11-05 02:08:31 +00:00
Eric Anholt
5864101ab4
Repo-copy linux/drm/kernel/drm.h to shared/drm/kernel/drm.h and use it on
...
both Linux and *BSD.
2003-11-05 01:43:47 +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
85c16d962d
resolve merge conflicts
2003-09-12 14:24:17 +00:00
Leif Delgass
518db771de
Restore change to _DRM_VBLANK_SIGNAL from rev. 1.41, which was reverted
...
with the documentation merge.
2003-05-28 02:03:37 +00:00
Jose Fonseca
d2443b2186
Merged DRM documentation.
2003-05-27 00:37:33 +00:00
David Dawes
2134577e31
Support for building DRM module on OpenBSD (Wilbern Cobb, Matthieu Herrb).
...
(resync with XFree86 trunk)
2003-05-20 22:42:24 +00:00
David Dawes
05f761fa4f
enums should be ints
2002-12-12 22:20:30 +00:00
Michel Daenzer
40891ac190
vertical blank ioctl can send signal instead of blocking
2002-11-30 14:24:07 +00:00
Michel Daenzer
55acd0d5a6
common ioctl to wait for vertical blank IRQs
2002-09-25 17:18:19 +00:00
Alan Hourihane
74ef13fd00
merged bsd-3-0-0-branch
2002-07-05 08:31:11 +00:00
Keith Whitwell
2dcada361d
merged tcl-0-0-branch
2002-06-12 15:50:28 +00:00
Jens Owen
3903e5ac94
Merged drmcommand-0-0-1
2002-04-09 21:54:56 +00:00
David Dawes
ab87c5d0d1
First pass of mesa-4-0 branch merge into trunk.
2002-02-14 02:00:26 +00:00
David Dawes
44aa4d6297
First pass merge of XFree86 4.2.0 import.
2002-01-27 20:05:42 +00:00
Jeff Hartmann
4eafeec960
Add module version name at a lower layer of the code, allows things to be
...
more flexible and allow older module versions to still work. Might not
be final code if we move over to DRI kernel module version, but will be
if we use XFree86 version. + Only build tdfx.o instead of tdfx-4_1_0.o
since tdfx.o has never changed its API.
2001-07-18 21:02:58 +00:00
Jeff Hartmann
d5749d7603
Added version string to the end of the kernel module name. This allows
...
multiple versions of the kernel module to co-exist on one machine.
2001-07-16 22:42:36 +00:00
Gareth Hughes
7ccc528911
Fix typo in XFREE86_VERSION().
2001-07-13 01:42:48 +00:00
David Dawes
d87c873df0
First pass of 4.1.0 merge.
2001-06-14 22:23:44 +00:00
Alan Hourihane
18ce40c9d3
Make the SiS module work again. At least glxinfo reports it's working, yet
...
trying to run the simple apps return 'out of video memory'
2001-05-17 15:20:40 +00:00
Alan Hourihane
94c6d951a2
Make SiS driver compile with the new templated format. Not tested. minor
...
cleanups
2001-05-03 14:51:01 +00:00
Kevin E Martin
5d6ddbca26
Merged ati-pcigart-1-0-0
2001-04-05 22:16:12 +00:00
David Dawes
301a1ad315
Move #include <linux/config.h> inside the __linux__ #ifdef, so that it
...
doesn't break non-Linux builds.
2001-03-21 20:22:16 +00:00
Kevin E Martin
74e19a4018
Merged sarea-1-0-0
2001-03-14 22:22:50 +00:00
Gareth Hughes
3a74d3a371
Merge tdfx-3-1-0 branch.
2001-03-06 04:37:37 +00:00
Rik Faith
88dbee54ed
Implement drmOpen* without /proc dependence (Fallback to /proc is included
...
for backward compatibility.) Move statistic-gathering drm* calls from
dristat.c to xf86drm.c
2001-02-28 09:27:44 +00:00
Gareth Hughes
360475376c
Merge mga-1-0-0-branch into trunk.
2001-02-15 08:12:14 +00:00
Kevin E Martin
0994e635b2
Merged ati-5-0-0
2001-01-05 22:57:55 +00:00
Rik Faith
833af23c5d
Sync with Linux 2.4.0-prerelease
2001-01-04 18:41:41 +00:00
Keith Whitwell
c7c6156aec
add blit ioctl, fix plnwt handling
2000-12-30 23:28:53 +00:00
Gareth Hughes
e15a24e154
Merged ati-4-1-1-branch into trunk.
2000-12-02 06:14:18 +00:00
David Dawes
94071289a4
merge with 4.0.1d
2000-11-08 00:07:17 +00:00
Rik Faith
52f0bc3c9e
More changes for sync with Linux 2.4.0-test9-pre7
2000-09-29 02:05:41 +00:00
Rik Faith
39a659e877
Audit calls to schedule() Remove tags from files shared with Linux kernel
...
tree Remove debugging statements to make debugging more useful Other
minor cleanups in preparation for sync with Linux 2.4.0-test9-pre7
2000-09-29 01:47:11 +00:00
Alan Hourihane
c7558d8fa4
commit xfree86 4.0.1d-pre update
2000-09-24 09:34:10 +00:00
Brian Paul
7b888f87fa
applied Jeff's xf86cvs-I810copy.patch
2000-07-13 18:47:48 +00:00
Doug Rabson
d399dbcd56
Merged bsd-1-0-1
2000-06-13 17:38:09 +00:00
Rik Faith
2fbd4bf018
Unify code with kernel: Change some spacing in comments Add #include
...
<linux/config.h> to all *_drv.c files
2000-06-13 14:34:13 +00:00
Gareth Hughes
d5348efe25
Merging the ati-4-1-0 branch onto the trunk.
2000-06-12 15:47:31 +00:00
Brian Paul
569da5a42e
Merged glxmisc-3-0-0
2000-06-08 14:38:22 +00:00
Doug Rabson
fa0a35a25f
Merged bsd-1-0-0
2000-05-30 17:13:31 +00:00
Keith Whitwell
ddcb28259f
Merged mga-0-0-3-branch
...
- New security model for i810
- Enable i810 dri by default
- New indexed vertex path for mga
- Mga kernel driver rework
- Removed dead files in i810 driver
2000-05-25 21:06:02 +00:00
Kevin E Martin
99efe3c247
Merged ati-4-0-1
2000-05-18 06:14:27 +00:00
Jeff Hartmann
ba1b1ae380
Merged mga branch with trunk
2000-04-04 22:08:14 +00:00
Jeff Hartmann
5bd8014f27
Merge with 4.0
2000-03-16 03:37:30 +00:00
Kevin E Martin
7a9b291ab5
Import of XFree86 3.9.18
2000-02-22 15:43:59 +00:00
Rik Faith
1c33c69095
Import of XFree86 3.9.17
2000-01-06 12:55:00 +00:00
Daryll Strauss
e1dba5c3a7
Move Mesa to xc/extras Update to the latest Mesa 3.2 code Fix the Q3Demo
...
bugs (white railgun and texture mapping) Simplify driver texture
mapping routines Fix device driver for 2.3 kernels Improve performance
1999-12-07 03:37:16 +00:00
Daryll Strauss
b6a28bfe98
First DRI release of 3dfx driver.
1999-12-05 23:10:37 +00:00