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.3-rc5 55 lines 1.5 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* Copyright (C) 2012-2019 ARM Limited (or its affiliates). */ 3 4#ifndef __CC_IVGEN_H__ 5#define __CC_IVGEN_H__ 6 7#include "cc_hw_queue_defs.h" 8 9#define CC_IVPOOL_SEQ_LEN 8 10 11/*! 12 * Allocates iv-pool and maps resources. 13 * This function generates the first IV pool. 14 * 15 * \param drvdata Driver's private context 16 * 17 * \return int Zero for success, negative value otherwise. 18 */ 19int cc_ivgen_init(struct cc_drvdata *drvdata); 20 21/*! 22 * Free iv-pool and ivgen context. 23 * 24 * \param drvdata 25 */ 26void cc_ivgen_fini(struct cc_drvdata *drvdata); 27 28/*! 29 * Generates the initial pool in SRAM. 30 * This function should be invoked when resuming DX driver. 31 * 32 * \param drvdata 33 * 34 * \return int Zero for success, negative value otherwise. 35 */ 36int cc_init_iv_sram(struct cc_drvdata *drvdata); 37 38/*! 39 * Acquires 16 Bytes IV from the iv-pool 40 * 41 * \param drvdata Driver private context 42 * \param iv_out_dma Array of physical IV out addresses 43 * \param iv_out_dma_len Length of iv_out_dma array (additional elements of 44 * iv_out_dma array are ignore) 45 * \param iv_out_size May be 8 or 16 bytes long 46 * \param iv_seq IN/OUT array to the descriptors sequence 47 * \param iv_seq_len IN/OUT pointer to the sequence length 48 * 49 * \return int Zero for success, negative value otherwise. 50 */ 51int cc_get_iv(struct cc_drvdata *drvdata, dma_addr_t iv_out_dma[], 52 unsigned int iv_out_dma_len, unsigned int iv_out_size, 53 struct cc_hw_desc iv_seq[], unsigned int *iv_seq_len); 54 55#endif /*__CC_IVGEN_H__*/