<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include/drm/ttm, branch v5.5</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v5.5</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v5.5'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2019-11-28T04:33:01Z</updated>
<entry>
<title>Merge branch 'vmwgfx-coherent' of git://people.freedesktop.org/~thomash/linux into drm-next</title>
<updated>2019-11-28T04:33:01Z</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@redhat.com</email>
</author>
<published>2019-11-28T02:39:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0a6cad5df541108cfd3fbd79eef48eb824c89bdc'/>
<id>urn:sha1:0a6cad5df541108cfd3fbd79eef48eb824c89bdc</id>
<content type='text'>
Graphics APIs like OpenGL 4.4 and Vulkan require the graphics driver
to provide coherent graphics memory, meaning that the GPU sees any
content written to the coherent memory on the next GPU operation that
touches that memory, and the CPU sees any content written by the GPU
to that memory immediately after any fence object trailing the GPU
operation is signaled.

Paravirtual drivers that otherwise require explicit synchronization
needs to do this by hooking up dirty tracking to pagefault handlers
and buffer object validation.

Provide mm helpers needed for this and that also allow for huge pmd-
and pud entries (patch 1-3), and the associated vmwgfx code (patch 4-7).

The code has been tested and exercised by a tailored version of mesa
where we disable all explicit synchronization and assume graphics memory
is coherent. The performance loss varies of course; a typical number is
around 5%.

Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
From: Thomas Hellstrom &lt;thomas_os@shipmail.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20191113131639.4653-1-thomas_os@shipmail.org
</content>
</entry>
<entry>
<title>drm/ttm, drm/vmwgfx: Use a configuration option for the TTM dma page pool</title>
<updated>2019-11-14T07:41:23Z</updated>
<author>
<name>Thomas Hellstrom</name>
<email>thellstrom@vmware.com</email>
</author>
<published>2019-11-13T18:02:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e2e966636aee99971965c0965a4c11b8ce077da3'/>
<id>urn:sha1:e2e966636aee99971965c0965a4c11b8ce077da3</id>
<content type='text'>
Drivers like vmwgfx may want to test whether the dma page pool is present
or not. Since it's activated by default by TTM if compiled-in, define a
hidden configuration option that the driver can test for.

Cc: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/ttm: Convert vm callbacks to helpers</title>
<updated>2019-11-06T12:02:00Z</updated>
<author>
<name>Thomas Hellstrom</name>
<email>thellstrom@vmware.com</email>
</author>
<published>2019-02-06T11:55:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=7aef29f4d4613570f413301b0807ea66a21f5e3b'/>
<id>urn:sha1:7aef29f4d4613570f413301b0807ea66a21f5e3b</id>
<content type='text'>
The default TTM fault handler may not be completely sufficient
(vmwgfx needs to do some bookkeeping, control the write protectionand also
needs to restrict the number of prefaults).

Also make it possible replicate ttm_bo_vm_reserve() functionality for,
for example, mkwrite handlers.

So turn the TTM vm code into helpers: ttm_bo_vm_fault_reserved(),
ttm_bo_vm_open(), ttm_bo_vm_close() and ttm_bo_vm_reserve(). Also provide
a default TTM fault handler for other drivers to use.

Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/ttm: remove pointers to globals</title>
<updated>2019-10-25T09:40:51Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2019-09-25T09:38:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=97588b5b9a6b330dc2e3fbf3dea987e37d30194e'/>
<id>urn:sha1:97588b5b9a6b330dc2e3fbf3dea987e37d30194e</id>
<content type='text'>
As the name says global memory and bo accounting is global. So it doesn't
make to much sense having pointers to global structures all around the code.

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Thomas Hellström &lt;thellstrom@vmware.com&gt;
Link: https://patchwork.freedesktop.org/patch/332879/
</content>
</entry>
<entry>
<title>drm/ttm: always keep BOs on the LRU</title>
<updated>2019-10-25T09:40:50Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2019-09-19T10:56:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9165fb879f62a73577867180e890f410f3a239ad'/>
<id>urn:sha1:9165fb879f62a73577867180e890f410f3a239ad</id>
<content type='text'>
This allows blocking for BOs to become available
in the memory management.

Amdgpu is doing this for quite a while now during CS. Now
apply the new behavior to all drivers using TTM.

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Acked-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Link: https://patchwork.freedesktop.org/patch/332878/
</content>
</entry>
<entry>
<title>drm/ttm, drm/vmwgfx: move cpu_writers handling into vmwgfx</title>
<updated>2019-10-25T09:40:28Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2019-10-01T08:02:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=7fb03cc3e0794f00b8f154f335ad5b4eb4d78c58'/>
<id>urn:sha1:7fb03cc3e0794f00b8f154f335ad5b4eb4d78c58</id>
<content type='text'>
This feature is only used by vmwgfx and superfluous for everybody else.

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Co-developed-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Signed-off-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Tested-by: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Link: https://patchwork.freedesktop.org/patch/333650/
</content>
</entry>
<entry>
<title>drm/ttm: rename ttm_fbdev_mmap</title>
<updated>2019-10-17T11:59:16Z</updated>
<author>
<name>Gerd Hoffmann</name>
<email>kraxel@redhat.com</email>
</author>
<published>2019-10-16T11:51:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=12067e0e89aa296ce994299aef26eddd612cf3c4'/>
<id>urn:sha1:12067e0e89aa296ce994299aef26eddd612cf3c4</id>
<content type='text'>
Rename ttm_fbdev_mmap to ttm_bo_mmap_obj.  Move the vm_pgoff sanity
check to amdgpu_bo_fbdev_mmap (only ttm_fbdev_mmap user in tree).

The ttm_bo_mmap_obj function can now be used to map any buffer object.
This allows to implement &amp;drm_gem_object_funcs.mmap in gem ttm helpers.

v3: patch added to series

Signed-off-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
Acked-by: Thomas Zimmermann &lt;tzimmermann@suse.de&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Acked-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20191016115203.20095-8-kraxel@redhat.com
</content>
</entry>
<entry>
<title>Merge drm/drm-next into drm-misc-next</title>
<updated>2019-10-03T14:38:50Z</updated>
<author>
<name>Maxime Ripard</name>
<email>mripard@kernel.org</email>
</author>
<published>2019-10-03T14:38:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4092de1ba34eb376791809fb366bc15f8a9e0b7c'/>
<id>urn:sha1:4092de1ba34eb376791809fb366bc15f8a9e0b7c</id>
<content type='text'>
We haven't done any backmerge for a while due to the merge window, and it
starts to become an issue for komeda. Let's bring 5.4-rc1 in.

Signed-off-by: Maxime Ripard &lt;mripard@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/ttm: remove embedded vma_offset_manager</title>
<updated>2019-09-11T06:03:25Z</updated>
<author>
<name>Gerd Hoffmann</name>
<email>kraxel@redhat.com</email>
</author>
<published>2019-09-05T07:05:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=07583467c256ed1acacb204a96d69beacb34b7f6'/>
<id>urn:sha1:07583467c256ed1acacb204a96d69beacb34b7f6</id>
<content type='text'>
No users left.  Drivers either setup vma_offset_manager themself
(vmwgfx) or pass the gem vma_offset_manager to ttm_bo_device_init
(all other drivers).

Signed-off-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20190905070509.22407-9-kraxel@redhat.com
</content>
</entry>
<entry>
<title>drm/ttm: turn ttm_bo_device.vma_manager into a pointer</title>
<updated>2019-09-11T06:03:23Z</updated>
<author>
<name>Gerd Hoffmann</name>
<email>kraxel@redhat.com</email>
</author>
<published>2019-09-05T07:05:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9d6f4484e81c0005f019c8e9b43629ead0d0d355'/>
<id>urn:sha1:9d6f4484e81c0005f019c8e9b43629ead0d0d355</id>
<content type='text'>
Rename the embedded struct vma_offset_manager, new name is _vma_manager.
ttm_bo_device.vma_manager changed to a pointer.

The ttm_bo_device_init() function gets an additional vma_manager
argument which allows to initialize ttm with a different vma manager.
When passing NULL the embedded _vma_manager is used.

All callers are updated to pass NULL, so the behavior doesn't change.

Signed-off-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Link: http://patchwork.freedesktop.org/patch/msgid/20190905070509.22407-2-kraxel@redhat.com
</content>
</entry>
</feed>
