STRUCT SA_CRYPTO_DATA(9)
π struct sa_crypto_data(9) π
okay so bestie, welcome to the Kernel API Manual β¨ β this page is literally all about struct sa_crypto_data, which is the driver instance data for the Crypto driver. it's giving "one struct to hold the whole vibe" and honestly? iconic. π
πΈ NAME πΈ
struct sa_crypto_data β Crypto driver instance data π¦
β¨ SYNOPSIS β¨
here's the whole squad, member by member, no cuts, no edits, exactly as it lives π
struct sa_crypto_data {
void __iomem *base;
const struct sa_match_data *match_data;
struct platform_device *pdev;
struct dma_pool *sc_pool;
struct device *dev;
spinlock_t scid_lock;
u16 sc_id_start;
u16 sc_id_end;
u16 sc_id;
unsigned long ctx_bm[DIV_ROUND_UP(SA_MAX_NUM_CTX, BITS_PER_LONG)];
struct sa_tfm_ctx *ctx;
struct dma_chan *dma_rx1;
struct dma_chan *dma_rx2;
struct dma_chan *dma_tx;
};
π§ Members π§
okay so this is the part where we meet everyone individually. main character energy for each and every one of them, fr fr:
baseβ the base address of the register space. like the home address of the whole operation πpdevβ the platform device pointer. it's giving "who am I attached to" π«Άsc_poolβ the security context pool. yes bestie, a whole pool πdevβ the device pointer. lowkey essential πscid_lockβ the secure context ID lock. π do not skip this one, it's holding down the concurrency situationsc_id_startβ the starting index for SC ID. where the numbering begins, periodt βsc_id_endβ the ending index for SC ID. where the numbering wraps up, bye πsc_idβ the Security Context ID. the ID itself, the moment β¨ctx_bmβ a bitmap to keep track of Security context ID's. literally the attendance sheet for which IDs are taken πctxβ the SA tfm context pointer π¦dma_rx1β pointer to the DMA rx channel for sizes< 256 Bytes. tiny data, dedicated channel, slay πdma_rx2β pointer to the DMA rx channel for sizes> 256 Bytes. big data gets its own channel, ate πdma_txβ pointer to the DMA TX channel π₯
ngl, if you're looking for a write-up of match_data, the original page doesn't give one β so I'm not gonna make one up. it's in the struct, it's chilling, that's the tea π
π¦ SEE ALSO π¦
go read these next, bestie, they're all part of the same friend group π β kernel file ./drivers/crypto/sa2ul.h plus these icons:
struct sa_cmdl_param_info(9)struct sa_cmdl_upd_info(9)struct sa_ctx_info(9)struct sa_tfm_ctx(9)struct sa_sha_req_ctx(9)struct sa_eng_info(9)
and that's the whole page, no cap π big kisses from the source at ./drivers/crypto, dated October 2026 β catch you in the next manpage, 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