XenevaOS
Loading...
Searching...
No Matches
Public Attributes | List of all members
drm_panthor_queue_submit Struct Reference

#include <panthor_drm.h>

Collaboration diagram for drm_panthor_queue_submit:
Collaboration graph
[legend]

Public Attributes

__u32 queue_index
 
__u32 stream_size
 
__u64 stream_addr
 
__u32 latest_flush
 
__u32 pad
 
struct drm_panthor_obj_array syncs
 

Detailed Description

struct drm_panthor_queue_submit - Job submission arguments.

This is describing the userspace command stream to call from the kernel command stream ring-buffer. Queue submission is always part of a group submission, taking one or more jobs to submit to the underlying queues.

Member Data Documentation

◆ latest_flush

__u32 drm_panthor_queue_submit::latest_flush

@latest_flush: FLUSH_ID read at the time the stream was built.

This allows cache flush elimination for the automatic flush+invalidate(all) done at submission time, which is needed to 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.

◆ pad

__u32 drm_panthor_queue_submit::pad

@pad: MBZ.

◆ queue_index

__u32 drm_panthor_queue_submit::queue_index

@queue_index: Index of the queue inside a group.

◆ stream_addr

__u64 drm_panthor_queue_submit::stream_addr

@stream_addr: GPU address of the command stream to execute.

Must be aligned on 64-byte.

Can be zero is stream_size is zero too.

◆ stream_size

__u32 drm_panthor_queue_submit::stream_size

@stream_size: Size of the command stream to execute.

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.

◆ syncs

struct drm_panthor_obj_array drm_panthor_queue_submit::syncs

@syncs: Array of struct drm_panthor_sync_op sync operations.


The documentation for this struct was generated from the following file: