STRUCT PVR_QUEUE(9)
π struct pvr_queue(9) π
okay bestie, welcome to the Kernel API Manual β this page is all about struct pvr_queue, the job queue itself. No cap, it's giving kernel plumbing with main-character energy. π
β¨ NAME β¨
struct pvr_queue β job queue. literally the struct for the job queue. π
πΈ SYNOPSIS πΈ
struct pvr_queue {
struct drm_gpu_scheduler scheduler;
struct drm_sched_entity entity;
enum drm_pvr_job_type type;
struct pvr_context *ctx;
struct list_head node;
atomic_t in_flight_job_count;
struct pvr_queue_cccb_fence_ctx cccb_fence_ctx;
struct pvr_queue_fence_ctx job_fence_ctx;
struct {
struct pvr_fw_object *fw_obj;
u32 *value;
} timeline_ufo;
struct dma_fence *last_queued_job_scheduled_fence;
struct pvr_cccb cccb;
struct pvr_fw_object *reg_state_obj;
u32 ctx_offset;
u64 callstack_addr;
};
π Members π
schedulerβ the single-entity scheduler used to push jobs to this queue. π«entityβ scheduling entity backing this queue.typeβ type of jobs queued to this queue.ctxβ context object this queue is bound to.nodeβ used to add the queue to the active/idle queue list.in_flight_job_countβ number of jobs submitted to the CCCB that have not been processed yet. πcccb_fence_ctxβ CCCB fence context. It's the gatekeeper for when the CCCB is full, so we don't end up trying to push commands to the CCCB if there's not enough space to receive all commands needed for a job to complete. π«Άjob_fence_ctxβ job fence context object.timeline_ufoβ timeline UFO for the context queue. πΈlast_queued_job_scheduled_fenceβ the scheduled fence of the last job queued to this queue. We use it to insertfrag -> geomdependencies when issuing combined geom+frag jobs, to guarantee that the fragment job that's part of the combined operation comes after all fragment jobs that were queued before it. periodt. πcccbβ Client Circular Command Buffer.reg_state_objβ FW object representing the register state of this queue.ctx_offsetβ offset of the queue context in the FW context object.callstack_addrβ initial call stack address for register state object.
π₯ Description π₯
It's used to queue and track execution of pvr_job objects. that's the assignment, bestie: jobs go in, execution gets tracked. iconic behavior fr fr. β¨
π SEE ALSO π
- Kernel file
./drivers/gpu/drm/imagination/pvr_queue.hβstruct pvr_queue_fence_ctx(9),struct pvr_queue_cccb_fence_ctx(9),struct pvr_queue_fence(9).
mwah π that's the page, bestie. This one lives under ./drivers/gpu/drm/imagination and is dated October 2026. struct pvr_queue(9) out β slay your kernel journeys π«Άβ¨
π¦ 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