]> git.proxmox.com Git - ceph.git/blame - ceph/src/spdk/dpdk/drivers/common/cpt/cpt_pmd_ops_helper.h
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / spdk / dpdk / drivers / common / cpt / cpt_pmd_ops_helper.h
CommitLineData
9f95a23c
TL
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2018 Cavium, Inc
3 */
4
5#ifndef _CPT_PMD_OPS_HELPER_H_
6#define _CPT_PMD_OPS_HELPER_H_
7
8/*
9 * This file defines the agreement between the common layer and the individual
10 * crypto drivers for OCTEON TX series. Control path in otx* directory can
11 * directly call functions declared here.
12 */
13
14/*
15 * Get meta length required when operating in direct mode (single buffer
16 * in-place)
17 *
18 * @return
19 * - length
20 */
21
22int32_t
23cpt_pmd_ops_helper_get_mlen_direct_mode(void);
24
25/*
26 * Get size of contiguous meta buffer to be allocated when working in scatter
27 * gather mode.
28 *
29 * @return
30 * - length
31 */
32int
33cpt_pmd_ops_helper_get_mlen_sg_mode(void);
f67539c2
TL
34
35/*
36 * Get size of meta buffer to be allocated for asymmetric crypto operations
37 *
38 * @return
39 * - length
40 */
41int
42cpt_pmd_ops_helper_asym_get_mlen(void);
43
44/*
45 * Initialize ECC FMUL precomputed table
46 *
47 * @param
48 * - pointer to fpm_table iova address
49 *
50 * @return
51 * - 0 on success, negative on error
52 */
53__rte_experimental
54int cpt_fpm_init(uint64_t *fpm_table_iova);
55
56/*
57 * Clear ECC FMUL precomputed table
58 */
59__rte_experimental
60void cpt_fpm_clear(void);
61
9f95a23c 62#endif /* _CPT_PMD_OPS_HELPER_H_ */