STRUCT DRM_PANTHOR_CSIF_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct drm_panthor_csif_info(9) β€” like, the Kernel API Manual, but make it make sense πŸŽ€

okay bestie, welcome to the Kernel API Manual ✨ β€” yes that's the manual name, it's fancy, we love her. today's main character is struct drm_panthor_csif_info, and she's literally just a little info-dump about the command stream interface. no cap. πŸ¦‹


✨ NAME ✨

struct drm_panthor_csif_info β€” Command stream interface information πŸŽ€

Like, the whole vibe of this struct is "tell me about the CSIF, but make it queryable."


🌸 SYNOPSIS 🌸

struct drm_panthor_csif_info {
    __u32 csg_slot_count;
    __u32 cs_slot_count;
    __u32 cs_reg_count;
    __u32 scoreboard_slot_count;
    __u32 unpreserved_cs_reg_count;
    __u32 pad;
 };

it's giving "small struct, important job" πŸ’… (and yes, keep it exactly like that, don't go editing the field names, iykyk).


πŸ‘‘ Members πŸ‘‘

okay so bestie, here's the cast of characters, one by one 🫢

  • csg_slot_count β€” how many command stream group slots the firmware exposes. that's the group-slot headcount, fr fr. πŸ‘‘
  • cs_slot_count β€” how many command stream slots you get per group. per group, bestie. πŸŽ€
  • cs_reg_count β€” the number of command stream registers. πŸ‘€
  • scoreboard_slot_count β€” the number of scoreboard slots. πŸ†
  • unpreserved_cs_reg_count β€” the number of command stream registers that the kernel driver reserves for itself, specifically so it can call a userspace command stream. πŸ”₯
  • pad β€” the padding field. set it to zero. that's it, that's the whole job. ⭐

🧚 the little caveat you should NOT skip 🧚

so here's the tea: all registers can be used by a userspace command stream, but the [cs_slot_count - unpreserved_cs_reg_count .. cs_slot_count] registers are the ones the kernel uses when DRM_PANTHOR_IOCTL_GROUP_SUBMIT is called. πŸ’€

copy that range exactly, don't let anyone tell you it's a different range. the kernel has dibs on those, periodt. 🫢


🌈 Description 🌈

struct drm_panthor_csif_info is, like, the structure that groups together all the queryable information relating to the command stream interface. one struct, all the info, main character energy honestly. ✨


πŸ¦‹ SEE ALSO πŸ¦‹

okay this is the long part but we do NOT skip it, bestie, every single one is here πŸ˜­πŸ’–

  • 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_gpu_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)

like, go read them, they're all slay in their own way πŸ’œ


and that's a wrap, bestie! 🌸 this page lives in ./include/uapi/drm and it's dated October 2026 β€” so yeah, bookmark it, screenshot it, put it on your fridge, whatever πŸŽ€πŸ’– mwah! 🫢✨

πŸ“¦ where this page comes from