f-stack/dpdk/drivers/common/cnxk/roc_dpi.h

47 lines
996 B
C

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(C) 2021 Marvell.
*/
#ifndef _ROC_DPI_H_
#define _ROC_DPI_H_
struct roc_dpi_args {
uint8_t num_ssegs;
uint8_t num_dsegs;
uint8_t comp_type;
uint8_t direction;
uint8_t sdevice;
uint8_t ddevice;
uint8_t swap;
uint8_t use_lock : 1;
uint8_t tt : 7;
uint16_t func;
uint16_t grp;
uint32_t tag;
uint64_t comp_ptr;
};
struct roc_dpi {
/* Input parameters */
struct plt_pci_device *pci_dev;
/* End of Input parameters */
const struct plt_memzone *mz;
uint8_t *rbase;
uint16_t vfid;
uint16_t pool_size_m1;
uint16_t chunk_head;
uint64_t *chunk_base;
uint64_t *chunk_next;
uint64_t aura_handle;
plt_spinlock_t chunk_lock;
} __plt_cache_aligned;
int __roc_api roc_dpi_dev_init(struct roc_dpi *roc_dpi);
int __roc_api roc_dpi_dev_fini(struct roc_dpi *roc_dpi);
int __roc_api roc_dpi_configure(struct roc_dpi *dpi);
int __roc_api roc_dpi_enable(struct roc_dpi *dpi);
int __roc_api roc_dpi_disable(struct roc_dpi *dpi);
#endif