panfrost_lookup_bos(9)
π panfrost_lookup_bos(9) β the kernel API manual, but make it make sense
okay so bestie, welcome to panfrost_lookup_bos(9) from the Kernel API Manual β this is literally the function that sets up job->bo[] with the GEM objects that your job is referencing β¨
πΈ NAME πΈ
panfrost_lookup_bos β sets up job->bo[] with the GEM objects referenced by the job. that's it, that's the whole vibe π
π¦ SYNOPSIS π¦
int panfrost_lookup_bos (struct drm_device *dev , struct drm_file
*file_priv , struct drm_panfrost_submit *args , struct panfrost_job *job
);
likeβ¦ copy it exactly, don't come for me about the line breaks, that's how it's printed π
β¨ ARGUMENTS β¨
devβ the DRM device. main character of the whole DRM situation, honestly πfile_privβ the DRM file for this fd. it's giving "your specific open file's whole personality" π«Άargsβ the IOCTL args. yes, the actual args from the ioctl, lowkey the reason we're all herejobβ the job being set up. this is the one getting itsbo[]filled in, slay π
π₯ DESCRIPTION π₯
so what does it actually do? it resolves handles from userspace into BOs and attaches them to the job. literally that's the whole job (pun intended, sorry π). handles go in, real BOs come out, and they get hooked up to job β¨
π important caveat bestie: this function does not need to unreference the BOs on failure β because that cleanup happens later, at panfrost_job_cleanup time. so likeβ¦ don't stress about doing it here, it's handled π. no cap.
π SEE ALSO π
- Kernel file
./drivers/gpu/drm/panfrost/panfrost_drv.cβ go read the source, iykyk π panfrost_copy_in_sync(9)β its little sibling, go say hi π¦
and that's the page!! π this one came from ./drivers/gpu/drm/panfrost, version dated October 2026, and it's filed under panfrost_lookup_bos(9) β go off, you now know everything about resolving BOs, periodt βπ§ββοΈ
π¦ 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