STRUCT MV_CESA_DEV_DMA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct mv_cesa_dev_dma(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” yes, that manual, the one written by kernel devs who have never once used a single emoji 😭 β€” and today's main character is the DMA pools struct. let's get into it, no cap.


✨ NAME ✨

struct mv_cesa_dev_dma β€” DMA pools, periodt. that's the whole vibe. it's giving "bucket storage for the crypto driver" πŸͺ£βœ¨


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the whole look, exactly as it appears, don't come for me about the indentation:

struct mv_cesa_dev_dma {
    struct dma_pool *tdma_desc_pool;
    struct dma_pool *op_pool;
    struct dma_pool *cache_pool;
    struct dma_pool *padding_pool;
 };

four pools, one struct, zero notes πŸŽ€


🌸 Members 🌸

okay this is the part where we meet the squad one by one, and honestly? each of them is iconic in their own little way πŸ’…

  • tdma_desc_pool β€” the TDMA desc pool. that's it, that's her job. she holds TDMA descriptors, and she does it beautifully 🫢
  • op_pool β€” the crypto operation pool. ops live here. it's lowkey the busiest one ngl πŸ’€
  • cache_pool β€” the data cache pool. and before you ask why, here's the tea: it's used by the hash implementation when the hash request is smaller than the hash block size πŸ“ so like, tiny requests get the cache pool treatment, fr fr.
  • padding_pool β€” the padding pool. also a hash-implementation girlie, and she specifically shows up when hardware padding cannot be used πŸ™ˆ so when the hardware says "not today," padding pool says "say less, i got you."

πŸ‘‘ Description πŸ‘‘

okay so the whole point of this struct, the thesis statement if you will:

Structure containing the different DMA pools used by this driver.

that's it!! she's a container!! she contains the different DMA pools used by this driver, and honestly that's more than enough. main character energy without even trying πŸ’œβœ¨


πŸ”₯ SEE ALSO πŸ”₯

listen. the lore is deep. this is the entire extended universe, all the sibling structs, and yes you're gonna read every single one of them because i said so 🌈 the kernel file lives at ./drivers/crypto/marvell/cesa/cesa.h, and the whole family is right here:

  • struct mv_cesa_sec_accel_desc(9)
  • struct mv_cesa_skcipher_op_ctx(9)
  • struct mv_cesa_hash_op_ctx(9)
  • struct mv_cesa_op_ctx(9)
  • struct mv_cesa_tdma_desc(9)
  • struct mv_cesa_sg_dma_iter(9)
  • struct mv_cesa_dma_iter(9)
  • struct mv_cesa_tdma_chain(9)
  • struct mv_cesa_caps(9)
  • struct mv_cesa_engine(9)
  • struct mv_cesa_dev(9)
  • struct mv_cesa_req_ops(9)
  • struct mv_cesa_ctx(9)
  • struct mv_cesa_hash_ctx(9)
  • enum mv_cesa_req_type(9)
  • struct mv_cesa_req(9)
  • struct mv_cesa_sg_std_iter(9)
  • struct mv_cesa_skcipher_std_req(9)
  • struct mv_cesa_skcipher_req(9)
  • struct mv_cesa_ahash_std_req(9)
  • struct mv_cesa_ahash_dma_req(9)
  • struct mv_cesa_ahash_req(9)

like i said. deep lore. go read them, i'll wait πŸ§šπŸ’–


aaaand that's the page!! this little beauty comes to you straight from ./drivers/crypto/marvell/cesa, dated October 2026 β€” yes, the future, because she's ahead of her time ⭐ slay, bye bestie!! πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from