common/cnxk: use wider mask to extract RPM ID
[dpdk.git] / drivers / common / cnxk / roc_dpi.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2021 Marvell.
3  */
4
5 #ifndef _ROC_DPI_H_
6 #define _ROC_DPI_H_
7
8 struct roc_dpi_args {
9         uint8_t num_ssegs;
10         uint8_t num_dsegs;
11         uint8_t comp_type;
12         uint8_t direction;
13         uint8_t sdevice;
14         uint8_t ddevice;
15         uint8_t swap;
16         uint8_t use_lock : 1;
17         uint8_t tt : 7;
18         uint16_t func;
19         uint16_t grp;
20         uint32_t tag;
21         uint64_t comp_ptr;
22 };
23
24 struct roc_dpi {
25         /* Input parameters */
26         struct plt_pci_device *pci_dev;
27         /* End of Input parameters */
28         const struct plt_memzone *mz;
29         uint8_t *rbase;
30         uint16_t vfid;
31         uint16_t pool_size_m1;
32         uint16_t chunk_head;
33         uint64_t *chunk_base;
34         uint64_t *chunk_next;
35         uint64_t aura_handle;
36         plt_spinlock_t chunk_lock;
37 } __plt_cache_aligned;
38
39 int __roc_api roc_dpi_dev_init(struct roc_dpi *roc_dpi);
40 int __roc_api roc_dpi_dev_fini(struct roc_dpi *roc_dpi);
41
42 int __roc_api roc_dpi_configure(struct roc_dpi *dpi);
43 int __roc_api roc_dpi_enable(struct roc_dpi *dpi);
44 int __roc_api roc_dpi_disable(struct roc_dpi *dpi);
45
46 #endif