panfrost: Update panthor_drm.h

Update to sync with uAPI changes.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30553>
This commit is contained in:
Mary Guillemard
2024-08-07 15:20:04 +02:00
parent 80fe936be9
commit 76aae6c3da

View File

@@ -260,6 +260,9 @@ enum drm_panthor_dev_query_type {
/** @DRM_PANTHOR_DEV_QUERY_CSIF_INFO: Query command-stream interface information. */
DRM_PANTHOR_DEV_QUERY_CSIF_INFO,
/** @DRM_PANTHOR_DEV_QUERY_TIMESTAMP_INFO: Query timestamp information. */
DRM_PANTHOR_DEV_QUERY_TIMESTAMP_INFO,
};
/**
@@ -336,10 +339,10 @@ struct drm_panthor_gpu_info {
/** @tiler_present: Bitmask encoding the tiler units exposed by the GPU. */
__u64 tiler_present;
/* @core_features: Used to discriminate core variants when they exist. */
/** @core_features: Used to discriminate core variants when they exist. */
__u32 core_features;
/* @pad: MBZ. */
/** @pad: MBZ. */
__u32 pad;
};
@@ -377,6 +380,25 @@ struct drm_panthor_csif_info {
__u32 pad;
};
/**
* struct drm_panthor_timestamp_info - Timestamp information
*
* Structure grouping all queryable information relating to the GPU timestamp.
*/
struct drm_panthor_timestamp_info {
/**
* @timestamp_frequency: The frequency of the timestamp timer or 0 if
* unknown.
*/
__u64 timestamp_frequency;
/** @current_timestamp: The current timestamp. */
__u64 current_timestamp;
/** @timestamp_offset: The offset of the timestamp timer. */
__u64 timestamp_offset;
};
/**
* struct drm_panthor_dev_query - Arguments passed to DRM_PANTHOR_IOCTL_DEV_QUERY
*/
@@ -802,6 +824,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 +847,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;
@@ -895,13 +922,21 @@ struct drm_panthor_tiler_heap_create {
/** @vm_id: VM ID the tiler heap should be mapped to */
__u32 vm_id;
/** @initial_chunk_count: Initial number of chunks to allocate. */
/** @initial_chunk_count: Initial number of chunks to allocate. Must be at least one. */
__u32 initial_chunk_count;
/** @chunk_size: Chunk size. Must be a power of two at least 256KB large. */
/**
* @chunk_size: Chunk size.
*
* Must be page-aligned and lie in the [128k:8M] range.
*/
__u32 chunk_size;
/** @max_chunks: Maximum number of chunks that can be allocated. */
/**
* @max_chunks: Maximum number of chunks that can be allocated.
*
* Must be at least @initial_chunk_count.
*/
__u32 max_chunks;
/**
@@ -931,7 +966,11 @@ struct drm_panthor_tiler_heap_create {
* struct drm_panthor_tiler_heap_destroy - Arguments passed to DRM_IOCTL_PANTHOR_TILER_HEAP_DESTROY
*/
struct drm_panthor_tiler_heap_destroy {
/** @handle: Handle of the tiler heap to destroy */
/**
* @handle: Handle of the tiler heap to destroy.
*
* Must be a valid heap handle returned by DRM_IOCTL_PANTHOR_TILER_HEAP_CREATE.
*/
__u32 handle;
/** @pad: Padding field, MBZ. */