<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/gpu/drm/drm_syncobj.c, branch v5.1</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.1</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v5.1'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2018-12-11T16:38:38Z</updated>
<entry>
<title>drm/syncobj: remove drm_syncobj_cb and cleanup</title>
<updated>2018-12-11T16:38:38Z</updated>
<author>
<name>Christian König</name>
<email>ckoenig.leichtzumerken@gmail.com</email>
</author>
<published>2018-12-11T10:34:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=61a98b1b9a8c7a21a2d666a090dcf5f1c70c659f'/>
<id>urn:sha1:61a98b1b9a8c7a21a2d666a090dcf5f1c70c659f</id>
<content type='text'>
This completes "drm/syncobj: Drop add/remove_callback from driver
interface" and cleans up the implementation a bit.

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Chunming Zhou &lt;david1.zhou@amd.com&gt;
Link: https://patchwork.freedesktop.org/patch/266255/
</content>
</entry>
<entry>
<title>drm: revert "expand replace_fence to support timeline point v2"</title>
<updated>2018-12-05T10:01:11Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2018-11-14T13:24:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0b258ed1a219a9776e8f6967eb34837ae0332e64'/>
<id>urn:sha1:0b258ed1a219a9776e8f6967eb34837ae0332e64</id>
<content type='text'>
This reverts commit 9a09a42369a4a37a959c051d8e1a1f948c1529a4.

The whole interface isn't thought through. Since this function can't
fail we actually can't allocate an object to store the sync point.

Sorry, I should have taken the lead on this from the very beginning and
reviewed it more thoughtfully. Going to propose a new interface as a
follow up change.

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Chunming Zhou &lt;david1.zhou@amd.com&gt;
Link: https://patchwork.freedesktop.org/patch/265580/
</content>
</entry>
<entry>
<title>drm/syncobj: use dma_fence_get_stub</title>
<updated>2018-12-03T16:40:25Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2018-11-13T13:14:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=86bbd89d5da66fe760049ad3f04adc407ec0c4d6'/>
<id>urn:sha1:86bbd89d5da66fe760049ad3f04adc407ec0c4d6</id>
<content type='text'>
Extract of useful code from the timeline work. Let's use just a single
stub fence instance instead of allocating a new one all the time.

Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Reviewed-by: Chunming Zhou &lt;david1.zhou@amd.com&gt;
Link: https://patchwork.freedesktop.org/patch/265248/
</content>
</entry>
<entry>
<title>drm/syncobj: Fix compilation following partial revert</title>
<updated>2018-11-12T15:58:55Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2018-11-12T15:21:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=913240696ec64a2af2de250b1591cc45b5cea2f6'/>
<id>urn:sha1:913240696ec64a2af2de250b1591cc45b5cea2f6</id>
<content type='text'>
We need to include the revert of commit 783195ec1cad ("drm/syncobj:
disable the timeline UAPI for now v2") along with undoing the change to
drm/i915.

Fixes: 131280a162e7 ("drm: Revert syncobj timeline changes.")
Cc: Christian König &lt;christian.koenig@amd.com&gt;
Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Cc: Chunming Zhou &lt;david1.zhou@amd.com&gt;
Cc: Eric Anholt &lt;eric@anholt.net&gt;
Cc: Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;
Cc: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Cc: Maxime Ripard &lt;maxime.ripard@bootlin.com&gt;
Cc: Sean Paul &lt;sean@poorly.run&gt;
Cc: David Airlie &lt;airlied@linux.ie&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20181112152130.12275-1-chris@chris-wilson.co.uk
</content>
</entry>
<entry>
<title>drm: Revert syncobj timeline changes.</title>
<updated>2018-11-12T11:54:21Z</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2018-11-08T16:04:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=131280a162e7fc2a539bb939efd28dd0b964c62c'/>
<id>urn:sha1:131280a162e7fc2a539bb939efd28dd0b964c62c</id>
<content type='text'>
Daniel suggested I submit this, since we're still seeing regressions
from it.  This is a revert to before 48197bc564c7 ("drm: add syncobj
timeline support v9") and its followon fixes.

Fixes this on first V3D testcase execution:

[   48.767088] ============================================
[   48.772410] WARNING: possible recursive locking detected
[   48.777739] 4.19.0-rc6+ #489 Not tainted
[   48.781668] --------------------------------------------
[   48.786993] shader_runner/3284 is trying to acquire lock:
[   48.792408] ce309d7f (&amp;(&amp;array-&gt;lock)-&gt;rlock){....}, at: dma_fence_add_callback+0x30/0x23c
[   48.800714]
[   48.800714] but task is already holding lock:
[   48.806559] c5952bd3 (&amp;(&amp;array-&gt;lock)-&gt;rlock){....}, at: dma_fence_add_callback+0x30/0x23c
[   48.814862]
[   48.814862] other info that might help us debug this:
[   48.821410]  Possible unsafe locking scenario:
[   48.821410]
[   48.827338]        CPU0
[   48.829788]        ----
[   48.832239]   lock(&amp;(&amp;array-&gt;lock)-&gt;rlock);
[   48.836434]   lock(&amp;(&amp;array-&gt;lock)-&gt;rlock);
[   48.840640]
[   48.840640]  *** DEADLOCK ***
[   48.840640]
[   48.846582]  May be due to missing lock nesting notation
[  130.763560] 1 lock held by cts-runner/3270:
[  130.767745]  #0: 7834b793 (&amp;(&amp;array-&gt;lock)-&gt;rlock){-...}, at: dma_fence_add_callback+0x30/0x23c
[  130.776461]
               stack backtrace:
[  130.780825] CPU: 1 PID: 3270 Comm: cts-runner Not tainted 4.19.0-rc6+ #486
[  130.787706] Hardware name: Broadcom STB (Flattened Device Tree)
[  130.793645] [&lt;c021269c&gt;] (unwind_backtrace) from [&lt;c020db1c&gt;] (show_stack+0x10/0x14)
[  130.801404] [&lt;c020db1c&gt;] (show_stack) from [&lt;c0c2c4b0&gt;] (dump_stack+0xa8/0xd4)
[  130.808642] [&lt;c0c2c4b0&gt;] (dump_stack) from [&lt;c0281a84&gt;] (__lock_acquire+0x848/0x1a68)
[  130.816483] [&lt;c0281a84&gt;] (__lock_acquire) from [&lt;c02835d8&gt;] (lock_acquire+0xd8/0x22c)
[  130.824326] [&lt;c02835d8&gt;] (lock_acquire) from [&lt;c0c49948&gt;] (_raw_spin_lock_irqsave+0x54/0x68)
[  130.832777] [&lt;c0c49948&gt;] (_raw_spin_lock_irqsave) from [&lt;c086bf54&gt;] (dma_fence_add_callback+0x30/0x23c)
[  130.842183] [&lt;c086bf54&gt;] (dma_fence_add_callback) from [&lt;c086d4c8&gt;] (dma_fence_array_enable_signaling+0x58/0xec)
[  130.852371] [&lt;c086d4c8&gt;] (dma_fence_array_enable_signaling) from [&lt;c086c00c&gt;] (dma_fence_add_callback+0xe8/0x23c)
[  130.862647] [&lt;c086c00c&gt;] (dma_fence_add_callback) from [&lt;c06d8774&gt;] (drm_syncobj_wait_ioctl+0x518/0x614)
[  130.872143] [&lt;c06d8774&gt;] (drm_syncobj_wait_ioctl) from [&lt;c06b8458&gt;] (drm_ioctl_kernel+0xb0/0xf0)
[  130.880940] [&lt;c06b8458&gt;] (drm_ioctl_kernel) from [&lt;c06b8818&gt;] (drm_ioctl+0x1d8/0x390)
[  130.888782] [&lt;c06b8818&gt;] (drm_ioctl) from [&lt;c03a4510&gt;] (do_vfs_ioctl+0xb0/0x8ac)
[  130.896187] [&lt;c03a4510&gt;] (do_vfs_ioctl) from [&lt;c03a4d40&gt;] (ksys_ioctl+0x34/0x60)
[  130.903593] [&lt;c03a4d40&gt;] (ksys_ioctl) from [&lt;c0201000&gt;] (ret_fast_syscall+0x0/0x28)

Cc: Chunming Zhou &lt;david1.zhou@amd.com&gt;
Cc: Christian König &lt;christian.koenig@amd.com&gt;
Cc: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Acked-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/261044/
</content>
</entry>
<entry>
<title>drm/syncobj: disable the timeline UAPI for now v2</title>
<updated>2018-11-08T10:31:34Z</updated>
<author>
<name>Christian König</name>
<email>christian.koenig@amd.com</email>
</author>
<published>2018-11-08T08:39:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=783195ec1cada862d54dee8f312a60bcbba5c0e4'/>
<id>urn:sha1:783195ec1cada862d54dee8f312a60bcbba5c0e4</id>
<content type='text'>
Until we have sorted out all problems.

v2: return -EINVAL during create if flag is set.

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/260937/
</content>
</entry>
<entry>
<title>drm/syncobj: Fix oops on drm_syncobj_find_fence(file_priv, 0, ...).</title>
<updated>2018-11-06T11:53:02Z</updated>
<author>
<name>Eric Anholt</name>
<email>eric@anholt.net</email>
</author>
<published>2018-11-05T23:01:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=aecbde630e95c02c24182f7acead53ca1c2a60a6'/>
<id>urn:sha1:aecbde630e95c02c24182f7acead53ca1c2a60a6</id>
<content type='text'>
This broke rendering on V3D, where we almost always have a 0
in-syncobj.

Signed-off-by: Eric Anholt &lt;eric@anholt.net&gt;
Fixes: 48197bc564c7 ("drm: add syncobj timeline support v9")
Cc: Chunming Zhou &lt;david1.zhou@amd.com&gt;
Cc: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Chunming Zhou &lt;david1.zhou@amd.com&gt;
Acked-by: Christian König &lt;christian.koenig@amd.com&gt;
Link: https://patchwork.kernel.org/patch/10669317/
Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/syncobj: Mark local add/remove callback functions as static</title>
<updated>2018-11-01T11:29:24Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2018-10-31T12:07:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9cbe67c5bc444ec925e8353a5f871d9e31cdddd8'/>
<id>urn:sha1:9cbe67c5bc444ec925e8353a5f871d9e31cdddd8</id>
<content type='text'>
drivers/gpu/drm/drm_syncobj.c:181:6: warning: no previous prototype for ‘drm_syncobj_add_callback’ [-Wmissing-prototypes]
drivers/gpu/drm/drm_syncobj.c:190:6: warning: no previous prototype for ‘drm_syncobj_remove_callback’ [-Wmissing-prototypes]

Fixing that leads to

drivers/gpu/drm/drm_syncobj.c:181:13: warning: ‘drm_syncobj_add_callback’ defined but not used [-Wunused-function]

so remove the unused drm_syncobj_add_callback() entirely.

Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20181031120710.21582-1-chris@chris-wilson.co.uk
Reviewed-by: Chunming Zhou &lt;david1.zhou@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/syncobj: Avoid kmalloc(GFP_KERNEL) under spinlock</title>
<updated>2018-10-26T12:05:22Z</updated>
<author>
<name>Chunming Zhou</name>
<email>david1.zhou@amd.com</email>
</author>
<published>2018-10-26T06:20:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4fb2c933c9656435e8300fd6011daa3d4b0128fd'/>
<id>urn:sha1:4fb2c933c9656435e8300fd6011daa3d4b0128fd</id>
<content type='text'>
drivers/gpu/drm/drm_syncobj.c:202:4-14: ERROR: function drm_syncobj_find_signal_pt_for_point called on line 390 inside lock on line 389 but uses GFP_KERNEL

  Find functions that refer to GFP_KERNEL but are called with locks held.

Generated by: scripts/coccinelle/locks/call_kern.cocci

v2:
syncobj-&gt;timeline still needs protect.

v3:
use a global signaled fence instead of re-allocation.

v4:
Don't need moving lock.
Don't expose func.

v5:
rename func and directly return.

Tested by: syncobj_wait and ./deqp-vk -n dEQP-VK.*semaphore* with
lock debug kernel options enabled.

Signed-off-by: Chunming Zhou &lt;david1.zhou@amd.com&gt;
Cc: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Cc: intel-gfx@lists.freedesktop.org
Cc: Christian König &lt;easy2remember.chk@googlemail.com&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
CC: Julia Lawall &lt;julia.lawall@lip6.fr&gt;
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Reviewed-by: Christian König &lt;christian.koenig@amd.com&gt;
Reviewed-by: Maarten Lankhorst &lt;maarten.lankhorst@linux.intel.com&gt;
Signed-off-by: Christian König &lt;christian.koenig@amd.com&gt;
Link: https://patchwork.freedesktop.org/patch/258623/
</content>
</entry>
<entry>
<title>Merge drm/drm-next into drm-misc-next</title>
<updated>2018-10-24T18:26:04Z</updated>
<author>
<name>Sean Paul</name>
<email>seanpaul@chromium.org</email>
</author>
<published>2018-10-24T18:26:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6542e9adc0da1e23d81ff9314265a029b961906d'/>
<id>urn:sha1:6542e9adc0da1e23d81ff9314265a029b961906d</id>
<content type='text'>
4.19 is out, Lyude asked for a backmerge, and it's been a while. All
very good reasons on their own :-)

Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
</content>
</entry>
</feed>
