drm/i915/gt: describe the new tlb parameter at i915_vma_resource
TLB cache invalidation can happen on two different situations: 1. synchronously, at __vma_put_pages(); 2. asynchronously. On the first case, TLB cache invalidation happens inside __vma_put_pages(). So, no need to do it later on. However, on the second case, the pages will keep in memory until __i915_vma_evict() is called. So, we need to store the TLB data at struct i915_vma_resource, in order to do a TLB cache invalidation before allowing userspace to re-use the same memory. So, i915_vma_resource_unbind() has gained a new parameter in order to store the TLB data at the second case. Document it. Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/aa55eef7e63b8f3d0f69b525db2dd2eb87e9db6b.1658924372.git.mchehab@kernel.org
This commit is contained in:
parent
5d36acb719
commit
d1051db85f
@ -216,6 +216,10 @@ i915_vma_resource_fence_notify(struct i915_sw_fence *fence,
|
||||
/**
|
||||
* i915_vma_resource_unbind - Unbind a vma resource
|
||||
* @vma_res: The vma resource to unbind.
|
||||
* @tlb: pointer to vma->obj->mm.tlb associated with the resource
|
||||
* to be stored at vma_res->tlb. When not-NULL, it will be used
|
||||
* to do TLB cache invalidation before freeing a VMA resource.
|
||||
* Used only for async unbind.
|
||||
*
|
||||
* At this point this function does little more than publish a fence that
|
||||
* signals immediately unless signaling is held back.
|
||||
|
Loading…
x
Reference in New Issue
Block a user