summaryrefslogtreecommitdiff
path: root/linux-core/drm_ttm.c
AgeCommit message (Collapse)Author
2008-11-10drm/radeon: add uncached allocator to drm ttm code.Dave Airlie
2008-08-17linux: on_each_cpu has 3 args on 2.6.27Maarten Maathuis
2008-04-07Missing KERNEL_VERSION macroPatrice Mandin
2008-04-06Place highmem pages last in the ttm page array.Thomas Hellstrom
2008-04-06Use clflush() when available for cache flushing.Thomas Hellstrom
2008-03-12Bug # 14712Thomas Hellstrom
Disable page saving for GPU read-only TTMs.
2008-03-04Clarify through the names what drm_ttm_alloc_pages() and friend actually did.Eric Anholt
These are all about the page directory (pointers to pages) rather than the actual pages backing the allocation.
2007-12-21Use dummy_read_page for unpopulated kernel-allocated ttm pages.Keith Packard
Previously, dummy_read_page was used only for read-only user allocations; it filled in pages that were not present in the user address map (presumably, these were allocated but never written to pages). This patch allows them to be used for read-only ttms allocated from the kernel, so that applications can over-allocate buffers without forcing every page to be allocated.
2007-12-21Move dummy_read_page from drm_ttm_set_user to drm_ttm_create.Keith Packard
I'm hoping to use the dummy_read_page for kernel allocated buffers to avoid allocating extra pages for read-only buffers (like vertex and batch buffers). This also eliminates the 'write' parameter to drm_ttm_set_user and just has DRM_TTM_PAGE_WRITE passed into drm_ttm_create.
2007-12-21Clean up and document drm_ttm.c APIs. drm_bind_ttm -> drm_ttm_bind.Keith Packard
Aside from changing drm_bind_ttm to drm_ttm_bind, this patch adds only documentation and fixes the functions inside drm_ttm.c to all be prefixed with drm_ttm_.
2007-12-15Document drm_ttm_set_user.Keith Packard
Add a comment explaining the parameters for this function
2007-12-15Make ttm create/destroy APIs consistent. Pass page_flags in create.Keith Packard
Creating a ttm was done with drm_ttm_init while destruction was done with drm_destroy_ttm. Renaming these to drm_ttm_create and drm_ttm_destroy makes their use clearer. Passing page_flags to the create function will allow that to know whether user or kernel pages are needed, with the goal of allowing kernel ttms to be saved for later reuse.
2007-11-22drm: major whitespace/coding style realignment with kernelDave Airlie
2007-11-15mm fixups.Thomas Hellstrom
2007-11-07Don't overwrite TTM page flags.Thomas Hellstrom
2007-11-05drm/ttm: apply linux kernel coding style to bo_lock/move/object/ttm.cDave Airlie
2007-11-02User buffer support.Thomas Hellstrom
2007-11-01drm/ttm: add support for cached un-snooped mappings.Dave Airlie
This mapping allows cached objects to be mapped in/out of the TT space with the appropriate flushing calls. It should put back the old CACHED functionality for snooped mappings
2007-10-30drm/i915: add driver cache flush entry pointDave Airlie
Use clflush on Intel hardware to flush cached objects.
2007-09-22Add fence error member.Thomas Hellstrom
Modify the TTM backend bind arguments. Export a number of functions needed for driver-specific super-ioctls. Add a function to map buffer objects from the kernel, regardless of where they're currently placed. A number of error fixes.
2007-07-16drm: detypedef ttm/bo/fence codeDave Airlie
2007-04-18Simplify the ttm backend interface and the agp ttm backend.Thomas Hellstrom
2007-03-19whitespace cleanup pending a kernel mergeDave Airlie
2007-02-12Lindent.Thomas Hellstrom
2007-02-09I915 accelerated blit copy functional.Thomas Hellstrom
Fixed - to System memory copies are implemented by flipping in a cache-coherent TTM, blitting to it, and then flipping it out.
2007-02-09Fix copyright statements.Thomas Hellstrom
2007-02-08Simplify external ttm page allocation.Thomas Hellstrom
Implement a memcpy fallback for copying between buffers.
2007-02-07Checkpoint commit.Thomas Hellstrom
Flag handling and memory type selection cleanup. glxgears won't start.
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-02-01Fix missing ttm_open_vma call from previous commit.Thomas Hellstrom
Honour the ttm backend cant-use-aperture flag.
2007-01-09ttm: make ttm alloc/free into alloc_pages/free_pagesDave Airlie
Add a vmalloc flag to the page flags
2006-12-27Proper allocation of AGP pages for ttms.Thomas Hellstrom
2006-12-19Security fix. Zero pages before they are handed to user space.Thomas Hellstrom
TTM pages were not cleared when allocated and handed to user space. Sensitive information may leak.
2006-10-30Bugzilla Bug #8819Thomas Hellstrom
Build fixes for powerpc. Reported by Katerina Barone-Adesi
2006-10-26Add a one-page hole in the file offset space between buffers.Thomas Hellstrom
2006-10-21The CPU cache must be flushed _before_ we start modifying the kernel map ptes,Thomas Hellstrom
otherwise data will be missing, which becomes apparent when the kernel evicts batch buffers which are likely to be written into in the evicted state, and then rebound to the AGP aperture. This means we cannot rely on the AGP module to flush the cache for us.
2006-10-17Lindent.Thomas Hellstrom
2006-10-17Add memory usage accounting to avoid DOS problems.Thomas Hellstrom
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-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-10-10Use a nopage-based approach to fault in pfns.Thomas Hellstrom
2006-10-03Get rid of all ugly PTE hacks.Thomas Hellstrom
2006-10-02Make the user_token 44-bit for TTMs, and have them occupy a unique file spaceThomas Hellstrom
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-02Allow for 44 bit user-tokens (or drm_file offsets)Thomas Hellstrom
2006-09-27Adapt to architecture-specific hooks for gatt pages.Thomas Hellstrom
2006-09-14Simplify ttm alloc and free.Thomas Hellstrom
2006-09-14Remove the use of reserved pages, and use locked pages instead.Thomas Hellstrom
Update compatibility for latest linux versions.