summaryrefslogtreecommitdiffstats
path: root/include/uapi/drm/panthor_drm.h
diff options
context:
space:
mode:
authorBoris Brezillon <boris.brezillon@collabora.com>2024-07-03 09:16:40 +0200
committerBoris Brezillon <boris.brezillon@collabora.com>2024-07-03 09:45:36 +0200
commit7b6f9ec6ad51125facadecf77dc6e62928186d2e (patch)
tree26dfb07837c111506b27f94710ac35b4af5f5d4b /include/uapi/drm/panthor_drm.h
parentdrm/panthor: Don't check the array stride on empty uobj arrays (diff)
downloadlinux-7b6f9ec6ad51125facadecf77dc6e62928186d2e.tar.xz
linux-7b6f9ec6ad51125facadecf77dc6e62928186d2e.zip
drm/panthor: Fix sync-only jobs
A sync-only job is meant to provide a synchronization point on a queue, so we can't return a NULL fence there, we have to add a signal operation to the command stream which executes after all other previously submitted jobs are done. v2: - Fixed a UAF bug - Added R-bs Fixes: de8548813824 ("drm/panthor: Add the scheduler logical block") Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Liviu Dudau <liviu.dudau@arm.com> Reviewed-by: Steven Price <steven.price@arm.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240703071640.231278-3-boris.brezillon@collabora.com
Diffstat (limited to '')
-rw-r--r--include/uapi/drm/panthor_drm.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/uapi/drm/panthor_drm.h b/include/uapi/drm/panthor_drm.h
index aaed8e12ad0b..926b1deb1116 100644
--- a/include/uapi/drm/panthor_drm.h
+++ b/include/uapi/drm/panthor_drm.h
@@ -802,6 +802,9 @@ struct drm_panthor_queue_submit {
* Must be 64-bit/8-byte aligned (the size of a CS instruction)
*
* Can be zero if stream_addr is zero too.
+ *
+ * When the stream size is zero, the queue submit serves as a
+ * synchronization point.
*/
__u32 stream_size;
@@ -822,6 +825,8 @@ struct drm_panthor_queue_submit {
* ensure the GPU doesn't get garbage when reading the indirect command
* stream buffers. If you want the cache flush to happen
* unconditionally, pass a zero here.
+ *
+ * Ignored when stream_size is zero.
*/
__u32 latest_flush;