drm/i915/ttm: require mappable by default

On devices with non-mappable LMEM ensure we always allocate the pages
within the mappable portion. For now we assume that all LMEM buffers
will require CPU access, which is also inline with pretty much all
current kernel internal users. In the next patch we will introduce a new
flag to override this behaviour.

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>
Acked-by: Nirmoy Das <nirmoy.das@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220225145502.331818-2-matthew.auld@intel.com
This commit is contained in:
Matthew Auld
2022-02-25 14:54:57 +00:00
parent 235582ca96
commit 3312a4ac8a
2 changed files with 9 additions and 0 deletions

View File

@@ -130,6 +130,10 @@ i915_ttm_place_from_region(const struct intel_memory_region *mr,
if (flags & I915_BO_ALLOC_CONTIGUOUS)
place->flags = TTM_PL_FLAG_CONTIGUOUS;
if (mr->io_size && mr->io_size < mr->total) {
place->fpfn = 0;
place->lpfn = mr->io_size >> PAGE_SHIFT;
}
}
static void

View File

@@ -199,6 +199,11 @@ intel_region_ttm_resource_alloc(struct intel_memory_region *mem,
struct ttm_resource *res;
int ret;
if (mem->io_size && mem->io_size < mem->total) {
place.fpfn = 0;
place.lpfn = mem->io_size >> PAGE_SHIFT;
}
mock_bo.base.size = size;
mock_bo.bdev = &mem->i915->bdev;
place.flags = flags;