qbman_pull_desc_set_storage(9)
π qbman_pull_desc_set_storage(9) π
okay bestie, welcome to the Kernel API Manual β¨ β yes that's the manual name, and yes this page lives there. today's main character is qbman_pull_desc_set_storage, and honestly? she's giving "small function, big consequences" energy. let's get into it π
πΈ NAME πΈ
qbman_pull_desc_set_storage β set the pull dequeue storage π
β¨ SYNOPSIS β¨
void qbman_pull_desc_set_storage (struct qbman_pull_desc *d , struct
dpaa2_dq *storage , dma_addr_t storage_phys , int stash );
literally that's the whole vibe. four args, no cap. π«Ά
π¦ ARGUMENTS π¦
dβ the pull dequeue descriptor to be set. she's the one getting her storage configured, main character energy fr πstorageβ the pointer of the memory to store the dequeue result π¦storage_physβ the physical address of the storage memory. yep, the phys one, don't get it twisted π§stashβ to indicate whether write allocate is enabled π
π DESCRIPTION π
okay so here's the tea β ngl this is the part you actually need.
If you don't call this function at all, or if you call it with storage as NULL, the result pull dequeues will produce results to DQRR. periodt π
If storage is non-NULL, though, then results are produced to that given memory location β using the DMA address which the caller provides in storage_phys π― β and stash controls whether or not those writes to main-memory express a cache-warming attribute π₯
so like... NULL = DQRR, non-NULL = your memory, and stash is the little garnish on top deciding if the writes feel cache-warm. iconic. π
π«Ά reminder bestie: storage_phys is your job to supply, and it's got to be the physical address. the function is trusting you on this one. π
π SEE ALSO π
Kernel file ./drivers/soc/fsl/dpio/qbman-portal.c β go read the source, iykyk π
and then the whole extended friend group, no one left out:
qbman_swp_init(9)qbman_swp_finish(9)qbman_swp_interrupt_read_status(9)qbman_swp_interrupt_clear_status(9)qbman_swp_interrupt_get_trigger(9)qbman_swp_interrupt_set_trigger(9)qbman_swp_interrupt_get_inhibit(9)qbman_swp_interrupt_set_inhibit(9)qbman_eq_desc_set_no_orp(9)qbman_eq_desc_set_fq(9)qbman_eq_desc_set_qd(9)qbman_swp_enqueue_direct(9)qbman_swp_enqueue_mem_back(9)qbman_swp_enqueue_multiple_direct(9)qbman_swp_enqueue_multiple_mem_back(9)qbman_swp_enqueue_multiple_desc_direct(9)qbman_swp_enqueue_multiple_desc_mem_back(9)qbman_swp_push_get(9)qbman_swp_push_set(9)qbman_pull_desc_clear(9)qbman_pull_desc_set_numframes(9)qbman_pull_desc_set_fq(9)qbman_pull_desc_set_wq(9)qbman_pull_desc_set_channel(9)qbman_swp_pull_direct(9)qbman_swp_pull_mem_back(9)qbman_swp_dqrr_next_direct(9)qbman_swp_dqrr_next_mem_back(9)qbman_swp_dqrr_consume(9)qbman_result_has_new_result(9)qbman_release_desc_clear(9)qbman_release_desc_set_bpid(9)qbman_release_desc_set_rcdi(9)qbman_swp_release_direct(9)qbman_swp_release_mem_back(9)qbman_swp_acquire(9)qbman_swp_set_irq_coalescing(9)qbman_swp_get_irq_coalescing(9)
β and that's the page, bestie! this one came from the source tree at ./drivers/soc/fsl/dpio, dated October 2026 β so go forth, set that storage, and slay your dequeue results ππ¦β¨
π¦ 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