STRUCT MV_CESA_DEV_DMA(9)
π 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
- 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