STRUCT DTHE_TFM_CTX(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME

okay so bestie, gather round β€” struct dthe_tfm_ctx is the transform ctx struct, and it's literally the main character because it holds the ctx for every single sub-component of DTHE V2. one struct to hold them all, iykyk 🫢


✨ SYNOPSIS

here's the whole vibe, verbatim, no cap:

struct dthe_tfm_ctx {
    struct dthe_data *dev_data;
    unsigned int keylen;
    unsigned int authsize;
    u32 key[DTHE_MAX_KEYSIZE / sizeof(u32)];
    enum dthe_aes_mode aes_mode;
    union {
      struct crypto_sync_aead *aead_fb;
      struct crypto_sync_skcipher *skcipher_fb;
    };
 };

🌸 MEMBERS

like, every field explained, and yes we're doing all of them πŸ’…

  • dev_data β€” pointer to the device data struct. that's it, that's the field πŸŽ€
  • keylen β€” the AES key length. how long the key is, fr fr.
  • authsize β€” the authentication size, but only for the modes that actually have authentication. it's giving "conditional queen" ✨
  • key β€” the AES key itself. the whole point, lowkey. πŸ‘‘
  • aes_mode β€” the AES mode. which mode we're in, bestie.
  • {unnamed_union} β€” an anonymous union. no name, no problem πŸ™ˆ
  • aead_fb β€” fallback crypto aead handle. it's the backup plan, but make it cryptographic πŸ¦‹
  • skcipher_fb β€” fallback crypto skcipher handle for AES-XTS mode specifically. so if you're in AES-XTS, this is your girl 🌈
ngl, the union means aead_fb and skcipher_fb share the same space β€” one or the other, never both at once. that's the whole point of a union, periodt.

πŸ¦‹ SEE ALSO

go read these too, bestie, they're all in the kernel file ./drivers/crypto/ti/dthev2-common.h:

  • struct dthe_data(9)
  • struct dthe_list(9)
  • struct dthe_aes_req_ctx(9)
  • dthe_copy_sg(9)

and that's the tea β˜• β€” this lil page lives at ./drivers/crypto/ti, dated October 2026, and it's all about struct dthe_tfm_ctx(9). slay, go forth and transform those crypto requests πŸ’œβœ¨

πŸ“¦ where this page comes from