STRUCT VSP1_DL_BODY_POOL(9)
π struct vsp1_dl_body_pool(9) β the Kernel API Manual, but make it cute
okay so bestie, welcome to the Kernel API Manual π this is the page for struct vsp1_dl_body_pool, and no cap, it's lowkey one of those supporting-cast structs that makes the whole display-list situation work. it's giving "backstage crew at the awards show" energy β nobody claps for it, but nothing slays without it. π
β¨ NAME β¨
struct vsp1_dl_body_pool β display list body pool. that's it, that's the vibe. it's a pool. for display list bodies. π«Ά
πΈ SYNOPSIS πΈ
struct vsp1_dl_body_pool {
dma_addr_t dma;
size_t size;
void *mem;
struct vsp1_dl_body *bodies;
struct list_head free;
spinlock_t lock;
struct vsp1_device *vsp1;
};
like, look at her. seven members, zero notes. the way she's structured? iconic. π
π¦ Members π¦
so here's the member-by-member breakdown, and yes i'm doing full commentary because every single one of these matters:
dmaβ the DMA address of the entries. this is where the hardware actually finds them, fr fr.sizeβ the size of the full DMA memory pool in bytes. the whole pool. not a fraction, not a vibe, the full thing.memβ the CPU memory pointer for the pool. yes, a CPU-side pointer too β bestie gets both addresses, main character energy. πbodiesβ the array of DLB structures for the pool. "DLB" = display list body, iykyk.freeβ the list of free DLB entries. this is the "available right now" list, the roster of unclaimed bodies~ β¨lockβ protects the free list. do not skip the lock. the free list is a shared resource and this spinlock is what keeps everyone from stepping on each other πvsp1β the VSP1 device. the parent, the origin, the one who birthed this whole pool πΌ
quick vibe check:dmaandmemare two views of the same pool situation (device-side address vs CPU-side pointer), andsizecovers the whole thing β so don't go thinking either pointer only covers part of it.
π SEE ALSO π
all the friends and neighbours, in the order they showed up:
Kernel file ./drivers/media/platform/renesas/vsp1/vsp1_dl.c, plus:
struct vsp1_dl_ext_header(9)struct vsp1_pre_ext_dl_body(9)struct vsp1_dl_body(9)struct vsp1_dl_cmd_pool(9)struct vsp1_dl_list(9)struct vsp1_dl_manager(9)vsp1_dl_body_pool_create(9)vsp1_dl_body_pool_destroy(9)vsp1_dl_body_get(9)vsp1_dl_body_put(9)vsp1_dl_body_write(9)vsp1_dl_cmd_pool_create(9)vsp1_dl_list_get(9)vsp1_dl_list_put(9)vsp1_dl_list_get_body0(9)vsp1_dl_list_add_body(9)vsp1_dl_list_add_chain(9)vsp1_dlm_irq_frame_end(9)
like a whole group chat of related symbols and you're invited to every single one π«Ά
and that's the page!! mwah π this cutie came straight out of ./drivers/media/platform/renes... (yes it's truncated in the footer, that's literally how it's printed, don't @ me π) and it's dated October 2026, version-tagged with struct vsp1_dl_body_pool(9) for the Kernel API Manual β periodt. go read the SEE ALSOs, bestie, they're all waiting ππβ
π¦ 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