1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2018 Cavium, Inc
8 #include <rte_mempool.h>
11 * This file defines common macros and structs
14 #define TIME_IN_RESET_COUNT 5
16 /* Default command timeout in seconds */
17 #define DEFAULT_COMMAND_TIMEOUT 4
19 #define CPT_COUNT_THOLD 32
20 #define CPT_TIMER_THOLD 0x3F
23 #define ROUNDUP4(val) (((val) + 3) & 0xfffffffc)
27 #define ROUNDUP8(val) (((val) + 7) & 0xfffffff8)
31 #define ROUNDUP16(val) (((val) + 15) & 0xfffffff0)
34 #define MOD_INC(i, l) ((i) == (l - 1) ? (i) = 0 : (i)++)
36 struct cpt_qp_meta_info {
37 struct rte_mempool *pool;
43 /** Request id of a crypto operation */
48 * Pending queue structure
51 struct pending_queue {
52 /** Pending requests count */
53 uint64_t pending_count;
54 /** Array of pending requests */
55 struct rid *rid_queue;
56 /** Tail of queue to be used for enqueue */
58 /** Head of queue to be used for dequeue */
62 struct cpt_request_info {
63 /** Data path fields */
65 volatile uint64_t *completion_addr;
66 volatile uint64_t *alternate_caddr;
75 const struct otx2_cpt_qp *qp;
77 /** Control path fields */
82 #endif /* _CPT_COMMON_H_ */