STRUCT D40_LCLA_POOL(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct d40_lcla_pool(9) β€” the Kernel API Manual glow-up πŸ’–

Okay bestie, welcome to the struct d40_lcla_pool(9) page from the Kernel API Manual β€” we're talking LCLA pool settings and data, and it's giving very demure, very kernel-coded. πŸ’…βœ¨

🌸 NAME 🌸

struct d40_lcla_pool β€” LCLA pool settings and data. That's the whole vibe: settings, data, LCLA pool, periodt. 🫢

✨ SYNOPSIS ✨

Here's the struct in all its glory, no cap:

       struct d40_lcla_pool {
           void *base;
           dma_addr_t dma_addr;
           void *base_unaligned;
           int pages;
           spinlock_t lock;
           struct d40_desc **alloc_map;
        };

πŸŽ€ Members πŸŽ€

  • base β€” the virtual address of LCLA, and it's 18 bit aligned, bestie. πŸ’–
  • dma_addr β€” the DMA address, if mapped. Lowkey essential. ✨
  • base_unaligned β€” the original kmalloc pointer, if kmalloc is used. This pointer is only there for clean-up on error, so it's like the backup bestie of the struct. 😭
  • pages β€” the number of pages needed for all physical channels. Only used later for clean-up on error. πŸŽ€
  • lock β€” lock to protect the content in this struct. Do not skip the lock, iykyk. πŸ”’πŸ’…
  • alloc_map β€” a big map over which LCLA entry is own by which job. Yes, that's the energy. πŸ—ΊοΈπŸ‘‘

πŸ¦‹ SEE ALSO πŸ¦‹

Go stalk these too, bestie β€” the kernel file ./drivers/dma/ste_dma40.c is main-character energy, and the rest of the squad is:

  • struct stedma40_platform_data(9)
  • enum d40_command(9)
  • struct d40_interrupt_lookup(9)
  • struct d40_reg_val(9)
  • struct d40_lli_pool(9)
  • struct d40_desc(9)
  • struct d40_phy_res(9)
  • struct d40_chan(9)
  • struct d40_gen_dmac(9)
  • struct d40_base(9)

xoxo, your Unix bestie 🫢 β€” source/version: ./drivers/dma, date: October 2026, page: struct d40_lcla_pool(9). πŸ’–βœ¨

πŸ“¦ where this page comes from