POWERVR IOCTL INTERFACE(9)
π PowerVR IOCTL interface π
okay bestie, welcome to the PowerVR IOCTL interface page β section 9 of the Kernel API Manual, no cap. this one is basically a hub page: it's not here to dump the whole story, it's here to point you at the entire PowerVR UAPI friend group πβ¨ so consider this your group-chat pinned message, the roadmap to literally every struct, enum, ioctl and flags page you're gonna need π«Ά
think of it as main character energy for the docs β it doesn't do the lore itself, it just introduces you to everyone at the party π
π¦ SEE ALSO π¦
okay so here's the full squad, in order, don't skip anyone, we don't do that here π
- the kernel file itself, the source of truth:
./include/uapi/drm/pvr_drm.hπ PowerVR UAPI(9)β the big-picture intro vibestruct drm_pvr_obj_array(9)DRM_PVR_OBJ_ARRAY(9)PVR_IOCTL(9)PowerVR IOCTL DEV_QUERY interface(9)β the querying era β¨struct drm_pvr_dev_query_gpu_info(9)struct drm_pvr_dev_query_runtime_info(9)struct drm_pvr_dev_query_quirks(9)struct drm_pvr_dev_query_enhancements(9)enum drm_pvr_heap_id(9)struct drm_pvr_heap(9)struct drm_pvr_dev_query_heap_info(9)enum drm_pvr_static_data_area_usage(9)struct drm_pvr_static_data_area(9)struct drm_pvr_dev_query_static_data_areas(9)enum drm_pvr_dev_query(9)struct drm_pvr_ioctl_dev_query_args(9)PowerVR IOCTL CREATE_BO interface(9)β buffer objects, the moment π«ΆFlags for CREATE_BO(9)struct drm_pvr_ioctl_create_bo_args(9)PowerVR IOCTL GET_BO_MMAP_OFFSET interface(9)struct drm_pvr_ioctl_get_bo_mmap_offset_args(9)PowerVR IOCTL CREATE_VM_CONTEXT and DESTROY_VM_CONTEXT interfaces(9)β the two-for-one, we love a package deal πstruct drm_pvr_ioctl_create_vm_context_args(9)struct drm_pvr_ioctl_destroy_vm_context_args(9)PowerVR IOCTL VM_MAP and VM_UNMAP interfaces(9)struct drm_pvr_ioctl_vm_map_args(9)struct drm_pvr_ioctl_vm_unmap_args(9)PowerVR IOCTL CREATE_CONTEXT and DESTROY_CONTEXT interfaces(9)enum drm_pvr_ctx_priority(9)enum drm_pvr_ctx_type(9)struct drm_pvr_ioctl_create_context_args(9)struct drm_pvr_ioctl_destroy_context_args(9)PowerVR IOCTL CREATE_FREE_LIST and DESTROY_FREE_LIST interfaces(9)β the allocator besties πΈstruct drm_pvr_ioctl_create_free_list_args(9)struct drm_pvr_ioctl_destroy_free_list_args(9)PowerVR IOCTL CREATE_HWRT_DATASET and DESTROY_HWRT_DATASET interfaces(9)β ray tracing squad, iconic π₯struct drm_pvr_create_hwrt_geom_data_args(9)struct drm_pvr_create_hwrt_rt_data_args(9)struct drm_pvr_ioctl_create_hwrt_dataset_args(9)struct drm_pvr_ioctl_destroy_hwrt_dataset_args(9)PowerVR IOCTL SUBMIT_JOBS interface(9)β the one that actually sends work, the main event πFlags for the drm_pvr_sync_op object.(9)β yes that trailing period is real, copy it exactly, no editing the source ngl πstruct drm_pvr_sync_op(9)Flags for SUBMIT_JOB ioctl geometry command.(9)Flags for SUBMIT_JOB ioctl fragment command.(9)Flags for SUBMIT_JOB ioctl compute command.(9)Flags for SUBMIT_JOB ioctl transfer command.(9)enum drm_pvr_job_type(9)struct drm_pvr_hwrt_data_ref(9)struct drm_pvr_job(9)struct drm_pvr_ioctl_submit_jobs_args(9)
lowkey the move here is: pick the ioctl you actually care about, go read that page, and come back when you need the next one π the whole UAPI is linked up like a friendship bracelet π
and that's the whole page bestie, fr fr π this came out of ./include/uapi/drm and it's dated October 2026 β so go forth, read the structs, and slay your ioctl journey πβ¨π¦
π¦ 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