drm/i915/ttm: use cached system pages when evicting lmem

This should let us do an accelerated copy directly to the shmem pages
when temporarily moving lmem-only objects, where the i915-gem shrinker
can later kick in to swap out the pages, if needed.

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211018091055.1998191-7-matthew.auld@intel.com
This commit is contained in:
Matthew Auld 2021-10-18 10:10:54 +01:00
parent ebd4a8ec77
commit 2eda4fc6d0

View File

@ -134,11 +134,11 @@ static enum ttm_caching
i915_ttm_select_tt_caching(const struct drm_i915_gem_object *obj)
{
/*
* Objects only allowed in system get cached cpu-mappings.
* Other objects get WC mapping for now. Even if in system.
* Objects only allowed in system get cached cpu-mappings, or when
* evicting lmem-only buffers to system for swapping. Other objects get
* WC mapping for now. Even if in system.
*/
if (obj->mm.region->type == INTEL_MEMORY_SYSTEM &&
obj->mm.n_placements <= 1)
if (obj->mm.n_placements <= 1)
return ttm_cached;
return ttm_write_combined;