#include <stdint.h>
Go to the source code of this file.
|
__rte_experimental struct rte_pmd_cnxk_crypto_qptr * | rte_pmd_cnxk_crypto_qptr_get (uint8_t dev_id, uint16_t qp_id) |
|
__rte_experimental void | rte_pmd_cnxk_crypto_submit (struct rte_pmd_cnxk_crypto_qptr *qptr, void *inst, uint16_t nb_inst) |
|
__rte_experimental int | rte_pmd_cnxk_crypto_cptr_flush (struct rte_pmd_cnxk_crypto_qptr *qptr, struct rte_pmd_cnxk_crypto_cptr *cptr, bool invalidate) |
|
__rte_experimental struct rte_pmd_cnxk_crypto_cptr * | rte_pmd_cnxk_crypto_cptr_get (struct rte_pmd_cnxk_crypto_sess *rte_sess) |
|
__rte_experimental int | rte_pmd_cnxk_crypto_cptr_read (struct rte_pmd_cnxk_crypto_qptr *qptr, struct rte_pmd_cnxk_crypto_cptr *cptr, void *data, uint32_t len) |
|
__rte_experimental int | rte_pmd_cnxk_crypto_cptr_write (struct rte_pmd_cnxk_crypto_qptr *qptr, struct rte_pmd_cnxk_crypto_cptr *cptr, void *data, uint32_t len) |
|
__rte_experimental int | rte_pmd_cnxk_crypto_qp_stats_get (struct rte_pmd_cnxk_crypto_qptr *qptr, struct rte_pmd_cnxk_crypto_qp_stats *stats) |
|
Marvell CNXK Crypto PMD specific functions.
Definition in file rte_pmd_cnxk_crypto.h.
◆ rte_pmd_cnxk_crypto_qptr_get()
__rte_experimental struct rte_pmd_cnxk_crypto_qptr* rte_pmd_cnxk_crypto_qptr_get |
( |
uint8_t |
dev_id, |
|
|
uint16_t |
qp_id |
|
) |
| |
Get queue pointer of a specific queue in a cryptodev.
- Parameters
-
dev_id | Device identifier of cryptodev device. |
qp_id | Index of the queue pair. |
- Returns
- On success, pointer to queue pair structure that would be the input to submit APIs.
- NULL on error.
◆ rte_pmd_cnxk_crypto_submit()
__rte_experimental void rte_pmd_cnxk_crypto_submit |
( |
struct rte_pmd_cnxk_crypto_qptr * |
qptr, |
|
|
void * |
inst, |
|
|
uint16_t |
nb_inst |
|
) |
| |
Submit CPT instruction (cpt_inst_s) to hardware (CPT).
The qp
is a pointer obtained from rte_pmd_cnxk_crypto_qp_get
. Application should make sure it doesn't overflow the internal hardware queues. It may do so by making sure the inflight packets are not more than the number of descriptors configured.
This API may be called only after the cryptodev and queue pair is configured and is started.
- Parameters
-
qptr | Pointer obtained with rte_pmd_cnxk_crypto_qptr_get . |
inst | Pointer to an array of instructions prepared by application. |
nb_inst | Number of instructions. |
◆ rte_pmd_cnxk_crypto_cptr_flush()
__rte_experimental int rte_pmd_cnxk_crypto_cptr_flush |
( |
struct rte_pmd_cnxk_crypto_qptr * |
qptr, |
|
|
struct rte_pmd_cnxk_crypto_cptr * |
cptr, |
|
|
bool |
invalidate |
|
) |
| |
Flush the CPTR from CPT CTX cache.
This API must be called only after the cryptodev and queue pair is configured and is started.
- Parameters
-
qptr | Pointer obtained with rte_pmd_cnxk_crypto_qptr_get . |
cptr | Pointer obtained with rte_pmd_cnxk_crypto_cptr_get or any valid CPTR address that can be used with CPT CTX cache. |
invalidate | If true, invalidate the CTX cache entry. If false, flush the CTX cache entry. |
- Returns
- 0 on success.
- Negative value on error.
- -EINVAL if the input parameters are invalid.
- -ENOTSUP if the operation is not supported.
- -EAGAIN if the operation is not successful.
- -EFAULT if the operation failed.
◆ rte_pmd_cnxk_crypto_cptr_get()
__rte_experimental struct rte_pmd_cnxk_crypto_cptr* rte_pmd_cnxk_crypto_cptr_get |
( |
struct rte_pmd_cnxk_crypto_sess * |
rte_sess | ) |
|
Get the HW CPTR pointer from the rte_crypto/rte_security session.
- Parameters
-
rte_sess | Pointer to the structure holding rte_cryptodev or rte_security session. |
- Returns
- On success, pointer to the HW CPTR.
- NULL on error.
◆ rte_pmd_cnxk_crypto_cptr_read()
__rte_experimental int rte_pmd_cnxk_crypto_cptr_read |
( |
struct rte_pmd_cnxk_crypto_qptr * |
qptr, |
|
|
struct rte_pmd_cnxk_crypto_cptr * |
cptr, |
|
|
void * |
data, |
|
|
uint32_t |
len |
|
) |
| |
Read HW context (CPTR).
- Parameters
-
| qptr | Pointer obtained with rte_pmd_cnxk_crypto_qptr_get . |
| cptr | Pointer obtained with rte_pmd_cnxk_crypto_cptr_get or any valid CPTR address that can be used with CPT CTX cache. |
[out] | data | Destination pointer to copy CPTR context for application. |
| len | Length of CPTR context to copy into data parameter. |
- Returns
- 0 On success.
- Negative value on error.
- -EINVAL if the input parameters are invalid.
- -ENOTSUP if the operation is not supported.
- -EAGAIN if the operation is not successful.
- -EFAULT if the operation failed.
◆ rte_pmd_cnxk_crypto_cptr_write()
__rte_experimental int rte_pmd_cnxk_crypto_cptr_write |
( |
struct rte_pmd_cnxk_crypto_qptr * |
qptr, |
|
|
struct rte_pmd_cnxk_crypto_cptr * |
cptr, |
|
|
void * |
data, |
|
|
uint32_t |
len |
|
) |
| |
Write HW context (CPTR).
- Parameters
-
qptr | Pointer obtained with rte_pmd_cnxk_crypto_qptr_get . |
cptr | Pointer obtained with rte_pmd_cnxk_crypto_cptr_get or any valid CPTR address that can be used with CPT CTX cache. |
data | Source pointer to copy CPTR context from application. |
len | Length of CPTR context to copy from data parameter. |
- Returns
- 0 On success.
- Negative value on error.
- -EINVAL if the input parameters are invalid.
- -ENOTSUP if the operation is not supported.
- -EAGAIN if the operation is not successful.
- -EFAULT if the operation failed.
◆ rte_pmd_cnxk_crypto_qp_stats_get()
__rte_experimental int rte_pmd_cnxk_crypto_qp_stats_get |
( |
struct rte_pmd_cnxk_crypto_qptr * |
qptr, |
|
|
struct rte_pmd_cnxk_crypto_qp_stats * |
stats |
|
) |
| |
Get the HW Queue Pair (LF) stats.
- Parameters
-
| qptr | Pointer obtained with rte_pmd_cnxk_crypto_qptr_get . |
[out] | stats | Pointer to the structure where stats will be copied. |
- Returns
- 0 On success.
- Negative value on error.
- -EINVAL if the input parameters are invalid.