Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v5.2 71 lines 2.0 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* Copyright (C) 2012-2019 ARM Limited (or its affiliates). */ 3 4/* \file cc_buffer_mgr.h 5 * Buffer Manager 6 */ 7 8#ifndef __CC_BUFFER_MGR_H__ 9#define __CC_BUFFER_MGR_H__ 10 11#include <crypto/algapi.h> 12 13#include "cc_driver.h" 14 15enum cc_req_dma_buf_type { 16 CC_DMA_BUF_NULL = 0, 17 CC_DMA_BUF_DLLI, 18 CC_DMA_BUF_MLLI 19}; 20 21enum cc_sg_cpy_direct { 22 CC_SG_TO_BUF = 0, 23 CC_SG_FROM_BUF = 1 24}; 25 26struct cc_mlli { 27 cc_sram_addr_t sram_addr; 28 unsigned int nents; //sg nents 29 unsigned int mlli_nents; //mlli nents might be different than the above 30}; 31 32struct mlli_params { 33 struct dma_pool *curr_pool; 34 u8 *mlli_virt_addr; 35 dma_addr_t mlli_dma_addr; 36 u32 mlli_len; 37}; 38 39int cc_buffer_mgr_init(struct cc_drvdata *drvdata); 40 41int cc_buffer_mgr_fini(struct cc_drvdata *drvdata); 42 43int cc_map_cipher_request(struct cc_drvdata *drvdata, void *ctx, 44 unsigned int ivsize, unsigned int nbytes, 45 void *info, struct scatterlist *src, 46 struct scatterlist *dst, gfp_t flags); 47 48void cc_unmap_cipher_request(struct device *dev, void *ctx, unsigned int ivsize, 49 struct scatterlist *src, struct scatterlist *dst); 50 51int cc_map_aead_request(struct cc_drvdata *drvdata, struct aead_request *req); 52 53void cc_unmap_aead_request(struct device *dev, struct aead_request *req); 54 55int cc_map_hash_request_final(struct cc_drvdata *drvdata, void *ctx, 56 struct scatterlist *src, unsigned int nbytes, 57 bool do_update, gfp_t flags); 58 59int cc_map_hash_request_update(struct cc_drvdata *drvdata, void *ctx, 60 struct scatterlist *src, unsigned int nbytes, 61 unsigned int block_size, gfp_t flags); 62 63void cc_unmap_hash_request(struct device *dev, void *ctx, 64 struct scatterlist *src, bool do_revert); 65 66void cc_copy_sg_portion(struct device *dev, u8 *dest, struct scatterlist *sg, 67 u32 to_skip, u32 end, enum cc_sg_cpy_direct direct); 68 69void cc_zero_sgl(struct scatterlist *sgl, u32 data_len); 70 71#endif /*__BUFFER_MGR_H__*/