[PATCH] drm/i915/gem: Flush lmem contents after construction

Das, Nirmoy nirmoy.das at intel.com
Thu Mar 23 11:17:30 UTC 2023


On 3/16/2023 5:59 PM, Nirmoy Das wrote:
> From: Chris Wilson <chris.p.wilson at linux.intel.com>
>
> i915_gem_object_create_lmem_from_data() lacks the flush of the data
> written to lmem to ensure the object is marked as dirty and the writes
> flushed to the backing store. Once created, we can immediately release
> the obj->mm.mapping caching of the vmap.
>
> Fixes: 7acbbc7cf485 ("drm/i915/guc: put all guc objects in lmem when available")
> Cc: Matthew Auld <matthew.auld at intel.com>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
> Cc: Andi Shyti <andi.shyti at linux.intel.com>
> Cc: Matthew Brost <matthew.brost at intel.com>
> Cc: John Harrison <John.C.Harrison at Intel.com>
> Signed-off-by: Chris Wilson <chris.p.wilson at linux.intel.com>
> Cc: <stable at vger.kernel.org> # v5.16+
> Signed-off-by: Nirmoy Das <nirmoy.das at intel.com>

Reviewed-by: Nirmoy Das <nirmoy.das at intel.com>


> ---
>   drivers/gpu/drm/i915/gem/i915_gem_lmem.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_lmem.c b/drivers/gpu/drm/i915/gem/i915_gem_lmem.c
> index 8949fb0a944f..3198b64ad7db 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_lmem.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_lmem.c
> @@ -127,7 +127,8 @@ i915_gem_object_create_lmem_from_data(struct drm_i915_private *i915,
>   
>   	memcpy(map, data, size);
>   
> -	i915_gem_object_unpin_map(obj);
> +	i915_gem_object_flush_map(obj);
> +	__i915_gem_object_release_map(obj);
>   
>   	return obj;
>   }


More information about the dri-devel mailing list