<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include/drm/drm_syncobj.h, branch v4.20</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=v4.20</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.20'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2018-09-06T09:09:31Z</updated>
<entry>
<title>drm: expand replace_fence to support timeline point v2</title>
<updated>2018-09-06T09:09:31Z</updated>
<author>
<name>Chunming Zhou</name>
<email>david1.zhou@amd.com</email>
</author>
<published>2018-08-30T06:48:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9a09a42369a4a37a959c051d8e1a1f948c1529a4'/>
<id>urn:sha1:9a09a42369a4a37a959c051d8e1a1f948c1529a4</id>
<content type='text'>
we can place a fence to a timeline point after expanded.
v2: change func parameter order

Signed-off-by: Chunming Zhou &lt;david1.zhou@amd.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/246543/
</content>
</entry>
<entry>
<title>drm: expand drm_syncobj_find_fence to support timeline point v2</title>
<updated>2018-09-06T09:09:19Z</updated>
<author>
<name>Chunming Zhou</name>
<email>david1.zhou@amd.com</email>
</author>
<published>2018-08-30T06:48:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0a6730ea27b68c7ac4171c29a816c29d26a9637a'/>
<id>urn:sha1:0a6730ea27b68c7ac4171c29a816c29d26a9637a</id>
<content type='text'>
we can fetch timeline point fence after expanded.
v2: The parameter fence is the result of the function and should come last.

Signed-off-by: Chunming Zhou &lt;david1.zhou@amd.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/246541/
</content>
</entry>
<entry>
<title>drm/syncobj: Drop add/remove_callback from driver interface</title>
<updated>2018-08-22T18:49:33Z</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2018-08-22T09:29:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e296de926dfd39cf1ff9e5a41b56d4b3258a5a07'/>
<id>urn:sha1:e296de926dfd39cf1ff9e5a41b56d4b3258a5a07</id>
<content type='text'>
This is used for handling future fences. Currently no driver use
these, and I think given the new timeline fence proposed by KHR it
would be better to have a more abstract interface for future fences.
Could be something simple like a struct dma_future_fence plus a
function to add a callback or wait for the fence to materialize.

Then syncobj (and anything else really) could grow new functions to
expose these two drivers. Normal dma_fence would then keep the nice
guarantee that they will always signal (and through ordering, be
deadlock free). dma_future_fence would then be the tricky one.

This also fixes sphinx complaining about the kerneldoc.

Cc: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Cc: Dave Airlie &lt;airlied@redhat.com&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Reviewed-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20180822092905.19884-1-daniel.vetter@ffwll.ch
</content>
</entry>
<entry>
<title>drm/syncobj: some kerneldoc polish</title>
<updated>2017-12-15T10:26:52Z</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2017-12-14T20:30:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=924fe8df7fcfa508729b5a1591df41c0bafed429'/>
<id>urn:sha1:924fe8df7fcfa508729b5a1591df41c0bafed429</id>
<content type='text'>
Complete a few missing bits, fix up the existing xcross-references and
add a bunch more.

v2: Fix typos (Alex).

Cc: Dave Airlie &lt;airlied@gmail.com&gt; via lists.freedesktop.org
Reviewed-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171214203054.20141-4-daniel.vetter@ffwll.ch
</content>
</entry>
<entry>
<title>Merge airlied/drm-next into drm-misc-next</title>
<updated>2017-11-21T13:17:56Z</updated>
<author>
<name>Daniel Vetter</name>
<email>daniel.vetter@ffwll.ch</email>
</author>
<published>2017-11-21T10:33:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=70c5f93669249886b151812076509f30569aff80'/>
<id>urn:sha1:70c5f93669249886b151812076509f30569aff80</id>
<content type='text'>
Bake in the conflict between the drm_print.h extraction and the
addition of DRM_DEBUG_LEASES since we lost it a few too many times.

Also fix a new use of drm_plane_helper_check_state in msm to follow
Ville's conversion in

commit a01cb8ba3f6282934cff65e89ab36b18b14cbe27
Author: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Date:   Wed Nov 1 22:16:19 2017 +0200

    drm: Move drm_plane_helper_check_state() into drm_atomic_helper.c

Acked-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Signed-off-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
</content>
</entry>
<entry>
<title>drm/syncobj: Mark up the fence as an RCU protected pointer</title>
<updated>2017-11-09T18:31:18Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2017-11-02T20:03:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=19d814cc0765b409e2b90ed7a5514a15ce6ecf7b'/>
<id>urn:sha1:19d814cc0765b409e2b90ed7a5514a15ce6ecf7b</id>
<content type='text'>
We take advantage of that syncobj-&gt;fence is an RCU-protected pointer, and
so sparse complains that it is lacking annotation.

Cc: Dave Airlie &lt;airlied@redhat.com&gt;
Cc: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Cc: linaro-mm-sig@lists.linaro.org
Cc: linux-media@vger.kernel.org
Cc: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Cc: Christian König &lt;christian.koenig@amd.com&gt;
Cc: Sumit Semwal &lt;sumit.semwal@linaro.org&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20171102200336.23347-2-ville.syrjala@linux.intel.com
Reviewed-by: Daniel Vetter &lt;daniel.vetter@ffwll.ch&gt;
Acked-by: Christian König &lt;christian.koenig@amd.com&gt;
Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>drm/syncobj: add a new helper drm_syncobj_get_fd</title>
<updated>2017-10-06T20:47:53Z</updated>
<author>
<name>Marek Olšák</name>
<email>marek.olsak@amd.com</email>
</author>
<published>2017-09-12T20:42:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=684fd0af4732f373503c6af2973b4faa352db4e2'/>
<id>urn:sha1:684fd0af4732f373503c6af2973b4faa352db4e2</id>
<content type='text'>
Reviewed-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Marek Olšák &lt;marek.olsak@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/syncobj: extract two helpers from drm_syncobj_create</title>
<updated>2017-10-06T20:47:51Z</updated>
<author>
<name>Marek Olšák</name>
<email>marek.olsak@amd.com</email>
</author>
<published>2017-09-12T20:42:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1321fd2c010e7ccb474cda6b8793747c7a3a775b'/>
<id>urn:sha1:1321fd2c010e7ccb474cda6b8793747c7a3a775b</id>
<content type='text'>
For amdgpu.

drm_syncobj_create is renamed to drm_syncobj_create_as_handle, and new
helpers drm_syncobj_create and drm_syncobj_get_handle are added.

Reviewed-by: Dave Airlie &lt;airlied@redhat.com&gt;
Signed-off-by: Marek Olšák &lt;marek.olsak@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
</content>
</entry>
<entry>
<title>drm/syncobj: Add a callback mechanism for replace_fence (v3)</title>
<updated>2017-08-28T20:26:42Z</updated>
<author>
<name>Jason Ekstrand</name>
<email>jason@jlekstrand.net</email>
</author>
<published>2017-08-28T14:39:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9c19fb10a5893d6501df4d0fb93d954d5fc1d91b'/>
<id>urn:sha1:9c19fb10a5893d6501df4d0fb93d954d5fc1d91b</id>
<content type='text'>
It is useful in certain circumstances to know when the fence is replaced
in a syncobj.  Specifically, it may be useful to know when the fence
goes from NULL to something valid.  This does make syncobj_replace_fence
a little more expensive because it has to take a lock but, in the common
case where there is no callback list, it spends a very short amount of
time inside the lock.

v2:
 - Don't lock in drm_syncobj_fence_get.  We only really need to lock
   around fence_replace to make the callback work.
v3:
 - Fix the cb_list comment to make kbuild happy

Signed-off-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
<entry>
<title>drm/syncobj: Add a race-free drm_syncobj_fence_get helper (v2)</title>
<updated>2017-08-28T20:20:30Z</updated>
<author>
<name>Jason Ekstrand</name>
<email>jason@jlekstrand.net</email>
</author>
<published>2017-08-25T17:52:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=309a5482fa9eb7bc754bf95a2cd89091b01c33d2'/>
<id>urn:sha1:309a5482fa9eb7bc754bf95a2cd89091b01c33d2</id>
<content type='text'>
The atomic exchange operation in drm_syncobj_replace_fence is sufficient
for the case where it races with itself.  However, if you have a race
between a replace_fence and dma_fence_get(syncobj-&gt;fence), you may end
up with the entire replace_fence happening between the point in time
where the one thread gets the syncobj-&gt;fence pointer and when it calls
dma_fence_get() on it.  If this happens, then the reference may be
dropped before we get a chance to get a new one.  The new helper uses
dma_fence_get_rcu_safe to get rid of the race.

This is also needed because it allows us to do a bit more than just get
a reference in drm_syncobj_fence_get should we wish to do so.

v2:
 - RCU isn't that scary
 - Call rcu_read_lock/unlock
 - Don't rename fence to _fence
 - Make the helper static inline

Signed-off-by: Jason Ekstrand &lt;jason@jlekstrand.net&gt;
Acked-by: Christian König &lt;christian.koenig@amd.com&gt; (v1)
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
</feed>
