<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/include/drm/ttm, branch master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/include/drm/ttm?h=master</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/include/drm/ttm?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2022-09-07T07:42:57Z</updated>
<entry>
<title>drm/ttm: Remove unnecessary '0' values from ret</title>
<updated>2022-09-07T07:42:57Z</updated>
<author>
<name>Li zeming</name>
<email>zeming@nfschina.com</email>
</author>
<published>2022-09-07T03:29:34Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=e6643298aac0d9d77696513722c85d7808e4c84a'/>
<id>urn:sha1:e6643298aac0d9d77696513722c85d7808e4c84a</id>
<content type='text'>
The variable ret is assigned in the judgment branch statement, he does
not need to initialize the assignment.

Signed-off-by: Li zeming &lt;zeming@nfschina.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220907032934.4490-1-zeming@nfschina.com
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/ttm: Add new callbacks to ttm res mgr</title>
<updated>2022-08-22T13:33:12Z</updated>
<author>
<name>Arunpravin Paneer Selvam</name>
<email>Arunpravin.PaneerSelvam@amd.com</email>
</author>
<published>2022-08-20T07:32:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=544432703b2fe73a07f387c0b883da03ffa5671e'/>
<id>urn:sha1:544432703b2fe73a07f387c0b883da03ffa5671e</id>
<content type='text'>
We are adding two new callbacks to ttm resource manager
function to handle intersection and compatibility of
placement and resources.

v2: move the amdgpu and ttm_range_manager changes to
    separate patches (Christian)
v3: rename "intersect" to "intersects" (Matthew)
v4: move !place check to the !res if and return false
    in ttm_resource_compatible() function (Christian)
v5: move bits of code from patch number 6 to avoid
    temporary driver breakup (Christian)

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Arunpravin Paneer Selvam &lt;Arunpravin.PaneerSelvam@amd.com&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220820073304.178444-1-Arunpravin.PaneerSelvam@amd.com
</content>
</entry>
<entry>
<title>Merge drm/drm-next into drm-misc-next</title>
<updated>2022-07-13T08:33:00Z</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime@cerno.tech</email>
</author>
<published>2022-07-13T08:33:00Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=4de395f2c632c31c575f72d49d4f4389c99dab68'/>
<id>urn:sha1:4de395f2c632c31c575f72d49d4f4389c99dab68</id>
<content type='text'>
I need to have some vc4 patches merged in -rc4, but drm-misc-next is
only at -rc2 for now.

Signed-off-by: Maxime Ripard &lt;maxime@cerno.tech&gt;
</content>
</entry>
<entry>
<title>drm/ttm: rename and cleanup ttm_bo_init</title>
<updated>2022-07-11T08:53:13Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2022-02-18T13:32:53Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=347987a2cf0d146484d1c586951ef10028bb1674'/>
<id>urn:sha1:347987a2cf0d146484d1c586951ef10028bb1674</id>
<content type='text'>
Rename ttm_bo_init to ttm_bo_init_validate since that better matches
what the function is actually doing.

Remove the unused size parameter, move the function's kerneldoc to the
implementation and cleanup the whole error handling.

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20220707102453.3633-2-christian.koenig@amd.com
Reviewed-by: Michael J. Ruhl &lt;michael.j.ruhl@intel.com&gt;
</content>
</entry>
<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>
</feed>
