include/uapi/drm/panthor_drm.h
Source file repositories/reference/linux-study-clean/include/uapi/drm/panthor_drm.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/drm/panthor_drm.h- Extension
.h- Size
- 38023 bytes
- Lines
- 1306
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
drm.h
Detected Declarations
struct drm_panthor_obj_arraystruct drm_panthor_sync_opstruct drm_panthor_gpu_infostruct drm_panthor_csif_infostruct drm_panthor_timestamp_infostruct drm_panthor_group_priorities_infostruct drm_panthor_dev_querystruct drm_panthor_vm_createstruct drm_panthor_vm_destroystruct drm_panthor_vm_bind_opstruct drm_panthor_vm_bindstruct drm_panthor_vm_get_statestruct drm_panthor_bo_createstruct drm_panthor_bo_mmap_offsetstruct drm_panthor_queue_createstruct drm_panthor_group_createstruct drm_panthor_group_destroystruct drm_panthor_queue_submitstruct drm_panthor_group_submitstruct drm_panthor_group_get_statestruct drm_panthor_tiler_heap_createstruct drm_panthor_tiler_heap_destroystruct drm_panthor_bo_set_labelstruct drm_panthor_set_user_mmio_offsetstruct drm_panthor_bo_sync_opstruct drm_panthor_bo_syncstruct drm_panthor_bo_query_infoenum drm_panthor_ioctl_idenum drm_panthor_sync_op_flagsenum drm_panthor_dev_query_typeenum drm_panthor_gpu_coherencyenum drm_panthor_timestamp_info_flagsenum drm_panthor_vm_bind_op_flagsenum drm_panthor_vm_bind_flagsenum drm_panthor_vm_stateenum drm_panthor_bo_flagsenum drm_panthor_group_priorityenum drm_panthor_group_state_flagsenum drm_panthor_bo_sync_op_typeenum drm_panthor_bo_extra_flags
Annotated Snippet
struct drm_panthor_obj_array {
/** @stride: Stride of object struct. Used for versioning. */
__u32 stride;
/** @count: Number of objects in the array. */
__u32 count;
/** @array: User pointer to an array of objects. */
__u64 array;
};
/**
* DRM_PANTHOR_OBJ_ARRAY() - Initialize a drm_panthor_obj_array field.
* @cnt: Number of elements in the array.
* @ptr: Pointer to the array to pass to the kernel.
*
* Macro initializing a drm_panthor_obj_array based on the object size as known
* by userspace.
*/
#define DRM_PANTHOR_OBJ_ARRAY(cnt, ptr) \
{ .stride = sizeof((ptr)[0]), .count = (cnt), .array = (__u64)(uintptr_t)(ptr) }
/**
* enum drm_panthor_sync_op_flags - Synchronization operation flags.
*/
enum drm_panthor_sync_op_flags {
/** @DRM_PANTHOR_SYNC_OP_HANDLE_TYPE_MASK: Synchronization handle type mask. */
DRM_PANTHOR_SYNC_OP_HANDLE_TYPE_MASK = 0xff,
/** @DRM_PANTHOR_SYNC_OP_HANDLE_TYPE_SYNCOBJ: Synchronization object type. */
DRM_PANTHOR_SYNC_OP_HANDLE_TYPE_SYNCOBJ = 0,
/**
* @DRM_PANTHOR_SYNC_OP_HANDLE_TYPE_TIMELINE_SYNCOBJ: Timeline synchronization
* object type.
*/
DRM_PANTHOR_SYNC_OP_HANDLE_TYPE_TIMELINE_SYNCOBJ = 1,
/** @DRM_PANTHOR_SYNC_OP_WAIT: Wait operation. */
DRM_PANTHOR_SYNC_OP_WAIT = 0 << 31,
/** @DRM_PANTHOR_SYNC_OP_SIGNAL: Signal operation. */
DRM_PANTHOR_SYNC_OP_SIGNAL = (int)(1u << 31),
};
/**
* struct drm_panthor_sync_op - Synchronization operation.
*/
struct drm_panthor_sync_op {
/** @flags: Synchronization operation flags. Combination of DRM_PANTHOR_SYNC_OP values. */
__u32 flags;
/** @handle: Sync handle. */
__u32 handle;
/**
* @timeline_value: MBZ if
* (flags & DRM_PANTHOR_SYNC_OP_HANDLE_TYPE_MASK) !=
* DRM_PANTHOR_SYNC_OP_HANDLE_TYPE_TIMELINE_SYNCOBJ.
*/
__u64 timeline_value;
};
/**
* enum drm_panthor_dev_query_type - Query type
*
* Place new types at the end, don't re-order, don't remove or replace.
*/
enum drm_panthor_dev_query_type {
/** @DRM_PANTHOR_DEV_QUERY_GPU_INFO: Query GPU information. */
DRM_PANTHOR_DEV_QUERY_GPU_INFO = 0,
/** @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,
/**
* @DRM_PANTHOR_DEV_QUERY_GROUP_PRIORITIES_INFO: Query allowed group priorities information.
*/
DRM_PANTHOR_DEV_QUERY_GROUP_PRIORITIES_INFO,
};
/**
* enum drm_panthor_gpu_coherency: Type of GPU coherency
*/
enum drm_panthor_gpu_coherency {
/**
* @DRM_PANTHOR_GPU_COHERENCY_ACE_LITE: ACE Lite coherency.
Annotation
- Immediate include surface: `drm.h`.
- Detected declarations: `struct drm_panthor_obj_array`, `struct drm_panthor_sync_op`, `struct drm_panthor_gpu_info`, `struct drm_panthor_csif_info`, `struct drm_panthor_timestamp_info`, `struct drm_panthor_group_priorities_info`, `struct drm_panthor_dev_query`, `struct drm_panthor_vm_create`, `struct drm_panthor_vm_destroy`, `struct drm_panthor_vm_bind_op`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.