STRUCT DRM_PANTHOR_GPU_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 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