xref: /linux/drivers/net/ethernet/marvell/octeontx2/nic/otx2_struct.h (revision 0ea5c948cb64bab5bc7a5516774eb8536f05aa0d)
105fcc9e0SSunil Goutham /* SPDX-License-Identifier: GPL-2.0 */
2cb0e3ec4SSunil Goutham /* Marvell RVU Ethernet driver
305fcc9e0SSunil Goutham  *
4cb0e3ec4SSunil Goutham  * Copyright (C) 2020 Marvell.
505fcc9e0SSunil Goutham  *
605fcc9e0SSunil Goutham  */
705fcc9e0SSunil Goutham 
805fcc9e0SSunil Goutham #ifndef OTX2_STRUCT_H
905fcc9e0SSunil Goutham #define OTX2_STRUCT_H
1005fcc9e0SSunil Goutham 
1105fcc9e0SSunil Goutham /* NIX WQE/CQE size 128 byte or 512 byte */
1205fcc9e0SSunil Goutham enum nix_cqesz_e {
1305fcc9e0SSunil Goutham 	NIX_XQESZ_W64 = 0x0,
1405fcc9e0SSunil Goutham 	NIX_XQESZ_W16 = 0x1,
1505fcc9e0SSunil Goutham };
1605fcc9e0SSunil Goutham 
17caa2da34SSunil Goutham enum nix_sqes_e {
18caa2da34SSunil Goutham 	NIX_SQESZ_W16 = 0x0,
19caa2da34SSunil Goutham 	NIX_SQESZ_W8 = 0x1,
20caa2da34SSunil Goutham };
21caa2da34SSunil Goutham 
22caa2da34SSunil Goutham enum nix_send_ldtype {
23caa2da34SSunil Goutham 	NIX_SEND_LDTYPE_LDD  = 0x0,
24caa2da34SSunil Goutham 	NIX_SEND_LDTYPE_LDT  = 0x1,
25caa2da34SSunil Goutham 	NIX_SEND_LDTYPE_LDWB = 0x2,
26caa2da34SSunil Goutham };
27caa2da34SSunil Goutham 
283ca6c4c8SSunil Goutham /* CSUM offload */
293ca6c4c8SSunil Goutham enum nix_sendl3type {
303ca6c4c8SSunil Goutham 	NIX_SENDL3TYPE_NONE = 0x0,
313ca6c4c8SSunil Goutham 	NIX_SENDL3TYPE_IP4 = 0x2,
323ca6c4c8SSunil Goutham 	NIX_SENDL3TYPE_IP4_CKSUM = 0x3,
333ca6c4c8SSunil Goutham 	NIX_SENDL3TYPE_IP6 = 0x4,
343ca6c4c8SSunil Goutham };
353ca6c4c8SSunil Goutham 
363ca6c4c8SSunil Goutham enum nix_sendl4type {
373ca6c4c8SSunil Goutham 	NIX_SENDL4TYPE_NONE,
383ca6c4c8SSunil Goutham 	NIX_SENDL4TYPE_TCP_CKSUM,
393ca6c4c8SSunil Goutham 	NIX_SENDL4TYPE_SCTP_CKSUM,
403ca6c4c8SSunil Goutham 	NIX_SENDL4TYPE_UDP_CKSUM,
413ca6c4c8SSunil Goutham };
423ca6c4c8SSunil Goutham 
43abe02543SSunil Goutham /* NIX wqe/cqe types */
44abe02543SSunil Goutham enum nix_xqe_type {
45abe02543SSunil Goutham 	NIX_XQE_TYPE_INVALID   = 0x0,
46abe02543SSunil Goutham 	NIX_XQE_TYPE_RX        = 0x1,
47abe02543SSunil Goutham 	NIX_XQE_TYPE_RX_IPSECS = 0x2,
48abe02543SSunil Goutham 	NIX_XQE_TYPE_RX_IPSECH = 0x3,
49abe02543SSunil Goutham 	NIX_XQE_TYPE_RX_IPSECD = 0x4,
50abe02543SSunil Goutham 	NIX_XQE_TYPE_SEND      = 0x8,
51abe02543SSunil Goutham };
52abe02543SSunil Goutham 
53abe02543SSunil Goutham /* NIX CQE/SQE subdescriptor types */
54abe02543SSunil Goutham enum nix_subdc {
55abe02543SSunil Goutham 	NIX_SUBDC_NOP  = 0x0,
56abe02543SSunil Goutham 	NIX_SUBDC_EXT  = 0x1,
57abe02543SSunil Goutham 	NIX_SUBDC_CRC  = 0x2,
58abe02543SSunil Goutham 	NIX_SUBDC_IMM  = 0x3,
59abe02543SSunil Goutham 	NIX_SUBDC_SG   = 0x4,
60abe02543SSunil Goutham 	NIX_SUBDC_MEM  = 0x5,
61abe02543SSunil Goutham 	NIX_SUBDC_JUMP = 0x6,
62abe02543SSunil Goutham 	NIX_SUBDC_WORK = 0x7,
63abe02543SSunil Goutham 	NIX_SUBDC_SOD  = 0xf,
64abe02543SSunil Goutham };
65abe02543SSunil Goutham 
663ca6c4c8SSunil Goutham /* Algorithm for nix_sqe_mem_s header (value of the `alg` field) */
673ca6c4c8SSunil Goutham enum nix_sendmemalg {
683ca6c4c8SSunil Goutham 	NIX_SENDMEMALG_E_SET       = 0x0,
693ca6c4c8SSunil Goutham 	NIX_SENDMEMALG_E_SETTSTMP  = 0x1,
703ca6c4c8SSunil Goutham 	NIX_SENDMEMALG_E_SETRSLT   = 0x2,
713ca6c4c8SSunil Goutham 	NIX_SENDMEMALG_E_ADD       = 0x8,
723ca6c4c8SSunil Goutham 	NIX_SENDMEMALG_E_SUB       = 0x9,
733ca6c4c8SSunil Goutham 	NIX_SENDMEMALG_E_ADDLEN    = 0xa,
743ca6c4c8SSunil Goutham 	NIX_SENDMEMALG_E_SUBLEN    = 0xb,
753ca6c4c8SSunil Goutham 	NIX_SENDMEMALG_E_ADDMBUF   = 0xc,
763ca6c4c8SSunil Goutham 	NIX_SENDMEMALG_E_SUBMBUF   = 0xd,
773ca6c4c8SSunil Goutham 	NIX_SENDMEMALG_E_ENUM_LAST = 0xe,
783ca6c4c8SSunil Goutham };
793ca6c4c8SSunil Goutham 
80abe02543SSunil Goutham /* NIX CQE header structure */
81abe02543SSunil Goutham struct nix_cqe_hdr_s {
82abe02543SSunil Goutham 	u64 flow_tag              : 32;
83abe02543SSunil Goutham 	u64 q                     : 20;
84abe02543SSunil Goutham 	u64 reserved_52_57        : 6;
85abe02543SSunil Goutham 	u64 node                  : 2;
86abe02543SSunil Goutham 	u64 cqe_type              : 4;
87abe02543SSunil Goutham };
88abe02543SSunil Goutham 
89abe02543SSunil Goutham /* NIX CQE RX parse structure */
90abe02543SSunil Goutham struct nix_rx_parse_s {
91abe02543SSunil Goutham 	u64 chan         : 12;
92abe02543SSunil Goutham 	u64 desc_sizem1  : 5;
93abe02543SSunil Goutham 	u64 rsvd_17      : 1;
94abe02543SSunil Goutham 	u64 express      : 1;
95abe02543SSunil Goutham 	u64 wqwd         : 1;
96abe02543SSunil Goutham 	u64 errlev       : 4;
97abe02543SSunil Goutham 	u64 errcode      : 8;
98abe02543SSunil Goutham 	u64 latype       : 4;
99abe02543SSunil Goutham 	u64 lbtype       : 4;
100abe02543SSunil Goutham 	u64 lctype       : 4;
101abe02543SSunil Goutham 	u64 ldtype       : 4;
102abe02543SSunil Goutham 	u64 letype       : 4;
103abe02543SSunil Goutham 	u64 lftype       : 4;
104abe02543SSunil Goutham 	u64 lgtype       : 4;
105abe02543SSunil Goutham 	u64 lhtype       : 4;
106abe02543SSunil Goutham 	u64 pkt_lenm1    : 16; /* W1 */
107abe02543SSunil Goutham 	u64 l2m          : 1;
108abe02543SSunil Goutham 	u64 l2b          : 1;
109abe02543SSunil Goutham 	u64 l3m          : 1;
110abe02543SSunil Goutham 	u64 l3b          : 1;
111abe02543SSunil Goutham 	u64 vtag0_valid  : 1;
112abe02543SSunil Goutham 	u64 vtag0_gone   : 1;
113abe02543SSunil Goutham 	u64 vtag1_valid  : 1;
114abe02543SSunil Goutham 	u64 vtag1_gone   : 1;
115abe02543SSunil Goutham 	u64 pkind        : 6;
116abe02543SSunil Goutham 	u64 rsvd_95_94   : 2;
117abe02543SSunil Goutham 	u64 vtag0_tci    : 16;
118abe02543SSunil Goutham 	u64 vtag1_tci    : 16;
119abe02543SSunil Goutham 	u64 laflags      : 8; /* W2 */
120abe02543SSunil Goutham 	u64 lbflags      : 8;
121abe02543SSunil Goutham 	u64 lcflags      : 8;
122abe02543SSunil Goutham 	u64 ldflags      : 8;
123abe02543SSunil Goutham 	u64 leflags      : 8;
124abe02543SSunil Goutham 	u64 lfflags      : 8;
125abe02543SSunil Goutham 	u64 lgflags      : 8;
126abe02543SSunil Goutham 	u64 lhflags      : 8;
127abe02543SSunil Goutham 	u64 eoh_ptr      : 8; /* W3 */
128abe02543SSunil Goutham 	u64 wqe_aura     : 20;
129abe02543SSunil Goutham 	u64 pb_aura      : 20;
130abe02543SSunil Goutham 	u64 match_id     : 16;
131abe02543SSunil Goutham 	u64 laptr        : 8; /* W4 */
132abe02543SSunil Goutham 	u64 lbptr        : 8;
133abe02543SSunil Goutham 	u64 lcptr        : 8;
134abe02543SSunil Goutham 	u64 ldptr        : 8;
135abe02543SSunil Goutham 	u64 leptr        : 8;
136abe02543SSunil Goutham 	u64 lfptr        : 8;
137abe02543SSunil Goutham 	u64 lgptr        : 8;
138abe02543SSunil Goutham 	u64 lhptr        : 8;
139abe02543SSunil Goutham 	u64 vtag0_ptr    : 8; /* W5 */
140abe02543SSunil Goutham 	u64 vtag1_ptr    : 8;
141abe02543SSunil Goutham 	u64 flow_key_alg : 5;
142d21a8575SGeetha sowjanya 	u64 rsvd_359_341 : 19;
143d21a8575SGeetha sowjanya 	u64 color	 : 2;
144d21a8575SGeetha sowjanya 	u64 rsvd_383_362 : 22;
145abe02543SSunil Goutham 	u64 rsvd_447_384;     /* W6 */
146abe02543SSunil Goutham };
147abe02543SSunil Goutham 
148abe02543SSunil Goutham /* NIX CQE RX scatter/gather subdescriptor structure */
149abe02543SSunil Goutham struct nix_rx_sg_s {
150abe02543SSunil Goutham 	u64 seg_size   : 16; /* W0 */
151abe02543SSunil Goutham 	u64 seg2_size  : 16;
152abe02543SSunil Goutham 	u64 seg3_size  : 16;
153abe02543SSunil Goutham 	u64 segs       : 2;
154abe02543SSunil Goutham 	u64 rsvd_59_50 : 10;
155abe02543SSunil Goutham 	u64 subdc      : 4;
156abe02543SSunil Goutham 	u64 seg_addr;
157abe02543SSunil Goutham 	u64 seg2_addr;
158abe02543SSunil Goutham 	u64 seg3_addr;
159abe02543SSunil Goutham };
160abe02543SSunil Goutham 
1613ca6c4c8SSunil Goutham struct nix_send_comp_s {
1623ca6c4c8SSunil Goutham 	u64 status	: 8;
1633ca6c4c8SSunil Goutham 	u64 sqe_id	: 16;
1643ca6c4c8SSunil Goutham 	u64 rsvd_24_63	: 40;
1653ca6c4c8SSunil Goutham };
1663ca6c4c8SSunil Goutham 
167abe02543SSunil Goutham struct nix_cqe_rx_s {
168abe02543SSunil Goutham 	struct nix_cqe_hdr_s  hdr;
169abe02543SSunil Goutham 	struct nix_rx_parse_s parse;
170abe02543SSunil Goutham 	struct nix_rx_sg_s sg;
171abe02543SSunil Goutham };
172abe02543SSunil Goutham 
1733ca6c4c8SSunil Goutham struct nix_cqe_tx_s {
1743ca6c4c8SSunil Goutham 	struct nix_cqe_hdr_s  hdr;
1753ca6c4c8SSunil Goutham 	struct nix_send_comp_s comp;
1763ca6c4c8SSunil Goutham };
1773ca6c4c8SSunil Goutham 
1783ca6c4c8SSunil Goutham /* NIX SQE header structure */
1793ca6c4c8SSunil Goutham struct nix_sqe_hdr_s {
1803ca6c4c8SSunil Goutham 	u64 total		: 18; /* W0 */
1813ca6c4c8SSunil Goutham 	u64 reserved_18		: 1;
1823ca6c4c8SSunil Goutham 	u64 df			: 1;
1833ca6c4c8SSunil Goutham 	u64 aura		: 20;
1843ca6c4c8SSunil Goutham 	u64 sizem1		: 3;
1853ca6c4c8SSunil Goutham 	u64 pnc			: 1;
1863ca6c4c8SSunil Goutham 	u64 sq			: 20;
1873ca6c4c8SSunil Goutham 	u64 ol3ptr		: 8; /* W1 */
1883ca6c4c8SSunil Goutham 	u64 ol4ptr		: 8;
1893ca6c4c8SSunil Goutham 	u64 il3ptr		: 8;
1903ca6c4c8SSunil Goutham 	u64 il4ptr		: 8;
1913ca6c4c8SSunil Goutham 	u64 ol3type		: 4;
1923ca6c4c8SSunil Goutham 	u64 ol4type		: 4;
1933ca6c4c8SSunil Goutham 	u64 il3type		: 4;
1943ca6c4c8SSunil Goutham 	u64 il4type		: 4;
1953ca6c4c8SSunil Goutham 	u64 sqe_id		: 16;
1963ca6c4c8SSunil Goutham 
1973ca6c4c8SSunil Goutham };
1983ca6c4c8SSunil Goutham 
1993ca6c4c8SSunil Goutham /* NIX send extended header subdescriptor structure */
2003ca6c4c8SSunil Goutham struct nix_sqe_ext_s {
2013ca6c4c8SSunil Goutham 	u64 lso_mps       : 14; /* W0 */
2023ca6c4c8SSunil Goutham 	u64 lso           : 1;
2033ca6c4c8SSunil Goutham 	u64 tstmp         : 1;
2043ca6c4c8SSunil Goutham 	u64 lso_sb        : 8;
2053ca6c4c8SSunil Goutham 	u64 lso_format    : 5;
2063ca6c4c8SSunil Goutham 	u64 rsvd_31_29    : 3;
2073ca6c4c8SSunil Goutham 	u64 shp_chg       : 9;
2083ca6c4c8SSunil Goutham 	u64 shp_dis       : 1;
2093ca6c4c8SSunil Goutham 	u64 shp_ra        : 2;
2103ca6c4c8SSunil Goutham 	u64 markptr       : 8;
2113ca6c4c8SSunil Goutham 	u64 markform      : 7;
2123ca6c4c8SSunil Goutham 	u64 mark_en       : 1;
2133ca6c4c8SSunil Goutham 	u64 subdc         : 4;
2143ca6c4c8SSunil Goutham 	u64 vlan0_ins_ptr : 8; /* W1 */
2153ca6c4c8SSunil Goutham 	u64 vlan0_ins_tci : 16;
2163ca6c4c8SSunil Goutham 	u64 vlan1_ins_ptr : 8;
2173ca6c4c8SSunil Goutham 	u64 vlan1_ins_tci : 16;
2183ca6c4c8SSunil Goutham 	u64 vlan0_ins_ena : 1;
2193ca6c4c8SSunil Goutham 	u64 vlan1_ins_ena : 1;
220d21a8575SGeetha sowjanya 	u64 init_color    : 2;
221d21a8575SGeetha sowjanya 	u64 rsvd_127_116  : 12;
2223ca6c4c8SSunil Goutham };
2233ca6c4c8SSunil Goutham 
2243ca6c4c8SSunil Goutham struct nix_sqe_sg_s {
2253ca6c4c8SSunil Goutham 	u64 seg1_size	: 16;
2263ca6c4c8SSunil Goutham 	u64 seg2_size	: 16;
2273ca6c4c8SSunil Goutham 	u64 seg3_size	: 16;
2283ca6c4c8SSunil Goutham 	u64 segs	: 2;
2293ca6c4c8SSunil Goutham 	u64 rsvd_54_50	: 5;
2303ca6c4c8SSunil Goutham 	u64 i1		: 1;
2313ca6c4c8SSunil Goutham 	u64 i2		: 1;
2323ca6c4c8SSunil Goutham 	u64 i3		: 1;
2333ca6c4c8SSunil Goutham 	u64 ld_type	: 2;
2343ca6c4c8SSunil Goutham 	u64 subdc	: 4;
2353ca6c4c8SSunil Goutham };
2363ca6c4c8SSunil Goutham 
2373ca6c4c8SSunil Goutham /* NIX send memory subdescriptor structure */
2383ca6c4c8SSunil Goutham struct nix_sqe_mem_s {
2392958d17aSHariprasad Kelam 	u64 start_offset  : 8;
2402958d17aSHariprasad Kelam 	u64 rsvd_11_8	  : 4;
2412958d17aSHariprasad Kelam 	u64 rsvd_12	  : 1;
2422958d17aSHariprasad Kelam 	u64 udp_csum_crt  : 1;
2432958d17aSHariprasad Kelam 	u64 update64      : 1;
2442958d17aSHariprasad Kelam 	u64 rsvd_15_16    : 1;
2452958d17aSHariprasad Kelam 	u64 base_ns       : 32;
2462958d17aSHariprasad Kelam 	u64 step_type     : 1;
2472958d17aSHariprasad Kelam 	u64 rsvd_51_49    : 3;
248d21a8575SGeetha sowjanya 	u64 per_lso_seg   : 1;
2493ca6c4c8SSunil Goutham 	u64 wmem          : 1;
2503ca6c4c8SSunil Goutham 	u64 dsz           : 2;
2513ca6c4c8SSunil Goutham 	u64 alg           : 4;
2523ca6c4c8SSunil Goutham 	u64 subdc         : 4;
2533ca6c4c8SSunil Goutham 	u64 addr; /* W1 */
2543ca6c4c8SSunil Goutham };
2553ca6c4c8SSunil Goutham 
2564ff7d148SGeetha sowjanya enum nix_cqerrint_e {
2574ff7d148SGeetha sowjanya 	NIX_CQERRINT_DOOR_ERR = 0,
2584ff7d148SGeetha sowjanya 	NIX_CQERRINT_WR_FULL = 1,
2594ff7d148SGeetha sowjanya 	NIX_CQERRINT_CQE_FAULT = 2,
2604ff7d148SGeetha sowjanya };
2614ff7d148SGeetha sowjanya 
2624ff7d148SGeetha sowjanya #define NIX_CQERRINT_BITS (BIT_ULL(NIX_CQERRINT_DOOR_ERR) | \
2634ff7d148SGeetha sowjanya 			   BIT_ULL(NIX_CQERRINT_CQE_FAULT))
2644ff7d148SGeetha sowjanya 
2654ff7d148SGeetha sowjanya enum nix_rqint_e {
2664ff7d148SGeetha sowjanya 	NIX_RQINT_DROP = 0,
2674ff7d148SGeetha sowjanya 	NIX_RQINT_RED = 1,
2684ff7d148SGeetha sowjanya };
2694ff7d148SGeetha sowjanya 
2704ff7d148SGeetha sowjanya #define NIX_RQINT_BITS (BIT_ULL(NIX_RQINT_DROP) | BIT_ULL(NIX_RQINT_RED))
2714ff7d148SGeetha sowjanya 
2724ff7d148SGeetha sowjanya enum nix_sqint_e {
2734ff7d148SGeetha sowjanya 	NIX_SQINT_LMT_ERR = 0,
2744ff7d148SGeetha sowjanya 	NIX_SQINT_MNQ_ERR = 1,
2754ff7d148SGeetha sowjanya 	NIX_SQINT_SEND_ERR = 2,
2764ff7d148SGeetha sowjanya 	NIX_SQINT_SQB_ALLOC_FAIL = 3,
2774ff7d148SGeetha sowjanya };
2784ff7d148SGeetha sowjanya 
2794ff7d148SGeetha sowjanya #define NIX_SQINT_BITS (BIT_ULL(NIX_SQINT_LMT_ERR) | \
2804ff7d148SGeetha sowjanya 			BIT_ULL(NIX_SQINT_MNQ_ERR) | \
2814ff7d148SGeetha sowjanya 			BIT_ULL(NIX_SQINT_SEND_ERR) | \
2824ff7d148SGeetha sowjanya 			BIT_ULL(NIX_SQINT_SQB_ALLOC_FAIL))
2834ff7d148SGeetha sowjanya 
28451afe902SRatheesh Kannoth enum nix_sqoperr_e {
28551afe902SRatheesh Kannoth 	NIX_SQOPERR_OOR = 0,
28651afe902SRatheesh Kannoth 	NIX_SQOPERR_CTX_FAULT = 1,
28751afe902SRatheesh Kannoth 	NIX_SQOPERR_CTX_POISON = 2,
28851afe902SRatheesh Kannoth 	NIX_SQOPERR_DISABLED = 3,
28951afe902SRatheesh Kannoth 	NIX_SQOPERR_SIZE_ERR = 4,
29051afe902SRatheesh Kannoth 	NIX_SQOPERR_OFLOW = 5,
29151afe902SRatheesh Kannoth 	NIX_SQOPERR_SQB_NULL = 6,
29251afe902SRatheesh Kannoth 	NIX_SQOPERR_SQB_FAULT = 7,
29351afe902SRatheesh Kannoth 	NIX_SQOPERR_SQE_SZ_ZERO = 8,
29451afe902SRatheesh Kannoth 	NIX_SQOPERR_MAX,
29551afe902SRatheesh Kannoth };
29651afe902SRatheesh Kannoth 
29751afe902SRatheesh Kannoth enum nix_mnqerr_e {
29851afe902SRatheesh Kannoth 	NIX_MNQERR_SQ_CTX_FAULT = 0,
29951afe902SRatheesh Kannoth 	NIX_MNQERR_SQ_CTX_POISON = 1,
30051afe902SRatheesh Kannoth 	NIX_MNQERR_SQB_FAULT = 2,
30151afe902SRatheesh Kannoth 	NIX_MNQERR_SQB_POISON = 3,
30251afe902SRatheesh Kannoth 	NIX_MNQERR_TOTAL_ERR = 4,
30351afe902SRatheesh Kannoth 	NIX_MNQERR_LSO_ERR = 5,
30451afe902SRatheesh Kannoth 	NIX_MNQERR_CQ_QUERY_ERR = 6,
30551afe902SRatheesh Kannoth 	NIX_MNQERR_MAX_SQE_SIZE_ERR = 7,
30651afe902SRatheesh Kannoth 	NIX_MNQERR_MAXLEN_ERR = 8,
30751afe902SRatheesh Kannoth 	NIX_MNQERR_SQE_SIZEM1_ZERO = 9,
30851afe902SRatheesh Kannoth 	NIX_MNQERR_MAX,
30951afe902SRatheesh Kannoth };
31051afe902SRatheesh Kannoth 
31151afe902SRatheesh Kannoth enum nix_snd_status_e {
31251afe902SRatheesh Kannoth 	NIX_SND_STATUS_GOOD = 0x0,
31351afe902SRatheesh Kannoth 	NIX_SND_STATUS_SQ_CTX_FAULT = 0x1,
31451afe902SRatheesh Kannoth 	NIX_SND_STATUS_SQ_CTX_POISON = 0x2,
31551afe902SRatheesh Kannoth 	NIX_SND_STATUS_SQB_FAULT = 0x3,
31651afe902SRatheesh Kannoth 	NIX_SND_STATUS_SQB_POISON = 0x4,
31751afe902SRatheesh Kannoth 	NIX_SND_STATUS_HDR_ERR = 0x5,
31851afe902SRatheesh Kannoth 	NIX_SND_STATUS_EXT_ERR = 0x6,
31951afe902SRatheesh Kannoth 	NIX_SND_STATUS_JUMP_FAULT = 0x7,
32051afe902SRatheesh Kannoth 	NIX_SND_STATUS_JUMP_POISON = 0x8,
321*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_CRC_ERR = 0x10,
322*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_IMM_ERR = 0x11,
323*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_SG_ERR = 0x12,
324*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_MEM_ERR = 0x13,
325*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_INVALID_SUBDC = 0x14,
326*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_SUBDC_ORDER_ERR = 0x15,
327*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_DATA_FAULT = 0x16,
328*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_DATA_POISON = 0x17,
329*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_NPC_DROP_ACTION = 0x20,
330*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_LOCK_VIOL = 0x21,
331*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_NPC_UCAST_CHAN_ERR = 0x22,
332*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_NPC_MCAST_CHAN_ERR = 0x23,
333*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_NPC_MCAST_ABORT = 0x24,
334*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_NPC_VTAG_PTR_ERR = 0x25,
335*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_NPC_VTAG_SIZE_ERR = 0x26,
336*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_SEND_MEM_FAULT = 0x27,
337*96b9a68dSRatheesh Kannoth 	NIX_SND_STATUS_SEND_STATS_ERR = 0x28,
33851afe902SRatheesh Kannoth 	NIX_SND_STATUS_MAX,
33951afe902SRatheesh Kannoth };
34051afe902SRatheesh Kannoth 
34105fcc9e0SSunil Goutham #endif /* OTX2_STRUCT_H */
342