STRUCT DRM_PVR_IOCTL_CREATE_CONTEXT_ARGS(9)
π struct drm_pvr_ioctl_create_context_args(9) π
okay so this is a page straight out of the Kernel API Manual, and bestie it's giving "one struct, eight fields, zero chill." it's the argument struct you hand over to %DRM_IOCTL_PVR_CREATE_CONTEXT so the driver knows what kind of context you're trying to spin up. let's get into it π«Ά
β¨ NAME β¨
struct drm_pvr_ioctl_create_context_args β literally just the arguments for %DRM_IOCTL_PVR_CREATE_CONTEXT. that's the whole vibe.
πΈ SYNOPSIS πΈ
struct drm_pvr_ioctl_create_context_args {
__u32 type;
__u32 flags;
__s32 priority;
__u32 handle;
__u64 static_context_state;
__u32 static_context_state_len;
__u32 vm_context_handle;
__u64 callstack_addr;
};
look at her. eight fields. flawless. no notes π
π Members π
each field is tagged [IN] (you fill it in) or [OUT] (the driver fills it in for you), so keep an eye on which way the info is flowing, iykyk:
typeβ[IN]the type of context you wanna create. this must be one of the values defined byenum drm_pvr_ctx_typeβ no making stuff up, bestie πflagsβ[IN]flags for the context. just flags. flags go here β¨priorityβ[IN]how important your new context thinks it is (main character energy, honestly). this must be one of the values defined byenum drm_pvr_ctx_priorityhandleβ[OUT]the handle you get back for your brand new context πstatic_context_stateβ[IN]pointer to the static context state streamstatic_context_state_lenβ[IN]length of that static context state, measured in bytes, because units matter πvm_context_handleβ[IN]the handle for the VM context that this context is associated withcallstack_addrβ[IN]the address for the initial call stack pointer π§
β οΈ heads up oncallstack_addr: it's only valid iftypeisDRM_PVR_CTX_TYPE_RENDER. any other type and it must be0. no cap, the driver will not be amused otherwise π
π¦ SEE ALSO π¦
this list is long long, so buckle up bestie, every single one is here π
- Kernel file
./include/uapi/drm/pvr_drm.h - PowerVR UAPI(9)
- struct
drm_pvr_obj_array(9) DRM_PVR_OBJ_ARRAY(9)- PowerVR IOCTL interface(9)
PVR_IOCTL(9)- PowerVR IOCTL DEV_QUERY interface(9)
- 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)
- 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)
- 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_destroy_context_args(9) - PowerVR IOCTL CREATE_FREE_LIST and DESTROY_FREE_LIST interfaces(9)
- 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)
- 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)
- Flags for the
drm_pvr_sync_opobject.(9) - 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)
like I said. long. but she ate, honestly π₯
and that's the whole page, bestie π this one lives in ./include/uapi/drm, dated October 2026, and it's filed under the Kernel API Manual β go forth and create contexts responsibly, mwah π§β¨π
π¦ 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