<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/include/drm/ttm, branch linus/master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/include/drm/ttm?h=linus%2Fmaster</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/include/drm/ttm?h=linus%2Fmaster'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2022-06-14T09:15:19Z</updated>
<entry>
<title>drm/ttm: fix bulk move handling v2</title>
<updated>2022-06-14T09:15:19Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2022-06-13T07:37:03Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=0f9cd1ea10d307cad221d6693b648a8956e812b0'/>
<id>urn:sha1:0f9cd1ea10d307cad221d6693b648a8956e812b0</id>
<content type='text'>
The resource must be on the LRU before ttm_lru_bulk_move_add() is called
and we need to check if the BO is pinned or not before adding it.

Additional to that we missed taking the LRU spinlock in ttm_bo_unpin().

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Arunpravin Paneer Selvam &lt;Arunpravin.PaneerSelvam@amd.com&gt;
Acked-by: Luben Tuikov &lt;luben.tuikov@amd.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220613080816.4965-1-christian.koenig@amd.com
Fixes: fee2ede15542 ("drm/ttm: rework bulk move handling v5")
</content>
</entry>
<entry>
<title>drm/ttm: Add common debugfs code for resource managers</title>
<updated>2022-04-21T01:06:01Z</updated>
<author>
<name>Zack Rusin</name>
<email>zackr@vmware.com</email>
</author>
<published>2022-04-12T03:35:22Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=8cd9efd1b7fb329681d5a5fdf441c8fc8dc4f5ae'/>
<id>urn:sha1:8cd9efd1b7fb329681d5a5fdf441c8fc8dc4f5ae</id>
<content type='text'>
Drivers duplicate the code required to add debugfs entries for various
ttm resource managers. To fix it add common TTM resource manager debugfs
code that each driver can reuse.

Specific resource managers can overwrite
ttm_resource_manager_func::debug to get more information from those
debugfs entries.

Signed-off-by: Zack Rusin &lt;zackr@vmware.com&gt;
Cc: Huang Rui &lt;ray.huang@amd.com&gt;
Cc: David Airlie &lt;airlied@linux.ie&gt;
Cc: Daniel Vetter &lt;daniel@ffwll.ch&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220412033526.369115-2-zack@kde.org
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/ttm: fix kerneldoc for ttm_lru_bulk_move</title>
<updated>2022-04-13T09:26:00Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2022-04-13T09:11:36Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=84ab41db1734c7764a4f29a99d3106586495638c'/>
<id>urn:sha1:84ab41db1734c7764a4f29a99d3106586495638c</id>
<content type='text'>
Update the kerneldoc for the members as well.

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Fixes: b0e2c9ea5afc ("drm/ttm: allow bulk moves for all domains")
Acked-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220413091242.638413-1-christian.koenig@amd.com
</content>
</entry>
<entry>
<title>drm/ttm: stop passing NULL fence in ttm_bo_move_sync_cleanup</title>
<updated>2022-04-12T12:35:53Z</updated>
<author>
<name>Matthew Auld</name>
<email>matthew.auld@intel.com</email>
</author>
<published>2022-04-11T08:56:03Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=c63462184b35316fed7657d3c92dc5099ad5fab2'/>
<id>urn:sha1:c63462184b35316fed7657d3c92dc5099ad5fab2</id>
<content type='text'>
If we hit the sync case, like when skipping clearing for kernel internal
objects, or when falling back to cpu clearing, like in i915, we end up
trying to add a NULL fence, but with some recent changes in this area
this now just results in NULL deref in dma_resv_add_fence:

&lt;1&gt;[    5.466383] BUG: kernel NULL pointer dereference, address: 0000000000000008
&lt;1&gt;[    5.466384] #PF: supervisor read access in kernel mode
&lt;1&gt;[    5.466385] #PF: error_code(0x0000) - not-present page
&lt;6&gt;[    5.466386] PGD 0 P4D 0
&lt;4&gt;[    5.466387] Oops: 0000 [#1] PREEMPT SMP NOPTI
&lt;4&gt;[    5.466389] CPU: 5 PID: 267 Comm: modprobe Not tainted 5.18.0-rc2-CI-CI_DRM_11481+ #1
&lt;4&gt;[    5.466391] RIP: 0010:dma_resv_add_fence+0x63/0x260
&lt;4&gt;[    5.466395] Code: 38 85 c0 0f 84 df 01 00 00 0f 88 e8 01 00 00 83 c0 01 0f 88 df 01 00 00 8b 05 35 89 10 01 49 8d 5e 68 85 c0 0f 85 45 01 00 00 &lt;48&gt; 8b 45 08 48 3d c0 a5 0a 82 0f 84 5c 01 00 00 48 3d 60 a5 0a 82
&lt;4&gt;[    5.466396] RSP: 0018:ffffc90000e974f8 EFLAGS: 00010202
&lt;4&gt;[    5.466397] RAX: 0000000000000001 RBX: ffff888123e88b28 RCX: 00000000ffffffff
&lt;4&gt;[    5.466398] RDX: 0000000000000001 RSI: ffffffff822e4f50 RDI: ffffffff8233f087
&lt;4&gt;[    5.466399] RBP: 0000000000000000 R08: ffff8881313dbc80 R09: 0000000000000001
&lt;4&gt;[    5.466399] R10: 0000000000000001 R11: 00000000da354294 R12: 0000000000000000
&lt;4&gt;[    5.466400] R13: ffff88810927dc58 R14: ffff888123e88ac0 R15: ffff88810a88d600
&lt;4&gt;[    5.466401] FS:  00007f5fa1193540(0000) GS:ffff88845d880000(0000) knlGS:0000000000000000
&lt;4&gt;[    5.466402] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
&lt;4&gt;[    5.466402] CR2: 0000000000000008 CR3: 0000000106dd6003 CR4: 00000000003706e0
&lt;4&gt;[    5.466403] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
&lt;4&gt;[    5.466404] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
&lt;4&gt;[    5.466404] Call Trace:
&lt;4&gt;[    5.466405]  &lt;TASK&gt;
&lt;4&gt;[    5.466406]  ttm_bo_move_accel_cleanup+0x62/0x270 [ttm]
&lt;4&gt;[    5.466411]  ? i915_rsgt_from_buddy_resource+0x185/0x1e0 [i915]
&lt;4&gt;[    5.466529]  i915_ttm_move+0xfd/0x430 [i915]
&lt;4&gt;[    5.466833]  ? dma_resv_reserve_fences+0x4e/0x320
&lt;4&gt;[    5.466836]  ? ttm_bo_add_move_fence.constprop.20+0xf7/0x140 [ttm]
&lt;4&gt;[    5.466841]  ttm_bo_handle_move_mem+0xa1/0x140 [ttm]
&lt;4&gt;[    5.466845]  ttm_bo_validate+0xee/0x160 [ttm]
&lt;4&gt;[    5.466849]  __i915_ttm_get_pages+0x4f/0x210 [i915]
&lt;4&gt;[    5.466976]  i915_ttm_get_pages+0xad/0x140 [i915]
&lt;4&gt;[    5.467094]  ____i915_gem_object_get_pages+0x32/0xf0 [i915]
&lt;4&gt;[    5.467210]  __i915_gem_object_get_pages+0x89/0xa0 [i915]
&lt;4&gt;[    5.467323]  i915_vma_get_pages+0x114/0x1d0 [i915]
&lt;4&gt;[    5.467446]  i915_vma_pin_ww+0xd3/0xa90 [i915]
&lt;4&gt;[    5.467570]  i915_vma_pin.constprop.10+0x119/0x1b0 [i915]
&lt;4&gt;[    5.467700]  ? __mutex_unlock_slowpath+0x3e/0x2b0
&lt;4&gt;[    5.467704]  intel_alloc_initial_plane_obj.isra.6+0x1a9/0x390 [i915]
&lt;4&gt;[    5.467833]  intel_crtc_initial_plane_config+0x83/0x340 [i915]

In the ttm_bo_move_sync_cleanup() case it seems we only really care
about calling ttm_bo_wait_free_node(), so let's instead just call that
directly.

Signed-off-by: Matthew Auld &lt;matthew.auld@intel.com&gt;
Cc: Thomas Hellström &lt;thomas.hellstrom@linux.intel.com&gt;
Cc: Christian König &lt;christian.koenig@amd.com&gt;
Cc: Lucas De Marchi &lt;lucas.demarchi@intel.com&gt;
Cc: Nirmoy Das &lt;nirmoy.das@linux.intel.com&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220411085603.58156-1-matthew.auld@intel.com
</content>
</entry>
<entry>
<title>drm/ttm: remove bo-&gt;moving</title>
<updated>2022-04-07T10:53:54Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2021-11-23T10:30:35Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=8bb31587820a6e04cb613b49238b1800d1a97223'/>
<id>urn:sha1:8bb31587820a6e04cb613b49238b1800d1a97223</id>
<content type='text'>
This is now handled by the DMA-buf framework in the dma_resv obj.

Also remove the workaround inside VMWGFX to update the moving fence.

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220407085946.744568-14-christian.koenig@amd.com
</content>
</entry>
<entry>
<title>Merge drm/drm-next into drm-misc-next</title>
<updated>2022-04-05T09:06:58Z</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime@cerno.tech</email>
</author>
<published>2022-04-05T09:06:58Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=9cbbd694a58bdf24def2462276514c90cab7cf80'/>
<id>urn:sha1:9cbbd694a58bdf24def2462276514c90cab7cf80</id>
<content type='text'>
Let's start the 5.19 development cycle.

Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
</content>
</entry>
<entry>
<title>drm/ttm: Add a parameter to add extra pages into ttm_tt</title>
<updated>2022-04-02T02:52:48Z</updated>
<author>
<name>Ramalingam C</name>
<email>ramalingam.c@intel.com</email>
</author>
<published>2022-04-01T12:37:49Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=e36764ecf87cb86051f26cc8e5a9a665784a9f39'/>
<id>urn:sha1:e36764ecf87cb86051f26cc8e5a9a665784a9f39</id>
<content type='text'>
Add a parameter called "extra_pages" for ttm_tt_init, to indicate that
driver needs extra pages in ttm_tt.

v2:
  Used imperative wording [Thomas and Christian]

Signed-off-by: Ramalingam C &lt;ramalingam.c@intel.com&gt;
cc: Christian Koenig &lt;christian.koenig@amd.com&gt;
cc: Hellstrom Thomas &lt;thomas.hellstrom@intel.com&gt;
Reviewed-by: Thomas Hellstrom &lt;thomas.hellstrom@linux.intel.com&gt;
Reviewed-by: Christian Konig &lt;christian.koenig@amd.com&gt;
Reviewed-by: Nirmoy Das &lt;nirmoy.das@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220401123751.27771-8-ramalingam.c@intel.com
</content>
</entry>
<entry>
<title>drm/amdgpu: drop amdgpu_gtt_node</title>
<updated>2022-03-29T08:57:12Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2021-07-16T12:37:14Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=77ef271faee9c3be65fc5e5dcd66c45d4ffbe494'/>
<id>urn:sha1:77ef271faee9c3be65fc5e5dcd66c45d4ffbe494</id>
<content type='text'>
We have the BO pointer in the base structure now as well.

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Tested-by: Bas Nieuwenhuizen &lt;bas@basnieuwenhuizen.nl&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220321132601.2161-6-christian.koenig@amd.com
</content>
</entry>
<entry>
<title>drm/ttm: rework bulk move handling v5</title>
<updated>2022-03-29T08:55:32Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2022-01-24T10:07:15Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=fee2ede155423b0f7a559050a39750b98fe9db69'/>
<id>urn:sha1:fee2ede155423b0f7a559050a39750b98fe9db69</id>
<content type='text'>
Instead of providing the bulk move structure for each LRU update set
this as property of the BO. This should avoid costly bulk move rebuilds
with some games under RADV.

v2: some name polishing, add a few more kerneldoc words.
v3: add some lockdep
v4: fix bugs, handle pin/unpin as well
v5: improve kerneldoc

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Tested-by: Bas Nieuwenhuizen &lt;bas@basnieuwenhuizen.nl&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220321132601.2161-5-christian.koenig@amd.com
</content>
</entry>
<entry>
<title>drm/ttm: de-inline ttm_bo_pin/unpin</title>
<updated>2022-03-29T08:54:58Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2022-02-15T16:29:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=7842cf65b0401814a9df518a86a41641255c84d3'/>
<id>urn:sha1:7842cf65b0401814a9df518a86a41641255c84d3</id>
<content type='text'>
Those functions are going to become more complex, don't inline them any
more.

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220321132601.2161-4-christian.koenig@amd.com
</content>
</entry>
</feed>
