<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git, branch vm-bind</title>
<subtitle>Linux Kernel</subtitle>
<id>https://git.etezian.org/cgit.cgi/linux.git/atom?h=vm-bind</id>
<link rel='self' href='https://git.etezian.org/cgit.cgi/linux.git/atom?h=vm-bind'/>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/'/>
<updated>2022-07-27T14:02:21+00:00</updated>
<entry>
<title>drm/i915/vm_bind: Fix vm-&gt;vm_bind_mutex and vm-&gt;mutex nesting</title>
<updated>2022-07-27T14:02:21+00:00</updated>
<author>
<name>Niranjana Vishwanathapura</name>
<email>niranjana.vishwanathapura@intel.com</email>
</author>
<published>2022-07-01T22:50:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=fb01c2a39a73f5c9305fe768ad6b383307cc9704'/>
<id>urn:sha1:fb01c2a39a73f5c9305fe768ad6b383307cc9704</id>
<content type='text'>
VM_BIND functionality maintain that vm-&gt;vm_bind_mutex will never be taken
while holding vm-&gt;mutex.
However, while closing 'vm', vma is destroyed while holding vm-&gt;mutex.
But vma releasing needs to take vm-&gt;vm_bind_mutex in order to delete vma
from the vm_bind_list. To avoid this, destroy the vma outside vm-&gt;mutex
while closing the 'vm'.

Signed-off-by: Niranjana Vishwanathapura &lt;niranjana.vishwanathapura@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/i915/vm_bind: Skip vma_lookup for persistent vmas</title>
<updated>2022-07-27T14:02:13+00:00</updated>
<author>
<name>Niranjana Vishwanathapura</name>
<email>niranjana.vishwanathapura@intel.com</email>
</author>
<published>2022-07-01T22:50:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=50b7191a3c46b2dbf994fd5094fa0985e60581d7'/>
<id>urn:sha1:50b7191a3c46b2dbf994fd5094fa0985e60581d7</id>
<content type='text'>
vma_lookup is tied to segment of the object instead of section
of VA space. Hence, it do not support aliasing (ie., multiple
bindings to the same section of the object).
Skip vma_lookup for persistent vmas as it supports aliasing.

Signed-off-by: Niranjana Vishwanathapura &lt;niranjana.vishwanathapura@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/i915/vm_bind: userptr dma-resv changes</title>
<updated>2022-07-27T14:02:08+00:00</updated>
<author>
<name>Niranjana Vishwanathapura</name>
<email>niranjana.vishwanathapura@intel.com</email>
</author>
<published>2022-07-01T22:50:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=104415c18b50bfcec327280d7255fe3809985884'/>
<id>urn:sha1:104415c18b50bfcec327280d7255fe3809985884</id>
<content type='text'>
For persistent (vm_bind) vmas of userptr BOs, handle the user
page pinning by using the i915_gem_object_userptr_submit_init()
/done() functions

Signed-off-by: Niranjana Vishwanathapura &lt;niranjana.vishwanathapura@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/i915/vm_bind: Handle persistent vmas in execbuf3</title>
<updated>2022-07-27T14:02:02+00:00</updated>
<author>
<name>Niranjana Vishwanathapura</name>
<email>niranjana.vishwanathapura@intel.com</email>
</author>
<published>2022-07-01T22:50:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=ffcac9df782f178ca40605886de7f033633d1bf9'/>
<id>urn:sha1:ffcac9df782f178ca40605886de7f033633d1bf9</id>
<content type='text'>
Handle persistent (VM_BIND) mappings during the request submission
in the execbuf3 path.

Signed-off-by: Niranjana Vishwanathapura &lt;niranjana.vishwanathapura@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/i915/vm_bind: Add I915_GEM_EXECBUFFER3 ioctl</title>
<updated>2022-07-27T14:01:56+00:00</updated>
<author>
<name>Niranjana Vishwanathapura</name>
<email>niranjana.vishwanathapura@intel.com</email>
</author>
<published>2022-07-01T22:50:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=57da147b37a5adf763f69ade844e89153fdb9b65'/>
<id>urn:sha1:57da147b37a5adf763f69ade844e89153fdb9b65</id>
<content type='text'>
Add new execbuf3 ioctl (I915_GEM_EXECBUFFER3) which only
works in vm_bind mode. The vm_bind mode only works with
this new execbuf3 ioctl.

The new execbuf3 ioctl will not have any execlist support
and all the legacy support like relocations etc are removed.

Signed-off-by: Niranjana Vishwanathapura &lt;niranjana.vishwanathapura@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/i915/vm_bind: Handle persistent vmas</title>
<updated>2022-07-27T14:01:50+00:00</updated>
<author>
<name>Niranjana Vishwanathapura</name>
<email>niranjana.vishwanathapura@intel.com</email>
</author>
<published>2022-07-01T22:50:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=e69215a17a12be7a636ebb1564a71ee076529e4a'/>
<id>urn:sha1:e69215a17a12be7a636ebb1564a71ee076529e4a</id>
<content type='text'>
Treat VM_BIND vmas as persistent and handle them during the
request submission in the execbuff path.

Support eviction by maintaining a list of evicted persistent vmas
for rebinding during next submission.

Signed-off-by: Niranjana Vishwanathapura &lt;niranjana.vishwanathapura@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/i915/vm_bind: Add out fence support</title>
<updated>2022-07-27T14:01:44+00:00</updated>
<author>
<name>Niranjana Vishwanathapura</name>
<email>niranjana.vishwanathapura@intel.com</email>
</author>
<published>2022-07-01T22:50:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=16c35db52c7e1018eb17f09dc3ca9b6422bd0376'/>
<id>urn:sha1:16c35db52c7e1018eb17f09dc3ca9b6422bd0376</id>
<content type='text'>
Add support for handling out fence of vm_bind call.

Signed-off-by: Niranjana Vishwanathapura &lt;niranjana.vishwanathapura@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/i915/vm_bind: Support private and shared BOs</title>
<updated>2022-07-27T14:01:32+00:00</updated>
<author>
<name>Niranjana Vishwanathapura</name>
<email>niranjana.vishwanathapura@intel.com</email>
</author>
<published>2022-07-01T22:50:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=6d4a81033fc07aef3ef210eff4f54243479d109c'/>
<id>urn:sha1:6d4a81033fc07aef3ef210eff4f54243479d109c</id>
<content type='text'>
Add uapi allowing user to specify a BO as private to a specified VM
during the BO creation.
VM private BOs can only be mapped on the specified VM and can't be
dma_buf exported. VM private BOs share a single common dma_resv object,
hence has a performance advantage requiring a single dma_resv object
update in the execbuf path compared to non-private (shared) BOs.

Signed-off-by: Niranjana Vishwanathapura &lt;niranjana.vishwanathapura@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/i915/vm_bind: Bind and unbind mappings</title>
<updated>2022-07-27T14:01:26+00:00</updated>
<author>
<name>Niranjana Vishwanathapura</name>
<email>niranjana.vishwanathapura@intel.com</email>
</author>
<published>2022-07-01T22:50:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=4d69cd8e3f92fe08b300a1e7868fc1c882b5fc78'/>
<id>urn:sha1:4d69cd8e3f92fe08b300a1e7868fc1c882b5fc78</id>
<content type='text'>
Bind and unbind the mappings upon VM_BIND and VM_UNBIND calls.

Signed-off-by: Niranjana Vishwanathapura &lt;niranjana.vishwanathapura@intel.com&gt;
Signed-off-by: Prathap Kumar Valsan &lt;prathap.kumar.valsan@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/i915/vm_bind: Introduce VM_BIND ioctl</title>
<updated>2022-07-27T14:01:19+00:00</updated>
<author>
<name>Niranjana Vishwanathapura</name>
<email>niranjana.vishwanathapura@intel.com</email>
</author>
<published>2022-07-01T22:50:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=7592cf2fb881100b14547d14a245ae9ea59761f5'/>
<id>urn:sha1:7592cf2fb881100b14547d14a245ae9ea59761f5</id>
<content type='text'>
Add VM_BIND and VM_UNBIND ioctls to bind/unbind a section of an
object at the specified GPU virtual addresses.

Add I915_PARAM_VM_BIND_VERSION to indicate version of VM_BIND feature
supported and I915_VM_CREATE_FLAGS_USE_VM_BIND for UMDs to select the
vm_bind mode of binding.

Signed-off-by: Niranjana Vishwanathapura &lt;niranjana.vishwanathapura@intel.com&gt;
</content>
</entry>
</feed>
