STRUCT DRM_PVR_HWRT_DATA_REF(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME

struct drm_pvr_hwrt_data_ref β€” bestie, this is literally just a Reference HWRT data. That's the whole vibe. ✨

(also hi, welcome to the Kernel API Manual section 9, you're gonna do great 🫢)


✨ SYNOPSIS

okay so picture this in a code block, no cap, copy it exactly:

struct drm_pvr_hwrt_data_ref {
    __u32 set_handle;
    __u32 data_index;
 };

that's it. two little __u32s. it's giving minimalism, it's giving "I only have two fields but I'm still the main character" πŸ‘‘


πŸŽ€ Members

bestie these are the only two things inside, and they both eat πŸ’…

  • set_handle β€” the HWRT data set handle. yes. that's the handle for the set. iconic of it, honestly.
  • data_index β€” the index of the HWRT data inside that data set. like, where it sits in the group. the position. the little coordinate. πŸ“

πŸ’… SEE ALSO

okay so this list is LONG, like genuinely endless, but I promised I'd keep every single one, so here we go β€” every reference, in order, untouched, because I'm a good friend 🌸

first up, the actual source file and the UAPI itself:

  • 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)

🌈 the DEV_QUERY zone

  • 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)

πŸ¦‹ the buffer object / VM zone

  • 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)

🧚 the context zone

  • 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)

πŸ“ the free list zone

  • 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)

πŸ”₯ the HWRT dataset zone (yes, our girl's home turf)

  • 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)

⭐ the SUBMIT_JOBS zone

  • PowerVR IOCTL SUBMIT_JOBS interface(9)
  • Flags for the drm_pvr_sync_op object.(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_job(9)
  • struct drm_pvr_ioctl_submit_jobs_args(9)

ok that was a LOT of reading but you made it, I'm so proud of you πŸ˜­πŸ’– go read a couple of these, hydrate, and remember: set_handle + data_index, that's the whole struct, that's the whole girl.

🌸 that's the whole page!! source file lives in ./include/uapi/drm, it's dated October 2026, and the page itself is struct drm_pvr_hwrt_data_ref(9) β€” mwah, bye bestie, drink water, ily πŸŽ€πŸ’œ

πŸ“¦ where this page comes from