drivers/crypto/cavium/cpt/cptvf_algs.h

Source file repositories/reference/linux-study-clean/drivers/crypto/cavium/cpt/cptvf_algs.h

File Facts

System
Linux kernel
Corpus path
drivers/crypto/cavium/cpt/cptvf_algs.h
Extension
.h
Size
1969 bytes
Lines
118
Domain
Driver Families
Bucket
drivers/crypto
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct cvm_cipher {
	const char *name;
	u8 value;
};

struct enc_context {
	union encr_ctrl enc_ctrl;
	u8 encr_key[32];
	u8 encr_iv[16];
};

struct fchmac_context {
	u8 ipad[64];
	u8 opad[64]; /* or OPAD */
};

struct fc_context {
	struct enc_context enc;
	struct fchmac_context hmac;
};

struct cvm_enc_ctx {
	u32 key_len;
	u8 enc_key[MAX_KEY_SIZE];
	u8 cipher_type:4;
	u8 key_type:2;
};

struct cvm_des3_ctx {
	u32 key_len;
	u8 des3_key[MAX_KEY_SIZE];
};

struct cvm_req_ctx {
	struct cpt_request_info cpt_req;
	u64 control_word;
	struct fc_context fctx;
};

int cptvf_do_request(void *cptvf, struct cpt_request_info *req);
#endif /*_CPTVF_ALGS_H_*/

Annotation

Implementation Notes