STRUCT PVR_SYNC_SIGNAL(9)
π struct pvr_sync_signal β Kernel API Manual π
okay so this is the Kernel API Manual page for struct pvr_sync_signal(9), and itβs literally the object encoding a syncobj signal operation. no cap, weβre getting into it π
πΈ NAME πΈ
struct pvr_sync_signal β the object encoding a syncobj signal operation. thatβs the whole vibe, bestie.
π¦ SYNOPSIS π¦
struct pvr_sync_signal {
u32 handle;
u64 point;
struct drm_syncobj *syncobj;
struct dma_fence_chain *chain;
struct dma_fence *fence;
};
π§ Members π§
handleβ handle of the syncobj to signal. yes, that handle πpointβ point to signal in the syncobj. Only relevant for timeline syncobjs, so thatβs the rule β¨syncobjβ syncobj retrieved from the handle. it came from the handle, periodt.chainβ chain object used to link the new fence with the existing timeline syncobj. Should be zero when manipulating a regular syncobj β like, keep it at zero, fr fr.fenceβ new fence object to attach to the syncobj. This pointer starts with the current fence bound to the<handle,point>pair. iconic pointer behavior, honestly.
π Description π
okay so the job submission logic collects all signal operations in an array of pvr_sync_signal objects. This array also serves as a cache to get the latest dma_fence when multiple jobs are submitted at once, and one job signals a syncobj point thatβs later waited on by a subsequent job. thatβs the tea β β the array is out here doing double duty and we love that for it.
π SEE ALSO π
- Kernel file
./drivers/gpu/drm/imagination/pvr_sync.hβ the header, the receipts, the place to look if you want the full lore.
mwah π β from ./drivers/gpu/drm/imagination, October 2026, for struct pvr_sync_signal(9). take care of your syncobjs, bestie π«Ά
π¦ 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