drivers/crypto/inside-secure/eip93/eip93-cipher.h

Source file repositories/reference/linux-study-clean/drivers/crypto/inside-secure/eip93/eip93-cipher.h

File Facts

System
Linux kernel
Corpus path
drivers/crypto/inside-secure/eip93/eip93-cipher.h
Extension
.h
Size
1551 bytes
Lines
61
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 eip93_crypto_ctx {
	struct eip93_device		*eip93;
	u32				flags;
	struct sa_record		*sa_record;
	u32				sa_nonce;
	int				blksize;
	dma_addr_t			sa_record_base;
	/* AEAD specific */
	unsigned int			authsize;
	unsigned int			assoclen;
	bool				set_assoc;
	enum eip93_alg_type		type;
};

struct eip93_cipher_reqctx {
	u16				desc_flags;
	u16				flags;
	unsigned int			blksize;
	unsigned int			ivsize;
	unsigned int			textsize;
	unsigned int			assoclen;
	unsigned int			authsize;
	dma_addr_t			sa_record_base;
	struct sa_state			*sa_state;
	dma_addr_t			sa_state_base;
	struct eip93_descriptor		*cdesc;
	struct scatterlist		*sg_src;
	struct scatterlist		*sg_dst;
	int				src_nents;
	int				dst_nents;
	struct sa_state			*sa_state_ctr;
	dma_addr_t			sa_state_ctr_base;
};

int check_valid_request(struct eip93_cipher_reqctx *rctx);

void eip93_unmap_dma(struct eip93_device *eip93, struct eip93_cipher_reqctx *rctx,
		     struct scatterlist *reqsrc, struct scatterlist *reqdst);

void eip93_skcipher_handle_result(struct crypto_async_request *async, int err);

int eip93_send_req(struct crypto_async_request *async,
		   const u8 *reqiv, struct eip93_cipher_reqctx *rctx);

void eip93_handle_result(struct eip93_device *eip93, struct eip93_cipher_reqctx *rctx,
			 u8 *reqiv);

#endif /* _EIP93_CIPHER_H_ */

Annotation

Implementation Notes