pvr_dev_query_quirks_get(9)
π pvr_dev_query_quirks_get(9) β aka the Kernel API Manual page you didn't know you needed
okay so bestie, welcome to the glow-up of pvr_dev_query_quirks_get(9) from the Kernel API Manual β¨ β this is the lil function that unpacks the whole array of quirks sitting at the address inside a struct drm_pvr_dev_query_quirks, or honestly just tells you how much room you're gonna need for it. lowkey iconic behavior π
πΈ NAME πΈ
pvr_dev_query_quirks_get β unpacks the array of quirks at the address given in a struct drm_pvr_dev_query_quirks, or gets the amount of space required for it π
β¨ SYNOPSIS β¨
int pvr_dev_query_quirks_get (struct pvr_device *pvr_dev , struct drm_pvr_ioctl_dev_query_args *args );
π«Ά ARGUMENTS π«Ά
pvr_devβ the device pointer, bestie. your fave lil handle to the actual device π¦argsβ[IN]the device query arguments, which contain a pointer to a userspace structdrm_pvr_dev_query_query_quirksπ
π DESCRIPTION π
so here's the vibe check on how this works, no cap:
if the query object pointer is NULL, then the size field gets updated with the expected size of the query object β like, it's just telling you the tea, not handing over the goods π
and if the userspace pointer inside the query object is NULL, or the count is short, then no data is copied, periodt. the count field will be updated to whatever was copied β or, if either pointer is NULL, to that which would have been copied. and the size field in the query object gets updated to the size copied β¨
literally the main character energy of "i'll tell you what i would have done" π
π₯ RETURN π₯
0on success β or if size/count is requested using aNULLpointer π-EINVALifargscontained non-zero reserved fields π©-E2BIGif the indicated length of the allocation is less than is required to contain the copied data π-EFAULTif local memory could not be copied to userspace π
π SEE ALSO π
- Kernel file
./drivers/gpu/drm/imagination/pvr_drv.cPowerVR (Series 6 and later) and IMG Graphics Driver(9) β pvr_ioctl_create_bo(9)pvr_ioctl_get_bo_mmap_offset(9)pvr_dev_query_gpu_info_get(9)pvr_dev_query_runtime_info_get(9)pvr_dev_query_enhancements_get(9)pvr_ioctl_dev_query(9)pvr_ioctl_create_context(9)pvr_ioctl_destroy_context(9)pvr_ioctl_create_free_list(9)pvr_ioctl_destroy_free_list(9)pvr_ioctl_create_hwrt_dataset(9)pvr_ioctl_destroy_hwrt_dataset(9)pvr_ioctl_create_vm_context(9)pvr_ioctl_destroy_vm_context(9)pvr_ioctl_vm_map(9)pvr_ioctl_vm_unmap(9)pvr_drm_driver_open(9)pvr_drm_driver_postclose(9)
like, go read all of them, iykyk πβ¨
mwah π that's the whole page, and it lives under ./drivers/gpu/drm/imagination, dated October 2026, served to you fresh from the Kernel API Manual β slay, go call it responsibly π§ββοΈπ
π¦ 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