STRUCT DRM_PANTHOR_VM_BIND_OP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct drm_panthor_vm_bind_op(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual πŸŽ€ β€” this one's from ./include/uapi/drm, dated October 2026, and it's all about the struct drm_panthor_vm_bind_op. it's giving VM bind operation, and honestly? iconic. let's get into it ✨


✨ NAME ✨

struct drm_panthor_vm_bind_op β€” VM bind operation πŸ¦‹

like, that's the whole vibe. one struct, one job, no cap.


🌸 SYNOPSIS 🌸

struct drm_panthor_vm_bind_op {
    __u32 flags;
    __u32 bo_handle;
    __u64 bo_offset;
    __u64 va;
    __u64 size;
    struct drm_panthor_obj_array syncs;
 };

look at her. six fields. flawless. main character energy fr fr πŸ‘‘


πŸ’… MEMBERS πŸ’…

  • flags β€” bestie this is a combination of drm_panthor_vm_bind_op_flags flags. that's it, that's the field 🌈
  • bo_handle β€” the handle of the buffer object you wanna map. MBZ for unmap or sync-only operations 🫢 (MBZ = must be zero, and yes the kernel is literally checking πŸ‘€)
  • bo_offset β€” buffer object offset. again, MBZ for unmap or sync-only operations πŸ’–
  • va β€” the virtual address to map/unmap. MBZ for sync-only operations ⭐
  • size β€” how big the map/unmap is. MBZ for sync-only operations πŸ“
  • syncs β€” an array of struct drm_panthor_sync_op synchronization operations 🧚
⚠️ okay this part matters, so listen up: this array must be empty if DRM_PANTHOR_VM_BIND_ASYNC is not set on the drm_panthor_vm_bind object containing this VM bind operation. no exceptions, she's strict 😭
πŸ’€ and the flip side: this array shall not be empty for sync-only operations. so don't leave it empty there either. the vibes must be exactly right ✨

πŸ”₯ SEE ALSO πŸ”₯

okay so here's the whole extended friend group, literally the entire panthor cinematic universe, all of them in (9). go say hi πŸ‘‹πŸ’œ

  • 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)
  • 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)
  • 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 the whole page bestie, you ate that πŸ’…βœ¨ signing off from ./include/uapi/drm, October 2026 edition, with the deepest love from the Kernel API Manual πŸ«ΆπŸ’– mwah, go read your structs 😘

πŸ“¦ where this page comes from