caam_jr_enqueue(9)
π caam_jr_enqueue
okay bestie, this is caam_jr_enqueue from the Kernel API Manual, and it's basically the βdrop your job descriptor in the ringβ function. slay.
πΈ NAME πΈ
caam_jr_enqueue β Enqueue a job descriptor head. Returns -EINPROGRESS if OK, -ENOSPC if the queue is full, -EIO if it cannot map the caller's descriptor. periodt.
β¨ SYNOPSIS β¨
int caam_jr_enqueue (struct device *dev , u32 *desc , void (*cbk)(struct
device *dev, u32 *desc, u32 status, void *areq) , void *areq );
π ARGUMENTS π
devβstruct deviceof the job ring to be used. this is the ring you're handing your job to, bestie.descβ points to a job descriptor that execute our request. read this twice: All descriptors (and all referenced data) must be in a DMAable region, and all data references must be physical addresses accessible to CAAM (i.e. within a PAMU window granted to it).cbkβ pointer to a callback function to be invoked upon completion of this request. This has the form:callback(struct device *dev, u32 *desc, u32 stat, void *arg)where:dev: contains the job ring device that processed this response.desc: descriptor that initiated the request, same as"desc"being argued tocaam_jr_enqueue.status: untranslated status received from CAAM. See the reference manual for a detailed description of error meaning, or see the JRSTA definitions in the register header fileareq: optional pointer to an argument passed with the original request
areqβ optional pointer to a user argument for use at callback time. lowkey just your little callback stash.
π¦ SEE ALSO π¦
Kernel file ./drivers/crypto/caam/jr.c β plus caam_jr_alloc(9), caam_jr_free(9).
π bestie note: the desc situation is not a vibe-check-optional thing β all descriptors and referenced data have to be DMAable, and every data reference has to be a physical address accessible to CAAM, i.e. inside a PAMU window granted to it. no cap.
mwah π this iconic page comes from ./drivers/crypto/caam, dated October 2026, and it's caam_jr_enqueue(9) β 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