STRUCT DRM_PANTHOR_TILER_HEAP_CREATE(9)
π 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 toDESTROY_TILER_HEAPlater, 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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms