[PATCH 1/2] drm/i915/ttm: limit where we apply TTM_PL_FLAG_CONTIGUOUS
Das, Nirmoy
nirmoy.das at linux.intel.com
Fri Mar 25 10:03:16 UTC 2022
On 3/25/2022 8:16 AM, Thomas Hellström wrote:
>
> On 3/24/22 18:21, Matthew Auld wrote:
>> We only need this when allocating device local-memory, where this
>> influences the drm_buddy. Currently there is some funny behaviour where
>> an "in limbo" system memory object is lacking the relevant placement
>> flags etc. before we first allocate the ttm_tt, leading to ttm
>> performing a move when not needed, since the current placement is seen
>> as not compatible.
>>
>> Suggested-by: Thomas Hellström <thomas.hellstrom at linux.intel.com>
>> Fixes: 2ed38cec5606 ("drm/i915: opportunistically apply
>> ALLOC_CONTIGIOUS")
>> Signed-off-by: Matthew Auld <matthew.auld at intel.com>
>> Cc: Nirmoy Das <nirmoy.das at linux.intel.com>
>> ---
>> drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
>> b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
>> index e4a06fcf741a..97e648fa76bd 100644
>> --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
>> @@ -133,6 +133,9 @@ i915_ttm_place_from_region(const struct
>> intel_memory_region *mr,
>> memset(place, 0, sizeof(*place));
>> place->mem_type = intel_region_to_ttm_type(mr);
>> + if (mr->type == INTEL_MEMORY_SYSTEM)
>> + return;
>> +
>
> Reviewed-by: Thomas Hellström <thomas.hellstrom at linux.intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das at amd.com>
>
>> if (flags & I915_BO_ALLOC_CONTIGUOUS)
>> place->flags |= TTM_PL_FLAG_CONTIGUOUS;
>> if (offset != I915_BO_INVALID_OFFSET) {
More information about the dri-devel
mailing list