e67f633e48
Add support for NPA IRQs. Signed-off-by: Ashwin Sekhar T K <asekhar@marvell.com> Acked-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
64 lines
1.2 KiB
C
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_ */
|