DRM_PANTHOR_OBJ_ARRAY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… DRM_PANTHOR_OBJ_ARRAY πŸ’…

okay so bestie, we're in the Kernel API Manual (page 9, section 9 β€” kernel devs really said "one section, one page, no notes") and today's main character is a macro. yes. a macro. and honestly? she ate.

✨ NAME ✨

DRM_PANTHOR_OBJ_ARRAY β€” the macro that initializes a drm_panthor_obj_array field. that's it, that's her whole job, and she does it flawlessly πŸŽ€

✨ SYNOPSIS ✨

DRM_PANTHOR_OBJ_ARRAY (cnt , ptr );

like, literally just call her with those two things and you're done. periodt.

✨ ARGUMENTS ✨

  • cnt β€” how many elements are chillin' in the array. the headcount. the vibe check of quantity 🌸
  • ptr β€” the pointer to the array you're handing over to the kernel 🫢

✨ DESCRIPTION ✨

so the way this works: this is a macro that initializes a drm_panthor_obj_array, and it builds it off the object size as known by userspace πŸ’– that's the whole thing. the object size as known by userspace. not the kernel's idea of it β€” userspace's. very "know your own size, bestie" energy. ngl it's giving self-aware icon behavior πŸ‘‘

it's a macro, not a function, so no runtime drama, no return value, no exit statuses, no environment variables, no signals. just preprocessing slay ✨

✨ SEE ALSO ✨

the whole friend group πŸ’œ and yes you're gonna read all of them, i believe in you:

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

and that's the page!! πŸ’–βœ¨ this lil cutie lives in ./include/uapi/drm, and she's stamped October 2026 β€” so bestie, go forth, initialize your object arrays, and remember: userspace knows its own size πŸ¦‹πŸ‘‘πŸ’…

πŸ“¦ where this page comes from