Thomas Hellstrom
a6b8e3eaf4
Make memory caches global so that they can be used with
...
multiple heads.
2006-09-04 16:57:20 +02:00
Thomas Hellstrom
11f51a9a87
Bugfixes,
...
Memory allocation optimizations.
Buffer manager takedown.
2006-09-01 15:41:55 +02:00
Thomas Hellstrom
44f6d08988
Validation and fencing.
2006-08-31 21:42:29 +02:00
Thomas Hellstrom
03c137c5f8
Remove the buffer manager mutex. Use dev->struct_mutex instead.
...
Add a function to free buffers on hold for destruction if their
fence object has expired.
Add a timer to periodically call that function when there are
buffers pending deletion.
2006-08-31 15:36:40 +02:00
Thomas Hellstrom
ec8c79b79d
More mapping synchronization.
...
libdrm validate and fencing functions.
2006-08-31 14:10:13 +02:00
Thomas Hellstrom
914a77a15a
Buffer object binding.
...
Some code reordering.
2006-08-30 21:30:47 +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
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 Dänzer & Brian Paul)
2006-08-29 10:45:34 +02:00
Thomas Hellstrom
0d67356de4
Proper TTM dereferencing
...
Initial buffer object creation.
2006-08-28 16:36:37 +02:00
Thomas Hellstrom
05536a6478
Buffer object idle and mapping synchronization.
2006-08-28 13:51:39 +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
4ddabd1562
Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into drm-ttm-0-2-branch
...
Conflicts:
linux-core/drmP.h
2006-08-28 09:28:10 +02:00
Dave Airlie
9b984b34e9
drm: lots of small cleanups and whitespace issues fixed up
...
remove a mach64 warning, align a lot of things from linux kernel
2006-08-28 11:31:43 +10:00
Dave Airlie
205c573e44
remove local copies of pci domain/bus/slot/num
2006-08-28 11:27:09 +10:00
Thomas Hellstrom
ac26b51503
Have TTM create and reference ioctl call return the actual TTM size.
2006-08-27 19:45:38 +02:00
Thomas Hellstrom
65e7274008
ttm create / destroy / ref / unref ioctl.
2006-08-27 19:03:20 +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
ca4e34e532
ttm code cleanup.
...
Fix the sleep-in-page-table-spinlock bug discovered by Dave Airlie
2006-08-22 11:19:53 +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
b81ca5e031
AGP backends for TTM.
2006-08-22 10:09:57 +02:00
Thomas Hellstrom
700bf80ca9
Bring in stripped TTM functionality.
2006-08-22 09:47:33 +02:00
Thomas Hellstrom
6571f74a49
Remove some accidently included TTM code.
2006-08-21 21:12:29 +02:00
Thomas Hellstrom
657bacc395
Add missing fence type define.
...
Add drm_fence.o to Makefile
2006-08-21 21:04:36 +02:00
Thomas Hellstrom
166da9355d
User / Kernel space fence objects (device-independent part).
2006-08-21 21:02:08 +02:00
Thomas Hellstrom
42c2cfcf7d
Generic DRM support base-class support for user-space objects, like
...
fence objects and buffer objects:
Refcounting,
Inter-process sharing,
Synchronization
Destruction.
2006-08-21 20:30:19 +02:00
Dave Airlie
5cfbd5dbab
switch drm to use Linux mutexes instead of semaphore.
...
I hope the fallback compat code works if not shout at me.
2006-07-24 10:51:27 +10:00
Thomas Hellstrom
a392349691
Change drm Map handles to be arbitrary 32-bit hash tokens in the range
...
0x10000000 to 0x90000000 in PAGE_SIZE increments.
Implement hashed map lookups.
This potentially breaks both 2D and 3D drivers. If so, the corresponding
2D and 3D driver should be fixed, and it's corresponding drm device driver
should have its major bumped as soon as possible.
Bump sis and via drm device driver majors.
The SiS and Unichrome 3D drivers are fixed in Mesa CVS HEAD and
mesa_6_4_branch.
2006-07-10 13:00:21 +00:00
Thomas Hellstrom
1a9e5bae10
Fix drm_remove_magic potential memory leak / corruption. Move drm
...
authentication token hashing to new generic hash table implementation.
2006-06-06 17:46:17 +00:00
Thomas Hellstrom
6bacb180ce
Merge in the drm-sman-branch
2006-06-06 14:19:00 +00:00
Dave Airlie
4f53bf3545
remove stupid init and exit flags..
2006-04-05 01:23:57 +00:00
Dave Airlie
0a211db23c
experimental PCI DMA fixes use proper Linux interfaces
2006-02-19 12:08:14 +00:00
Dave Airlie
4791dc8856
major realigment of DRM CVS with kernel code, makes integration much easier
2006-02-18 02:53:36 +00:00
Dave Airlie
92150972e5
use drm_cards_limit instead of cards_limit
2006-01-02 05:54:10 +00:00
Eric Anholt
a10d8178e3
Initial port of savage to FreeBSD for the AGP and !ShadowStatus case. Adds
...
drm_mtrr_{add,del} for handling the MTRR setup. Still has a LOR issue
with DRM_VERIFYAREA_READ/DRM_COPY_FROM_USER_UNCHECKED in savage_bci.c
-- this won't work with the fine-grained locking in use, and just doing
a single copyin to a temporary will probably work fine. Also note that
the module leaks approximately 4 kb on unload.
2005-11-08 20:25:00 +00:00
Eric Anholt
1a256df480
Catch FreeBSD up to the pcie gart changes. Required minor modification to
...
radeon_cp.c to use a drm_local_map_t-type mapping (drm_core_ioremap
rather than drm_ioremap), which contains private device mapping
information on BSD. I also changed the ati_pcigart interface to use
"void *" for pointers to kva rather than "unsigned long". While PCIGART
support appears to be broken on FreeBSD currently, I think this is not
new, and BusType PCI remains working on my r100 in Linux.
2005-11-08 02:38:01 +00:00
Ian Romanick
39615ec06e
Converts the remaining drm_agp_foo functions to be a drm_agp_foo and
...
drm_agp_foo_ioctl pair. Modifies the MGA DRM to use the drm_agp_foo
functions instead of the drm_foo_agp functions. The drm_foo_agp
functions are no longer exported by drm.ko.
Ensures that dma->seg_count and dma->page_count are properly set in
drm_addbufs_{agp,sg,fb}. drm_addbufs_pci was already correct.
Ensures that mga_do_agp_dma_bootstrap correctly sets agp_buffer_token.
At this point PCI DMA is still broken.
Xorg bug: #4797 Reviewed by: Dave Airlie, Eric Anholt Signed-off-by: Ian
Romanick <idr@us.ibm.com>
2005-11-03 00:38:25 +00:00
Dave Airlie
bcbf5ff797
we don't use this stuff anymore .. remove 1k buffer from driver ..
2005-10-23 04:07:50 +00:00
Dave Airlie
908ad0ed96
remove version not used anymore
2005-10-06 23:08:58 +00:00
Dave Airlie
3a0230ef9c
use linux kernel macros don't make our own
2005-09-25 03:09:51 +00:00
Dave Airlie
5565a00916
Add GART in FB support for ati pcigart, and PCIE support for r300
2005-09-11 08:51:23 +00:00
Dave Airlie
0d346a07a8
convert ioctl flags to use flags instead of separate ints
2005-09-03 03:27:14 +00:00
Alan Hourihane
01e4364a8f
remove i915_pm code as it causes too many issues with current software
...
suspend, and the DDX driver re-inits the board successfully anyway.
2005-08-22 09:50:12 +00:00
Dave Airlie
7af0186f4c
add Egberts 32/64 bit patch (its in kernel already...)
2005-08-16 12:51:57 +00:00
Thomas Hellstrom
cdf49e5732
Reverting the previous via security-fix commit, since the assumption of
...
contexts registered with the callers filp was wrong.
2005-08-12 14:19:33 +00:00
Thomas Hellstrom
d5e8ab13ff
Security fix on via: Checking that the specified context belongs to the
...
caller on fb / agp memory alloc and free. Otherwise malicious clients
can register allocations on other clients or free memory used by other
clients which will lead to severe memory manager inconsistensies.
2005-08-10 19:46:46 +00:00