mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 06:58:05 +02:00
drm-uapi: Add panthor v15 uapi changes
This is currently based on the uapi in the following MR: https://gitlab.freedesktop.org/panfrost/linux/-/merge_requests/65
This commit is contained in:
parent
6e8b73ca76
commit
df8f2d8896
1 changed files with 80 additions and 5 deletions
|
|
@ -350,7 +350,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.
|
||||
*/
|
||||
|
|
@ -368,11 +368,27 @@ struct drm_panthor_gpu_info {
|
|||
/** @core_features: Used to discriminate core variants when they exist. */
|
||||
__u32 core_features;
|
||||
|
||||
/** @pad: MBZ. */
|
||||
__u32 pad;
|
||||
/** @thread_num_active_granularity: Granularity of number of active threads */
|
||||
__u32 thread_num_active_granularity;
|
||||
|
||||
/** @gpu_features: Bitmask describing supported GPU-wide features */
|
||||
__u64 gpu_features;
|
||||
|
||||
/** @gpu_wide_id: 64-bit GPU_ID for v15 onwards. */
|
||||
__u64 gpu_wide_id;
|
||||
#define DRM_PANTHOR_WIDE_ARCH_MAJOR(x) (((x) >> 56) & 0xff)
|
||||
#define DRM_PANTHOR_WIDE_ARCH_MINOR(x) (((x) >> 48) & 0xff)
|
||||
#define DRM_PANTHOR_WIDE_ARCH_REV(x) (((x) >> 40) & 0xff)
|
||||
#define DRM_PANTHOR_WIDE_PRODUCT_MAJOR(x) (((x) >> 32) & 0xff)
|
||||
#define DRM_PANTHOR_WIDE_VERSION_MAJOR(x) (((x) >> 16) & 0xff)
|
||||
#define DRM_PANTHOR_WIDE_VERSION_MINOR(x) (((x) >> 8) & 0xff)
|
||||
#define DRM_PANTHOR_WIDE_VERSION_STATUS(x) ((x) & 0xff)
|
||||
|
||||
/** @gpu_rev_wide: 64-bit GPU revision for v15 onwards */
|
||||
__u64 gpu_rev_wide;
|
||||
|
||||
/** @l2_features_wide: 64-bit L2_FEATURES for v15 onwards */
|
||||
__u64 l2_features_wide;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -409,6 +425,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 +469,38 @@ 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;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue