STRUCT DRM_PVR_DEV_QUERY_QUIRKS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

Hiii bestie πŸ’– welcome to the Kernel API Manual β€” this page is all about struct drm_...query_quirks(9), and the actual struct name is struct drm_pvr_dev_query_quirks. It’s the container used to fetch information about hardware fixes for which the device may require support in the user mode driver. Slay. ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

struct drm_pvr_dev_query_quirks {
    __u64 quirks;
    __u16 count;
    __u16 musthave_count;
    __u32 _padding_c;
};

πŸŽ€ Members πŸŽ€

  • quirks β€” a userspace address for the hardware quirks __u32 array.

The first musthave_count items in the list are quirks that the client must support for this device. If userspace does not support all these quirks then functionality is not guaranteed and client initialisation must fail. 🫠 This one is serious, bestie β€” not a vibe, an actual requirement.

The remaining quirks in the list affect userspace and the kernel or firmware. They are disabled by default and require userspace to opt-in. The opt-in mechanism depends on the quirk. πŸ’…

  • count β€” length of quirks (number of __u32).
  • musthave_count β€” the number of entries in quirks that are mandatory, starting at index 0. πŸ‘‘
  • _padding_c β€” reserved. This field must be zeroed. 🚨

✨ Description ✨

When fetching this type, struct drm_pvr_ioctl_dev_query_args.type must be set to DRM_PVR_DEV_QUERY_QUIRKS_GET. Periodt. πŸ’–


πŸ”₯ SEE ALSO πŸ”₯

Go read these too, bestie 🫢:

  • 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_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_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_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_hwrt_data_ref(9)
  • struct drm_pvr_job(9)
  • struct drm_pvr_ioctl_submit_jobs_args(9)

That’s the whole glow-up, bestie πŸ«ΆπŸ’… β€” source/version is ./include/uapi/drm, dated October 2026, and this is the struct drm_...query_quirks(9) page. Byeee ✨

πŸ“¦ where this page comes from