History

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

Boris Brezillon committed 2 years ago

Commit 7b6f9ec1 parent 1a9a7142 files · +38 −11Browse files

Showing the changes to include/uapi (1 of 2 files). Show all

Unified · Split

include/uapi/drm/panthor_drm.h+5−0
@@ -802,6 +802,9 @@ struct drm_panthor_queue_submit { · 801 unmodified lines
802 * Must be 64-bit/8-byte aligned (the size of a CS instruction)802 * Must be 64-bit/8-byte aligned (the size of a CS instruction)
803 *803 *
804 * Can be zero if stream_addr is zero too.804 * Can be zero if stream_addr is zero too.
805 *
806 * When the stream size is zero, the queue submit serves as a
807 * synchronization point.
805 */808 */
806 __u32 stream_size;809 __u32 stream_size;
807 810
@@ -822,6 +825,8 @@ struct drm_panthor_queue_submit { · 14 unmodified lines
822 * ensure the GPU doesn't get garbage when reading the indirect command825 * ensure the GPU doesn't get garbage when reading the indirect command
823 * stream buffers. If you want the cache flush to happen826 * stream buffers. If you want the cache flush to happen
824 * unconditionally, pass a zero here.827 * unconditionally, pass a zero here.
828 *
829 * Ignored when stream_size is zero.
825 */830 */
826 __u32 latest_flush;831 __u32 latest_flush;
827 832