- 22 Jul, 2010 1 commit
-
-
Luck, Tony authored
The commit 1e8655f8 drm/ttm: Fix build on architectures without AGP looks at TTM_HAS_AGP before it has been set in ttm_bo_driver.h Move the conditional inclusion of <asm/agp.h> *after* we have included ttm_bo_driver.h Signed-of-by:
Tony Luck <tony.luck@intel.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 20 Jul, 2010 1 commit
-
-
Ben Hutchings authored
Make inclusion of <asm/agp.h> conditional on TTM_HAS_AGP. The use of the functions declared in it is already conditional. Reported-by:
Geert Stappers <stappers@stappers.nl> Signed-off-by:
Ben Hutchings <ben@decadent.org.uk> Tested-by:
Geert Stappers <stappers@stappers.nl> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 07 Jul, 2010 1 commit
-
-
Francisco Jerez authored
Repeated ttm_page_alloc_init/fini fails noisily because the pool manager kobj isn't zeroed out between uses (we could do just that but statically allocated kobjects are generally considered a bad thing). Move it to kzalloc'ed memory. Note that this patch drops the refcounting behavior of the pool allocator init/fini functions: it would have led to a race condition in its current form, and anyway it was never exploited. This fixes a regression with reloading kms modules at runtime, since page allocator was introduced. Signed-off-by:
Francisco Jerez <currojerez@riseup.net> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 01 Jul, 2010 1 commit
-
-
Jerome Glisse authored
Non pooled page allocation should have GFP_USER set so allocation can wait and reclaim page from other process (ie non atomic). Signed-off-by:
Jerome Glisse <jglisse@redhat.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 31 May, 2010 2 commits
-
-
Thomas Hellstrom authored
Fix a number of typos misspellings and checkpatch.pl warnings. Replace "[ttm] " with TTM_PFX Signed-off-by:
Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Thomas Hellstrom authored
This patch fixes a regression introduced with the pool page allocator in the event that there are no highmem pages (for example x86_64), in which case cached page allocation would fail. Tested with the vmwgfx driver on a 64-bit vm. Signed-off-by:
Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 08 Apr, 2010 2 commits
-
-
Stephen Rothwell authored
Signed-off-by:
Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Matt Turner authored
Fixes drivers/gpu/drm/ttm/ttm_page_alloc.c: In function 'ttm_page_alloc_debugfs': drivers/gpu/drm/ttm/ttm_page_alloc.c:829: error: implicit declaration of function 'seq_printf' Signed-off-by:
Matt Turner <mattst88@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 06 Apr, 2010 4 commits
-
-
Pauli Nieminen authored
Sysfs interface allows user to configure pool allocator functionality and change limits for the size of pool. Signed-off-by:
Pauli Nieminen <suokkos@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Pauli Nieminen authored
Using single call to set multiple pages to wc reduces number of expensive cache flushes. Signed-off-by:
Pauli Nieminen <suokkos@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Pauli Nieminen authored
ttm_page_alloc_debugfs can be registered to output the state of pools. Debugfs file will output number of pages freed from the pool, number of pages in pool now and the lowes number of pages in pool since previous shrink. Signed-off-by:
Pauli Nieminen <suokkos@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Pauli Nieminen authored
On AGP system we might allocate/free routinely uncached or wc memory, changing page from cached (wb) to uc or wc is very expensive and involves a lot of flushing. To improve performance this allocator use a pool of uc,wc pages. Pools are protected with spinlocks to allow multiple threads to allocate pages simultanously. Expensive operations are done outside of spinlock to maximize concurrency. Pools are linked lists of pages that were recently freed. mm shrink callback allows kernel to claim back pages when they are required for something else. Fixes: * set_pages_array_wb handles highmem pages so we don't have to remove them from pool. * Add count parameter to ttm_put_pages to avoid looping in free code. * Change looping from _safe to normal in pool fill error path. * Initialize sum variable and make the loop prettier in get_num_unused_pages. * Moved pages_freed reseting inside the loop in ttm_page_pool_free. * Add warning comment about spinlock context in ttm_page_pool_free. Based on Jerome Glisse's and Dave Airlie's pool allocator. Signed-off-by:
Jerome Glisse <jglisse@redhat.com> Signed-off-by:
Dave Airlie <airlied@redhat.com> Signed-off-by:
Pauli Nieminen <suokkos@gmail.com> Reviewed-by:
Jerome Glisse <jglisse@redhat.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-