mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-23 16:28:23 +02:00
drm-uapi: Sync the panthor header
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40400>
This commit is contained in:
parent
df96a100ae
commit
1ca84d67ac
1 changed files with 87 additions and 4 deletions
|
|
@ -253,6 +253,9 @@ enum drm_panthor_dev_query_type {
|
|||
* @DRM_PANTHOR_DEV_QUERY_GROUP_PRIORITIES_INFO: Query allowed group priorities information.
|
||||
*/
|
||||
DRM_PANTHOR_DEV_QUERY_GROUP_PRIORITIES_INFO,
|
||||
|
||||
/** @DRM_PANTHOR_DEV_QUERY_MMU_INFO: Query MMU information. */
|
||||
DRM_PANTHOR_DEV_QUERY_MMU_INFO,
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -350,7 +353,7 @@ struct drm_panthor_gpu_info {
|
|||
__u32 as_present;
|
||||
|
||||
/**
|
||||
* @select_coherency: Coherency selected for this device.
|
||||
* @selected_coherency: Coherency selected for this device.
|
||||
*
|
||||
* One of drm_panthor_gpu_coherency.
|
||||
*/
|
||||
|
|
@ -409,6 +412,38 @@ struct drm_panthor_csif_info {
|
|||
__u32 pad;
|
||||
};
|
||||
|
||||
/**
|
||||
* enum drm_panthor_timestamp_info_flags - drm_panthor_timestamp_info.flags
|
||||
*/
|
||||
enum drm_panthor_timestamp_info_flags {
|
||||
/** @DRM_PANTHOR_TIMESTAMP_GPU: Query GPU time. */
|
||||
DRM_PANTHOR_TIMESTAMP_GPU = 1 << 0,
|
||||
|
||||
/** @DRM_PANTHOR_TIMESTAMP_CPU_NONE: Don't query CPU time. */
|
||||
DRM_PANTHOR_TIMESTAMP_CPU_NONE = 0 << 1,
|
||||
|
||||
/** @DRM_PANTHOR_TIMESTAMP_CPU_MONOTONIC: Query CPU time using CLOCK_MONOTONIC. */
|
||||
DRM_PANTHOR_TIMESTAMP_CPU_MONOTONIC = 1 << 1,
|
||||
|
||||
/** @DRM_PANTHOR_TIMESTAMP_CPU_MONOTONIC_RAW: Query CPU time using CLOCK_MONOTONIC_RAW. */
|
||||
DRM_PANTHOR_TIMESTAMP_CPU_MONOTONIC_RAW = 2 << 1,
|
||||
|
||||
/** @DRM_PANTHOR_TIMESTAMP_CPU_TYPE_MASK: Space reserved for CPU clock type. */
|
||||
DRM_PANTHOR_TIMESTAMP_CPU_TYPE_MASK = 7 << 1,
|
||||
|
||||
/** @DRM_PANTHOR_TIMESTAMP_GPU_OFFSET: Query GPU offset. */
|
||||
DRM_PANTHOR_TIMESTAMP_GPU_OFFSET = 1 << 4,
|
||||
|
||||
/** @DRM_PANTHOR_TIMESTAMP_GPU_CYCLE_COUNT: Query GPU cycle count. */
|
||||
DRM_PANTHOR_TIMESTAMP_GPU_CYCLE_COUNT = 1 << 5,
|
||||
|
||||
/** @DRM_PANTHOR_TIMESTAMP_FREQ: Query timestamp frequency. */
|
||||
DRM_PANTHOR_TIMESTAMP_FREQ = 1 << 6,
|
||||
|
||||
/** @DRM_PANTHOR_TIMESTAMP_DURATION: Return duration of time query. */
|
||||
DRM_PANTHOR_TIMESTAMP_DURATION = 1 << 7,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct drm_panthor_timestamp_info - Timestamp information
|
||||
*
|
||||
|
|
@ -421,11 +456,48 @@ struct drm_panthor_timestamp_info {
|
|||
*/
|
||||
__u64 timestamp_frequency;
|
||||
|
||||
/** @current_timestamp: The current timestamp. */
|
||||
/** @current_timestamp: The current GPU timestamp. */
|
||||
__u64 current_timestamp;
|
||||
|
||||
/** @timestamp_offset: The offset of the timestamp timer. */
|
||||
/** @timestamp_offset: The offset of the GPU timestamp timer. */
|
||||
__u64 timestamp_offset;
|
||||
|
||||
/**
|
||||
* @flags: Bitmask of drm_panthor_timestamp_info_flags.
|
||||
*
|
||||
* If set to 0, then it is interpreted as:
|
||||
* DRM_PANTHOR_TIMESTAMP_GPU |
|
||||
* DRM_PANTHOR_TIMESTAMP_GPU_OFFSET |
|
||||
* DRM_PANTHOR_TIMESTAMP_FREQ
|
||||
*
|
||||
* Note: these flags are exclusive to each other (only one can be used):
|
||||
* - DRM_PANTHOR_TIMESTAMP_CPU_NONE
|
||||
* - DRM_PANTHOR_TIMESTAMP_CPU_MONOTONIC
|
||||
* - DRM_PANTHOR_TIMESTAMP_CPU_MONOTONIC_RAW
|
||||
*/
|
||||
__u32 flags;
|
||||
|
||||
/** @duration_nsec: Duration of time query. */
|
||||
__u32 duration_nsec;
|
||||
|
||||
/** @cycle_count: Value of GPU_CYCLE_COUNT. */
|
||||
__u64 cycle_count;
|
||||
|
||||
/** @cpu_timestamp_sec: Seconds part of CPU timestamp. */
|
||||
__u64 cpu_timestamp_sec;
|
||||
|
||||
/** @cpu_timestamp_nsec: Nanseconds part of CPU timestamp. */
|
||||
__u64 cpu_timestamp_nsec;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct drm_panthor_mmu_info - MMU information
|
||||
*
|
||||
* Structure grouping all queryable information relating to the MMU.
|
||||
*/
|
||||
struct drm_panthor_mmu_info {
|
||||
/** @page_size_bitmap: Allowed page sizes */
|
||||
__u64 page_size_bitmap;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -542,6 +614,18 @@ enum drm_panthor_vm_bind_op_flags {
|
|||
*/
|
||||
DRM_PANTHOR_VM_BIND_OP_MAP_UNCACHED = 1 << 2,
|
||||
|
||||
/**
|
||||
* @DRM_PANTHOR_VM_BIND_OP_MAP_SPARSE: Sparsely map a virtual memory range
|
||||
*
|
||||
* Only valid with DRM_PANTHOR_VM_BIND_OP_TYPE_MAP.
|
||||
*
|
||||
* When this flag is set, the whole vm_bind range is mapped over a dummy object in a cyclic
|
||||
* fashion, and all GPU reads from addresses in the range return undefined values. This flag
|
||||
* being set means drm_panthor_vm_bind_op::bo_offset and drm_panthor_vm_bind_op::bo_handle
|
||||
* must both be set to 0. DRM_PANTHOR_VM_BIND_OP_MAP_NOEXEC must also be set.
|
||||
*/
|
||||
DRM_PANTHOR_VM_BIND_OP_MAP_SPARSE = 1 << 3,
|
||||
|
||||
/**
|
||||
* @DRM_PANTHOR_VM_BIND_OP_TYPE_MASK: Mask used to determine the type of operation.
|
||||
*/
|
||||
|
|
@ -605,7 +689,6 @@ struct drm_panthor_vm_bind_op {
|
|||
* This array shall not be empty for sync-only operations.
|
||||
*/
|
||||
struct drm_panthor_obj_array syncs;
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue