summaryrefslogtreecommitdiff
path: root/linux-core/drm_bo.c
AgeCommit message (Collapse)Author
2007-02-13More bugfixes.Thomas Hellstrom
Fixed memory, pinned buffers and unmappable memory now seems fully functional.
2007-02-12Lindent.Thomas Hellstrom
2007-02-12More bugfixes.Thomas Hellstrom
2007-02-12Cleanup and fix support for pinned buffers.Thomas Hellstrom
2007-02-10Various bugfixes.Thomas Hellstrom
2007-02-09Reinstate some LRU handling.Thomas Hellstrom
2007-02-09Remove some code that should have gone inThomas Hellstrom
commit 6a49d9a8abd9f168211017c2d585d0d64e89c530
2007-02-09Fix copyright statements.Thomas Hellstrom
2007-02-09Fix evict_mutex locking range.Thomas Hellstrom
Implement unmappable buffers. (fault moves them to mappable when needed). Various bugfixes.
2007-02-08Add an accelerated buffer copy cleanup helper.Thomas Hellstrom
Export helper functions and make some important buffer-object functions non-static. Add an i915 accelerated blit buffer move for pci memory buffers.
2007-02-08Don't create a ttm just to copy from.Thomas Hellstrom
2007-02-08A minor function interface change and some memcpy bugfixing.Thomas Hellstrom
Hooray!! it sort of works with a fixed AGP area as faked VRAM.
2007-02-08Simplify external ttm page allocation.Thomas Hellstrom
Implement a memcpy fallback for copying between buffers.
2007-02-08Update memory compatibility tests.Thomas Hellstrom
Now only pinned buffers are broken.
2007-02-07Checkpoint commit.Thomas Hellstrom
Flag handling and memory type selection cleanup. glxgears won't start.
2007-02-07Fix a stray unlock_kernel() in drm_vm.cThomas Hellstrom
Add a file for memory move helpers, drm_bo_move.c Implement generic memory move. Cached, no_move and unmapped memory temporarily broken.
2007-02-06Simplify pci map vs no pci map choice.Thomas Hellstrom
2007-02-06Implement a drm_mem_reg_t substructure in the buffer object type.Thomas Hellstrom
2007-02-06Implement a policy for selecting memory types.Thomas Hellstrom
2007-02-02Make also later kernels work with buffer object vmThomas Hellstrom
and clean up some function names.
2007-02-02Make vm handle buffer objects instead of ttm objects.Thomas Hellstrom
Remove ttm objects. Make vm aware of PCI memory type buffer objects. (Only works for pre 2.6.16 kernels for now).
2007-01-31memory manager: Make device driver aware of different memory types.Thomas Hellstrom
Memory types are either fixed (on-card or pre-bound AGP) or not fixed (dynamically bound) to an aperture. They also carry information about: 1) Whether they can be mapped cached. 2) Whether they are at all mappable. 3) Whether they need an ioremap to be accessible from kernel space. In this way VRAM memory and, for example, pre-bound AGP appear identical to the memory manager. This also makes support for unmappable VRAM simple to implement.
2007-01-31Fix an error-path oops.Thomas Hellstrom
2007-01-30Add a buffer object transfer function.Thomas Hellstrom
Creates a placeholder for the old buffer contents when it is transfered to / from static memory like VRAM.
2007-01-30Clean up buffer object destruction somewhat.Thomas Hellstrom
2007-01-29Use pre-defined list_splice function.Thomas Hellstrom
2007-01-29s/buf/bo/ for consistency.Thomas Hellstrom
2007-01-29Some cleanup. A buffer object should only have one active memory type.Thomas Hellstrom
2007-01-01make build against 2.6.20 hopefullyDave Airlie
2006-10-27Last minute changes to support multi-page size buffer offset alignments.Thomas Hellstrom
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-19Make sure delayed delete list is empty on lastclose.Thomas Hellstrom
Fix some refcounting errors. Fix some error messages.
2006-10-17Remove max number of locked pages check and call, sinceThomas Hellstrom
that is now handled by the memory accounting.
2006-10-17Lindent.Thomas Hellstrom
2006-10-17Add memory usage accounting to avoid DOS problems.Thomas Hellstrom
2006-10-17Implement mm_lock and mm_unlock functions.Thomas Hellstrom
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-17Remove the memory manager parameter from the put_block function, as thisThomas Hellstrom
makes the client code a lot cleaner. Prepare buffer manager for lock and unlock calls.
2006-10-17Extend generality for more memory types.Thomas Hellstrom
Fix up init and destruction code.
2006-10-12Bugfixes.Thomas Hellstrom
2006-10-12Simplify the AGP backend interface somewhat.Thomas Hellstrom
Fix buffer bound caching policy changing, Allow on-the-fly changing of caching policy on bound buffers if the hardware supports it. Allow drivers to use driver-specific AGP memory types for TTM AGP pages. Will make AGP drivers much easier to migrate.
2006-10-11Compatibility code for 2.6.15-2.6.18. It is ugly but a little comfort is thatThomas Hellstrom
it will go away in the mainstream kernel. Some bugfixes, mainly in error paths.
2006-10-11Big update:Thomas Hellstrom
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-09-29Fix buffer manager takedown error.Thomas Hellstrom
Prepare for the possibility to evict all buffers from vram / agp. This will be used by the X server when, for example, switching vts.
2006-09-27Fix racy buffer object destruction.Thomas Hellstrom
2006-09-27Fix tt fixed size that slipped through in previous commit.Thomas Hellstrom
2006-09-27Adapt to architecture-specific hooks for gatt pages.Thomas Hellstrom
2006-09-25Add /proc filesystem buffer / fence object accounting.Thomas Hellstrom
Check for NULL pointer in the i915 flush handler. Remove i915_sync_flush declaration.
2006-09-18Alternative implementation of page table zeroing using zap page_range.Thomas Hellstrom
(Disabled for now) Fix bo_wait_idle bug. Remove stray debug message.
2006-09-15Allow a "native type" to be associated with a fence sequence.Thomas Hellstrom
In the intel case, we can associate a flush with a sequence.
2006-09-15Some bugfixes.Thomas Hellstrom
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-12Fix some debug messages.Thomas Hellstrom