summaryrefslogtreecommitdiff
path: root/linux-core/drm_bo.c
AgeCommit message (Collapse)Author
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
2006-09-12Use lazy fence wait when possible even for RW fences. Saves some CPU.Thomas Hellstrom
Lindent.
2006-09-12More bugfixes.Thomas Hellstrom
Disable the i915 IRQ turnoff for now since it seems to be causing problems.
2006-09-08Various bugfixes.Thomas Hellstrom
2006-09-05Fence all unfenced buffers function.Thomas Hellstrom
2006-09-04Buffer object wait IOCTL operation.Thomas Hellstrom
Remove option to wait for fence / buffers and block signals.
2006-09-04Make memory caches global so that they can be used withThomas Hellstrom
multiple heads.
2006-09-01Lindent drm_bo.cThomas Hellstrom
2006-09-01Flag bit pattern bugfixes. Remove some error messages.Thomas Hellstrom
2006-09-01Export buffer info on map and validate ioctls.Thomas Hellstrom
Add an info ioctl operation.
2006-09-01Bugfixes,Thomas Hellstrom
Memory allocation optimizations. Buffer manager takedown.
2006-09-01Various bugfixes.Thomas Hellstrom
2006-08-31Validation and fencing.Thomas Hellstrom
2006-08-31Remove the buffer manager mutex. Use dev->struct_mutex instead.Thomas Hellstrom
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.