STRUCT DRM_PVR_DEV_QUERY_STATIC_DATA_AREAS(9)
π struct drm_pvr_dev_query_static_data_areas(9) π
okay so bestie, this is a page from the Kernel API Manual and it's literally all about one little struct that goes and fetches the tea on the static data areas in heaps that your device driver supports. it's giving "I'm just a container" but honestly it's doing so much. let's get into it β¨
πΈ NAME πΈ
struct drm_pvr_dev_query_static_data_areas β a container used to fetch information about the static data areas in heaps supported by the device driver. no cap, that's literally its whole job π«Ά
β¨ SYNOPSIS β¨
struct drm_pvr_dev_query_static_data_areas {
struct drm_pvr_obj_array static_data_areas;
};
look at her. one member. iconic behavior honestly π
π¦ Members π¦
static_data_areasβ this is an array ofstruct drm_pvr_static_data_area. and here's the cute part: if the pointer isNULL, the count and stride get updated with the ones the driver version already knows about, so the caller can go ahead and allocate. literally helping you help yourself, we love a self-sufficient struct π
π Description π
please note, bestie π β all driver-supported static data areas will be returned up to static_data_areas.count. but some of them won't be present for all devices, and that's indicated by struct drm_pvr_static_data_area.size being set to zero. so like, zero means "not here for u on this device", don't panic π
further (yes, there's more π), some heaps won't be present either β check out struct drm_pvr_dev_query_heap_info for that whole situation.
β οΈ important vibe check: when you're fetching this type,struct drm_pvr_ioctl_dev_query_args.typemust be set toDRM_PVR_DEV_QUERY_STATIC_DATA_AREAS_GET. like, no negotiating on this one, set it or nothing works π
π SEE ALSO π
the whole friend group, fr fr. every single one of these:
- 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)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_create_context_args(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)
that's the whole group chat, go say hi to all of them π«Άπ
and that's the page!! π this lil cutie lives in ./include/uapi/drm and is dated October 2026 β so like, future energy but make it kernel docs. mwah, go read ur structs bestie πβ¨
π¦ 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