STRUCT DRM_PANTHOR_TILER_HEAP_CREATE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct drm_panthor_tiler_heap_create(9)

okay bestie, gather round 🫢 this one lives in the Kernel API Manual and it's literally the argument struct you hand over to DRM_IOCTL_PANTHOR_TILER_HEAP_CREATE. it's giving "build me a tiler heap" energy and honestly? iconic.


✨ NAME ✨

struct drm_panthor_tiler_heap_create β€” the arguments passed to DRM_IOCTL_PANTHOR_TILER_HEAP_CREATE πŸŽ€


🌸 SYNOPSIS 🌸

struct drm_panthor_tiler_heap_create {
    __u32 vm_id;
    __u32 initial_chunk_count;
    __u32 chunk_size;
    __u32 max_chunks;
    __u32 target_in_flight;
    __u32 handle;
    __u64 tiler_heap_ctx_gpu_va;
    __u64 first_heap_chunk_gpu_va;
 };

like, that's the whole shape of it, no cap ✨


πŸ‘‘ Members πŸ‘‘

  • vm_id β€” the VM ID your tiler heap should be mapped to. gotta know where it lives, yk? πŸ’œ
  • initial_chunk_count β€” how many chunks you wanna allocate right off the bat. Must be at least one. no zero-chunk shenanigans, bestie 😭
  • chunk_size β€” the chunk size, obviously πŸ’…

Must be page-aligned and lie in the [128k:8M] range. that's the vibe check right there β€” step outside it and you're not slaying, you're just… not.

  • max_chunks β€” the maximum number of chunks that can be allocated. the ceiling, the limit, the "know your bounds" moment πŸ¦‹

Must be at least initial_chunk_count. like obviously, you can't cap it below where you started πŸ™ˆ

  • target_in_flight β€” the maximum number of in-flight render passes πŸ”₯

If the heap has more than tiler jobs in-flight, the FW will wait for render passes to finish before queuing new tiler jobs. so it's not ignoring you, it's just being patient, periodt πŸ’€

  • handle β€” the returned heap handle. you pass it back to DESTROY_TILER_HEAP later, so like… don't lose it πŸŽ€
  • tiler_heap_ctx_gpu_va β€” the returned heap GPU virtual address returned πŸ‘‘ (yes, "returned" twice, she said it twice, we love a consistent queen)
  • first_heap_chunk_gpu_va β€” the first heap chunk 🌈

The tiler heap is formed of heap chunks forming a single-link list. This is the first element in the list. so it's the head of the linked-list chain, the main character of the chunk lineup ⭐


πŸ¦‹ 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_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_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) πŸ’–


ngl that SEE ALSO list is a whole friend group 😭 every single one of them said "we're going out together" and honestly? respect.

that's the page, bestie! πŸ’œ this one came from ./include/uapi/drm and it's dated October 2026, so like… future icon behavior βœ¨πŸ‘‘πŸ¦‹ go read the panthor family, iykyk πŸŽ€

πŸ“¦ where this page comes from