STRUCT DRM_PANTHOR_GPU_INFO(9)
πΈ NAME πΈ
struct drm_panthor_gpu_info β GPU information π
okay so real talk, bestie: this is the page for struct drm_panthor_gpu_info(9) straight out of the Kernel API Manual, and it's literally the glow-up spec sheet for your GPU. let's get into it β¨
β¨ SYNOPSIS β¨
struct drm_panthor_gpu_info {
__u32 gpu_id;
#define DRM_PANTHOR_ARCH_MAJOR(x) ((x) >> 28);
#define DRM_PANTHOR_ARCH_MINOR(x) (((x) >> 24) & 0xf);
#define DRM_PANTHOR_ARCH_REV(x) (((x) >> 20) & 0xf);
#define DRM_PANTHOR_PRODUCT_MAJOR(x) (((x) >> 16) & 0xf);
#define DRM_PANTHOR_VERSION_MAJOR(x) (((x) >> 12) & 0xf);
#define DRM_PANTHOR_VERSION_MINOR(x) (((x) >> 4) & 0xff);
#define DRM_PANTHOR_VERSION_STATUS(x) ((x) & 0xf);
__u32 gpu_rev;
__u32 csf_id;
#define DRM_PANTHOR_CSHW_MAJOR(x) (((x) >> 26) & 0x3f);
#define DRM_PANTHOR_CSHW_MINOR(x) (((x) >> 20) & 0x3f);
#define DRM_PANTHOR_CSHW_REV(x) (((x) >> 16) & 0xf);
#define DRM_PANTHOR_MCU_MAJOR(x) (((x) >> 10) & 0x3f);
#define DRM_PANTHOR_MCU_MINOR(x) (((x) >> 4) & 0x3f);
#define DRM_PANTHOR_MCU_REV(x) ((x) & 0xf);
__u32 l2_features;
__u32 tiler_features;
__u32 mem_features;
__u32 mmu_features;
#define DRM_PANTHOR_MMU_VA_BITS(x) ((x) & 0xff);
__u32 thread_features;
__u32 max_threads;
__u32 thread_max_workgroup_size;
__u32 thread_max_barrier_size;
__u32 coherency_features;
__u32 texture_features[4];
__u32 as_present;
__u32 selected_coherency;
__u64 shader_present;
__u64 l2_present;
__u64 tiler_present;
__u32 core_features;
__u32 pad;
__u64 gpu_features;
};
like, look at all those #defines. she's got layers π
π MEMBERS π
gpu_idβ the GPU's ID, its little name tag π·οΈgpu_revβ the GPU revision.csf_idβ the command stream frontend ID.l2_featuresβ L2-cache features.tiler_featuresβ tiler features.mem_featuresβ memory features.mmu_featuresβ MMU features.thread_featuresβ thread features.max_threadsβ maximum number of threads.thread_max_workgroup_sizeβ maximum workgroup size.thread_max_barrier_sizeβ maximum number of threads that can wait simultaneously on a barrier. (yes, they all just wait there, iconic group-chat lurker energy π)coherency_featuresβ coherency features.
this one's a combination of drm_panthor_gpu_coherency flags π₯
ngl, important caveat: this is just what the coherency protocols supported by the GPU are β like, the potential. the actual coherency in place depends on the SoC integration and is reflected by drm_panthor_gpu_info::selected_coherency. so don't come for her, she's just the possibilities π
texture_featuresβ texture features.as_presentβ bitmask encoding the number of address-space exposed by the MMU.selected_coherencyβ coherency selected for this device.
one of drm_panthor_gpu_coherency.
shader_presentβ bitmask encoding the shader cores exposed by the GPU.l2_presentβ bitmask encoding the L2 caches exposed by the GPU.tiler_presentβ bitmask encoding the tiler units exposed by the GPU.core_featuresβ used to discriminate core variants when they exist.padβ MBZ.gpu_featuresβ bitmask describing supported GPU-wide features.
π DESCRIPTION π
structure grouping all queryable information relating to the GPU. she's the whole dossier, the full carfax, the entire vibe check for your silicon π«Ά
π₯ SEE ALSO π₯
kernel file ./include/uapi/drm/panthor_drm.h, Introduction(9), MMIO regions exposed to userspace.(9), IOCTL IDs(9), IOCTL arguments(9), struct drm_panthor_obj_array(9), DRM_PANTHOR_OBJ_ARRAY(9), enum drm_panthor_sync_op_flags(9), struct drm_panthor_sync_op(9), enum drm_panthor_dev_query_type(9), enum drm_panthor_gpu_coherency(9), struct drm_panthor_csif_info(9), enum drm_panthor_timestamp_info_flags(9), struct drm_panthor_timestamp_info(9), struct drm_panthor_mmu_info(9), struct drm_panthor_group_priorities_info(9), struct drm_panthor_dev_query(9), struct drm_panthor_vm_create(9), struct drm_panthor_vm_destroy(9), enum drm_panthor_vm_bind_op_flags(9), struct drm_panthor_vm_bind_op(9), enum drm_panthor_vm_bind_flags(9), struct drm_panthor_vm_bind(9), enum drm_panthor_vm_state(9), struct drm_panthor_vm_get_state(9), enum drm_panthor_bo_flags(9), struct drm_panthor_bo_create(9), struct drm_panthor_bo_mmap_offset(9), struct drm_panthor_queue_create(9), enum drm_panthor_group_priority(9), struct drm_panthor_group_create(9), struct drm_panthor_group_destroy(9), struct drm_panthor_queue_submit(9), struct drm_panthor_group_submit(9), enum drm_panthor_group_state_flags(9), struct drm_panthor_group_get_state(9), struct drm_panthor_tiler_heap_create(9), struct drm_panthor_tiler_heap_destroy(9), struct drm_panthor_bo_set_label(9), struct drm_panthor_set_user_mmio_offset(9), enum drm_panthor_bo_sync_op_type(9), struct drm_panthor_bo_sync_op(9), struct drm_panthor_bo_sync(9), enum drm_panthor_bo_extra_flags(9), struct drm_panthor_bo_query_info(9), DRM_IOCTL_PANTHOR(9)
that's a lot of friends, fr fr. go read them, iykyk π
and that's the whole page, bestie β sourced from ./include/uapi/drm, dated October 2026, filed under struct drm_panthor_gpu_info(9). slay, go query your GPU π
β¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms