numam-dpdk/drivers/common/cnxk/roc_npa_priv.h
Ashwin Sekhar T K e67f633e48 common/cnxk: support NPA IRQ
Add support for NPA IRQs.

Signed-off-by: Ashwin Sekhar T K <asekhar@marvell.com>
Acked-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2021-04-09 08:32:24 +02:00

64 lines
1.2 KiB
C

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(C) 2021 Marvell.
*/
#ifndef _ROC_NPA_PRIV_H_
#define _ROC_NPA_PRIV_H_
enum npa_error_status {
NPA_ERR_PARAM = -512,
NPA_ERR_ALLOC = -513,
NPA_ERR_INVALID_BLOCK_SZ = -514,
NPA_ERR_AURA_ID_ALLOC = -515,
NPA_ERR_AURA_POOL_INIT = -516,
NPA_ERR_AURA_POOL_FINI = -517,
NPA_ERR_BASE_INVALID = -518,
NPA_ERR_DEVICE_NOT_BOUNDED = -519,
};
struct npa_lf {
struct plt_intr_handle *intr_handle;
struct npa_aura_lim *aura_lim;
struct plt_pci_device *pci_dev;
struct plt_bitmap *npa_bmp;
struct mbox *mbox;
uint32_t stack_pg_ptrs;
uint32_t stack_pg_bytes;
uint16_t npa_msixoff;
void *npa_qint_mem;
void *npa_bmp_mem;
uint32_t nr_pools;
uint16_t pf_func;
uint8_t aura_sz;
uint32_t qints;
uintptr_t base;
};
struct npa_qint {
struct npa_lf *lf;
uint8_t qintx;
};
struct npa_aura_lim {
uint64_t ptr_start;
uint64_t ptr_end;
};
struct dev;
static inline struct npa *
roc_npa_to_npa_priv(struct roc_npa *roc_npa)
{
return (struct npa *)&roc_npa->reserved[0];
}
/* NPA lf */
int npa_lf_init(struct dev *dev, struct plt_pci_device *pci_dev);
int npa_lf_fini(void);
/* IRQ */
int npa_register_irqs(struct npa_lf *lf);
void npa_unregister_irqs(struct npa_lf *lf);
#endif /* _ROC_NPA_PRIV_H_ */