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
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
Jakob Bornecrantz
45e09ea3cf
Cleaned up userspace interface for modesetting.
2007-05-05 16:08:27 +02:00
Thomas Hellstrom
cf7c90f7b4
Fix buffer object list freeing.
2007-05-02 17:14:57 +02:00
Dave Airlie
89231953d1
Add support for user defined modes
...
This allows userspace to specify modes and add them to the modesetting
system and attach modes to outputs
2007-05-01 13:16:29 +10: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
Dave Airlie
e46e028bd2
Merge branch 'origin' into modesetting-101
...
Conflicts:
linux-core/drm_bo.c
Merge in changes from master from Thomas fixiing TTM problems
2007-04-18 14:11:49 +10: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
Dave Airlie
b1f0fd6dfb
use FB everywhere
2007-04-12 12:11:58 +10:00
Dave Airlie
981f8156de
allow framebuffer changes on the crtc setup
2007-04-12 08:54:31 +10:00
Dave Airlie
a81558d8b3
add getfb ioctl
2007-04-12 08:45:40 +10:00
David Airlie
a6cc6a778f
add support for setting a framebuffer depth
2007-04-11 17:13:45 +10:00
David Airlie
44be9c9d59
add an fb count + id get to the get resources code path
2007-04-11 13:26:21 +10:00
David Airlie
1e39dc4323
export output name to userspace
2007-04-10 16:25:31 +10:00
David Airlie
65f465ed5a
fixup numerous issues with adding framebuffer support
...
This still isn't perfect but it fixes a few oopses and cleans up
some of the tabs and bugs in the original fb limit code
2007-04-10 14:49:49 +10:00
David Airlie
eb9bdc2787
mode: fixup problems with framebuffer add function
2007-04-10 11:51:31 +10:00
Jakob Bornecrantz
b50bda002b
add addfb/rmfb ioctls
...
Originally from Jakob, cleaned up by airlied.
2007-04-10 18:44:47 +10:00
Dave Airlie
b4094864f1
checkpoint commit: implement SetCrtc so modes can in theory be set from user
...
This hooks up the userspace mode set it "seems" to work.
2007-04-05 18:01:02 +10:00
Dave Airlie
7bb112feca
checkpoint commit: added getresources, crtc and output
...
This adds the user interfaces from Jakob and hooks them up for 3 ioctls
GetResources, GetCrtc and GetOutput.
I've made the ids for everything fbs, crtcs, outputs and modes go via idr as
per krh's suggestion on irc as it make the code nice and consistent.
2007-04-05 17:06:42 +10:00
Dave Airlie
5bffbd6e27
initial userspace interface to get modes
2007-04-05 13:34:50 +10:00
Michel Dänzer
4f795a05f1
Merge branch 'i915-pageflip'
2007-03-10 00:11:10 +01:00
Jakob Bornecrantz
9d8ba2d0d4
drm: remove unnecessary NULL checks, and fix some indents..
2007-02-25 10:48:26 +11:00
Michel Dänzer
5a40c043cc
Add DRM_VBLANK_FLIP.
...
Used to request that a scheduled buffer swap be done as a flip instead of a
blit.
2007-02-22 17:19:30 +01: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
e22b04f807
Merging drm-ttm-0-2-branch
...
Conflicts:
linux-core/drmP.h
linux-core/drm_drv.c
linux-core/drm_irq.c
linux-core/drm_stub.c
shared-core/drm.h
shared-core/i915_drv.h
shared-core/i915_irq.c
2006-10-18 17:33:19 +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
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
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
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
316e736768
Add definition of DRM_VBLANK_SECONDARY.
...
(cherry picked from 84b38b63f0
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
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
84b38b63f0
Add definition of DRM_VBLANK_SECONDARY.
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
Thomas Hellstrom
bd8ca12b7b
Silence valgrind.
2006-09-26 16:00:22 +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
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
Michel Dänzer
b9243ce3d5
.cvsignore -> .gitignore
...
Sort the merged file, remove the redundant explicit .ko lines and add
some generated symlinks.
2006-07-19 18:31:43 +02:00
Adam Jackson
14d1219442
Avoid walking off the end of the hash table. (Coverity report #465 )
2006-03-15 01:02:54 +00: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
7d735a8c9f
Bump package and DSO numbers to 2.0 to reflect 32/64 ABI change
2005-11-30 18:44:54 +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
b3189730e7
Add TODO based on my email from a while ago
2005-11-29 21:10:59 +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
Dave Airlie
645e2d411d
fixes from Egbert for 64bit
2005-11-29 09:19:20 +00:00
Adam Jackson
ec0ef9a78d
remove xf86drmCompat.*, unused since about XFree86 4.2.
2005-11-28 22:18:12 +00:00
Brian Paul
0472ac5d11
fix mem leak in HashHash() (bug 5171)
2005-11-28 17:33:01 +00:00
Adam Jackson
79f30e79ec
Bug #328 : Silence read-from-uninitialized warnings in DRM_CAS on Alpha.
...
(David Dawes)
2005-10-22 05:50:22 +00:00
Adam Jackson
d74376779f
Remove the remaining references to Xlib. libdrm is totally independent now.
2005-10-20 17:53:02 +00:00
Adam Jackson
b3631ba02c
Remove bogus Xlib dependency.
2005-10-20 17:32:31 +00:00
Eric Anholt
9942cad1f6
Add missing .cvsignore files for autotoolery.
2005-08-25 23:11:28 +00:00
Eric Anholt
7d5130d8fb
Include appropriate CFLAGS to find X headers, needed to build libdrm.
2005-08-25 02:59:21 +00:00
Dave Airlie
5a52e533e1
add options for x86_64 and amd will small letters
2005-08-23 04:10:50 +00:00
Adam Jackson
017174085f
Fix silly install issue by moving the header install rules for shared-core
...
into shared-core/Makefile.am. Bump to 1.0.3.
2005-08-20 03:32:09 +00:00
Adam Jackson
1abd165f5b
Add r300_reg.h. Bump to 1.0.2.
2005-08-19 20:14:10 +00:00
Adam Jackson
5a5478de7a
distcheck fixes
2005-07-13 00:13:12 +00:00
Adam Jackson
07d23f9c60
autoconfiscate libdrm
2005-07-10 22:42:42 +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
caa4212faa
momentary revert. libdrm build may be broken now, but no one uses it yet...
2005-02-01 22:09:46 +00:00
Adam Jackson
4b23b5fc3e
Final pass of libdrm.so work:
...
- Add $(DESTDIR) for distributors doing package creation
- Remove OS-specific include path from build
- Add /usr/include/drm for driver-kernel API
- Install all of shared-core/*.h in /usr/include/drm
- Rename xf86drm.h to libdrm.h since we're not X biased anymore
- Include backwards compat for xf86drm.h name, with a warning
- Fix libdrm source to account for drm.h living in /usr/include/drm
2005-01-30 03:30:45 +00:00
Adam Jackson
3df805bd4a
Add drm.h to the install target.
2005-01-22 08:24:36 +00:00
Adam Jackson
c74052cfae
Add xf86drm.h to the install target.
2005-01-17 00:02:04 +00:00
Adam Jackson
e5cc0b8f6f
Shared libdrm work:
...
- create libdrm.so target
- build it by default
- drop xf86drmCompat.c from the build
- make 'clean' target never fail
- use pattern rules for .c -> .o for parallelism
- add 'install' target
2005-01-16 23:50:58 +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
Dave Airlie
c21cdee38a
respect cc and cflags
2004-11-07 02:15:11 +00:00
Jon Smirl
993a75a5d1
Makefile and missing file to build libxf86drm.a
2004-09-17 20:01:59 +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
Dave Airlie
cc4d03930c
Patch picked up from Redhat xorg release:
...
Patch by John Dennis <jdennis@redhat.com> which fixes DRI locking bug on
ia64 architecture.
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=104338
http://bugs.xfree86.org/show_bug.cgi?id=778
2004-07-31 08:12:39 +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
Jon Smirl
deed1eca09
Add xf86drm.h back to drm/libdrm until it's true home can be found.
...
mesa-solo needs this file to build. XFree86 bug: Reported by: Submitted
by: Reviewed by: Obtained from:
2004-07-07 04:22:17 +00:00
Michel Daenzer
27f9c5f016
build fix
2003-11-04 00:59:52 +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
decf9e2297
compatibility layer still uses agp (not gart)
2003-09-13 00:25:59 +00:00
Alan Hourihane
c5168016cc
linux drm fixes
2003-09-12 20:00:59 +00:00
Eric Anholt
ebca51d8da
Update to reflect renaming of SIS ioctls.
2003-08-29 21:41:32 +00:00
Michel Daenzer
b83d2f909e
Rename agp to gart for radeon
2003-08-26 16:49:33 +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
Alan Hourihane
c14006ba9f
XFree86 4.3.0 merge
2003-03-25 00:29:14 +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
Eric Anholt
d51ec6b972
Remove compat functions for FreeBSD for drivers which weren't available in
...
X4.2
2002-08-30 21:06:21 +00:00
Eric Anholt
d2f2b42f1d
Try to open the /dev/dri/cardX device once, then only if it fails check the
...
device number and recreate it if necessary. Fixes xf86drm.c to allow
linux binaries to be used for emulation on FreeBSD.
2002-08-08 21:23:46 +00:00
Alan Hourihane
74ef13fd00
merged bsd-3-0-0-branch
2002-07-05 08:31:11 +00:00
Jens Owen
3903e5ac94
Merged drmcommand-0-0-1
2002-04-09 21:54:56 +00:00
David Dawes
44aa4d6297
First pass merge of XFree86 4.2.0 import.
2002-01-27 20:05:42 +00:00
David Dawes
9e69d0dac6
- Remove the rest of the unneeded client-side libraries.
...
- Use installed libraries that are not built here.
- Don't build/install client-library related file and headers.
2001-08-25 03:13:04 +00:00
David Dawes
c6bf9bae8e
First part of XFree86 4.1.99.1 merge.
2001-08-22 18:24:52 +00:00
David Dawes
56bd9c2077
Merge the multihead-1-0-0 branch into the trunk, with the exception of the
...
glide header files.
The changes include:
- Brian Paul's changes to the tdfx client-side 3D driver to make it
dlopen() the correct glide library (Voodoo3 or Voodoo5). This allows
both types of the glide library to co-exist, and allows Voodoo3/Voodoo5
cards to be mixed in multi-head configs.
- DRM kernel driver changes to allow a driver to set up multiple instances
(minor numbers), one for each card present that the driver supports.
This is currently implemented and tested only for the tdfx DRM driver.
- Add some missing missing <stdarg.h> includes.
- Some log message cleanups.
- Change the 2D tdfx driver to access VGA legacy registers via their PCI
I/O space access points rather than their legacy addresses, and fix
some problems with the way the VGA-related bits are initialised.
Status:
- With these changes, multi-head direct rendering works with multiple
Voodoo3 and/or Voodoo5 cards. This has been tested with two PCI Voodoo3
cards and an AGP Voodoo5 card, and all permutations of those.
Caveats:
- Xinerama is not supported. If Xinerama is enabled, then direct rendering
gets disabled.
- The text mode on secondary screens will show junk after the X server
exits.
- On some hardware, starting the X server on multiple 3dfx cards will
result in a hard lockup. One workaround is to enable APIC support in a
uni-processor kernel, or use an SMP kernel.
2001-07-30 19:59:39 +00:00
Jeff Hartmann
ae5b4effc0
Remove module name hacks because we aren't going to implement this anymore
...
because of Linus' comments
2001-07-20 20:31:30 +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
David Dawes
d87c873df0
First pass of 4.1.0 merge.
2001-06-14 22:23:44 +00:00
David Dawes
9c775d0b2f
finish struct stat type cleanup Fix a build dependencies for the tdfx drm
...
module
2001-05-14 14:49:58 +00:00
Alan Hourihane
0813760110
add some commented enclosures around the BUS_BASE calls for Alpha
...
platforms.
2001-05-04 14:05:13 +00:00
David Dawes
2ea12226a6
Initial merge for XFree86 4.0.99.3 import
2001-05-01 21:39:35 +00:00
Kevin E Martin
df76f81292
- PCIGART patches for Alpha from Compaq
2001-04-30 15:07:18 +00:00
David Dawes
49781fcf37
put back BUS_BASE
2001-04-18 18:45:20 +00:00
David Dawes
18fc5ee923
First pass of XFree86 4.0.99.2 merge.
2001-04-09 21:56:31 +00:00
Kevin E Martin
5d6ddbca26
Merged ati-pcigart-1-0-0
2001-04-05 22:16:12 +00:00
David Dawes
fcc21069b7
- Move xf86ConfigDRI declaration from xf86Priv.h to xf86.h.
...
- Don't include xf86Priv.h in the drm module.
- Fix 'struct stat' in loader libc wrapping to avoid unnecessary
XFree86LOADER #ifdefs in code that uses it.
- Make drmOpenMinor() static.
2001-03-30 17:16:20 +00:00
Kevin E Martin
74e19a4018
Merged sarea-1-0-0
2001-03-14 22:22:50 +00:00
Gareth Hughes
e2b2bffc6b
Rest of MGA dualhead patch.
2001-03-13 00:22:05 +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
David Dawes
94071289a4
merge with 4.0.1d
2000-11-08 00:07:17 +00:00
Alan Hourihane
c7558d8fa4
commit xfree86 4.0.1d-pre update
2000-09-24 09:34:10 +00:00
Alan Hourihane
f1bb3c5f5f
Merged tdfx-2-1-branch
2000-09-07 12:40:41 +00:00
David Dawes
cba4d3504c
first part of 4.0.1b merge
2000-08-16 18:29:06 +00:00
Alan Hourihane
8751b6774d
Merge XFree86 4.0.1
2000-07-11 11:41:07 +00:00
Rik Faith
1c8b2b5e06
Update email addresses and copyright notices to reflect VA Linux Systems
2000-06-13 14:22:03 +00:00
Brian Paul
569da5a42e
Merged glxmisc-3-0-0
2000-06-08 14:38:22 +00:00
Kevin E Martin
99efe3c247
Merged ati-4-0-1
2000-05-18 06:14:27 +00:00
Brian Paul
01836824d5
Merged glxmisc-1-0-0
2000-04-20 16:36:40 +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
Jeff Hartmann
adc03d3661
Import of XFree86 4.0
2000-03-15 21:40:23 +00:00
Kevin E Martin
d9ff0e3884
3.9.18 merge
2000-02-22 22:10:28 +00:00
Rik Faith
9243a76e03
Merge between X_3_9_16 and X_3_9_17 Compiles but may not run.
2000-01-07 06:54:54 +00:00
Daryll Strauss
0371c290a1
Rename the device to be /dev/dri instead of /dev/dri to avoid a conflict.
...
Rename proc entry from /proc/graphics to /proc/dri to be consistent.
1999-12-18 18:34:59 +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
Daryll Strauss
b3a5766992
Initial revision
1999-12-05 01:19:48 +00:00