Hi, On Mon, 2021-06-07 at 19:22 +0100, Matthew Auld wrote: > Currently we just ignore the I915_BO_ALLOC_CONTIGUOUS flag, which is > fine since everything is already contiguous with the ttm range > manager. > However in the next patch we want to switch over to the ttm buddy > manager, where allocations are by default not contiguous. > > Signed-off-by: Matthew Auld <matthew.auld@xxxxxxxxx> > Cc: Thomas Hellström <thomas.hellstrom@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > index 73d52df8f2be..0b0fce445e9b 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c > @@ -86,10 +86,18 @@ i915_ttm_select_tt_caching(const struct > drm_i915_gem_object *obj) > > static void > i915_ttm_place_from_region(const struct intel_memory_region *mr, > - struct ttm_place *place) > + struct ttm_place *place, > + unsigned int flags) > { > memset(place, 0, sizeof(*place)); > place->mem_type = intel_region_to_ttm_type(mr); > + > + switch(mr->type) { > + case INTEL_MEMORY_LOCAL: > + if (flags & I915_BO_ALLOC_CONTIGUOUS) > + place->flags = TTM_PL_FLAG_CONTIGUOUS; > + break; > + } Do we need to restrict this to INTEL_MEMORY_LOCAL? While it doesn't currently make much sense for other memory regions, no point in not forwarding for all? /Thomas