Commit graph

39 commits

Author SHA1 Message Date
Dave Airlie
7f6bf84c23 drm: remove lots of spurious whitespace.
Kernel "cleanfile" script run.
2007-11-05 12:42:22 +10: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
Brian
c453135789 Added idr_replace() function which was apparently added in Linux 2.6.18
Someone should probably double-check my work here since this is the
first time I've touched drm_compat.[ch]
2007-09-12 11:49:51 -06:00
Dave Airlie
23631fca09 drm: fixup old kernel compat code 2007-07-16 13:52:21 +10:00
Dave Airlie
be85ad0333 drm: detypedef ttm/bo/fence code 2007-07-16 13:37:02 +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
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
Dave Airlie
280083d4a2 use krh's idr mods to remove lists from idr code 2007-06-10 15:40:21 +10:00
Dave Airlie
7426da7538 oops must fix this properly at some point 2007-06-07 18:45:00 +10:00
Dave Airlie
e22f428f5f drm: fix radeon setparam alignment issues on 32/64-bit 2007-06-07 18:41:18 +10: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
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
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
Thomas Hellstrom
72d457fc19 Make sure CMA (Can't map aperture) pages are mapped uncached.
(Should really make this write-combined using PATs, at some point).
2007-04-03 10:29:14 +02:00
Thomas Hellstrom
80468e7532 Fix build for 2.6.21-rc1.
The vm subsystem of 2.6.21 is fully compatible with the buffer object
vm code.
2007-02-26 18:17:54 +01:00
Michel Dänzer
7803977aa9 Fix build against older kernels. 2007-02-15 09:26:16 +01:00
Thomas Hellstrom
04760563b8 Set the drm bus map type for each buffer object memory type. 2007-02-14 12:39:02 +01:00
Thomas Hellstrom
7bcb62b45d Rework buffer object vm code to use nopfn() for kernels >= 2.6.19. 2007-02-14 10:49:37 +01:00
Thomas Hellstrom
e4b2da4406 A minor function interface change and some memcpy bugfixing.
Hooray!! it sort of works with a fixed AGP area as faked VRAM.
2007-02-08 16:21:38 +01:00
Thomas Hellstrom
1257907fa9 Simplify external ttm page allocation.
Implement a memcpy fallback for copying between buffers.
2007-02-08 13:29:08 +01:00
Thomas Hellstrom
71b9e876f9 Simplify pci map vs no pci map choice. 2007-02-06 16:59:45 +01:00
Thomas Hellstrom
63f2abd721 Make also later kernels work with buffer object vm
and clean up some function names.
2007-02-02 19:49:11 +01:00
Thomas Hellstrom
c269d560e4 Make vm handle buffer objects instead of ttm objects.
Remove ttm objects.
Make vm aware of PCI memory type buffer objects.
(Only works for pre 2.6.16 kernels for now).
2007-02-02 14:47:44 +01:00
Thomas Hellstrom
dd733dea38 Fix missing ttm_open_vma call from previous commit.
Honour the ttm backend cant-use-aperture flag.
2007-02-01 13:19:05 +01:00
Thomas Hellstrom
975136d6e5 Proper allocation of AGP pages for ttms. 2006-12-27 15:32:09 +01:00
Thomas Hellstrom
3b8e6ccd25 Security fix. Zero pages before they are handed to user space.
TTM pages were not cleared when allocated and handed to user space.
Sensitive information may leak.
2006-12-19 23:45:59 +01:00
Thomas Hellstrom
3624e43282 Bug #8707, 2.6.19-rc compatibility for memory manager code. 2006-10-20 15:06:31 +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
d515936ea7 Add memory usage accounting to avoid DOS problems. 2006-10-17 19:40:57 +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
Thomas Hellstrom
c58574c605 Use a nopage-based approach to fault in pfns. 2006-10-10 10:37:26 +02:00
Thomas Hellstrom
cee659afb5 Get rid of all ugly PTE hacks. 2006-10-03 12:08:07 +02:00
Thomas Hellstrom
235f6fc650 Adapt to architecture-specific hooks for gatt pages. 2006-09-27 09:27:31 +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
682c6ed029 Remove the use of reserved pages, and use locked pages instead.
Update compatibility for latest linux versions.
2006-09-14 12:17:38 +02:00
Thomas Hellstrom
99acb79366 Various bugfixes. 2006-09-08 17:24:38 +02:00
Thomas Hellstrom
1d3cf107d2 Module protection map access is moving into mainline kernels.
Update drm_compat accordingly.
(Reported by Dave Airlie)
2006-08-25 18:14:22 +02:00
Thomas Hellstrom
1c787f0d39 Backwards compatibility code for ttms. 2006-08-21 20:38:57 +02:00