xref: /linux/drivers/net/ethernet/marvell/octeontx2/af/cn20k/struct.h (revision 8be4d31cb8aaeea27bde4b7ddb26e28a89062ebf)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Marvell RVU Admin Function driver
3  *
4  * Copyright (C) 2024 Marvell.
5  *
6  */
7 
8 #ifndef STRUCT_H
9 #define STRUCT_H
10 
11 /*
12  * CN20k RVU PF MBOX Interrupt Vector Enumeration
13  *
14  * Vectors 0 - 3 are compatible with pre cn20k and hence
15  * existing macros are being reused.
16  */
17 enum rvu_mbox_pf_int_vec_e {
18 	RVU_MBOX_PF_INT_VEC_VFPF_MBOX0	= 0x4,
19 	RVU_MBOX_PF_INT_VEC_VFPF_MBOX1	= 0x5,
20 	RVU_MBOX_PF_INT_VEC_VFPF1_MBOX0	= 0x6,
21 	RVU_MBOX_PF_INT_VEC_VFPF1_MBOX1	= 0x7,
22 	RVU_MBOX_PF_INT_VEC_AFPF_MBOX	= 0x8,
23 	RVU_MBOX_PF_INT_VEC_CNT		= 0x9,
24 };
25 
26 /* RVU Admin function Interrupt Vector Enumeration */
27 enum rvu_af_cn20k_int_vec_e {
28 	RVU_AF_CN20K_INT_VEC_POISON		= 0x0,
29 	RVU_AF_CN20K_INT_VEC_PFFLR0		= 0x1,
30 	RVU_AF_CN20K_INT_VEC_PFFLR1		= 0x2,
31 	RVU_AF_CN20K_INT_VEC_PFME0		= 0x3,
32 	RVU_AF_CN20K_INT_VEC_PFME1		= 0x4,
33 	RVU_AF_CN20K_INT_VEC_GEN		= 0x5,
34 	RVU_AF_CN20K_INT_VEC_PFAF_MBOX0		= 0x6,
35 	RVU_AF_CN20K_INT_VEC_PFAF_MBOX1		= 0x7,
36 	RVU_AF_CN20K_INT_VEC_PFAF1_MBOX0	= 0x8,
37 	RVU_AF_CN20K_INT_VEC_PFAF1_MBOX1	= 0x9,
38 	RVU_AF_CN20K_INT_VEC_CNT		= 0xa,
39 };
40 #endif
41