xref: /wlan-driver/fw-api/hw/peach/v1/reo_entrance_ring.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
3*5113495bSYour Name  *
4*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for any
5*5113495bSYour Name  * purpose with or without fee is hereby granted, provided that the above
6*5113495bSYour Name  * copyright notice and this permission notice appear in all copies.
7*5113495bSYour Name  *
8*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9*5113495bSYour Name  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10*5113495bSYour Name  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11*5113495bSYour Name  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12*5113495bSYour Name  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13*5113495bSYour Name  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14*5113495bSYour Name  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15*5113495bSYour Name  */
16*5113495bSYour Name 
17*5113495bSYour Name 
18*5113495bSYour Name #ifndef _REO_ENTRANCE_RING_H_
19*5113495bSYour Name #define _REO_ENTRANCE_RING_H_
20*5113495bSYour Name 
21*5113495bSYour Name #include "rx_mpdu_details.h"
22*5113495bSYour Name #define NUM_OF_DWORDS_REO_ENTRANCE_RING 8
23*5113495bSYour Name 
24*5113495bSYour Name struct reo_entrance_ring {
25*5113495bSYour Name #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
26*5113495bSYour Name              struct   rx_mpdu_details                                           reo_level_mpdu_frame_info;
27*5113495bSYour Name              uint32_t rx_reo_queue_desc_addr_31_0                             : 32;
28*5113495bSYour Name              uint32_t rx_reo_queue_desc_addr_39_32                            :  8,
29*5113495bSYour Name                       rounded_mpdu_byte_count                                 : 14,
30*5113495bSYour Name                       reo_destination_indication                              :  5,
31*5113495bSYour Name                       frameless_bar                                           :  1,
32*5113495bSYour Name                       reserved_5a                                             :  4;
33*5113495bSYour Name              uint32_t rxdma_push_reason                                       :  2,
34*5113495bSYour Name                       rxdma_error_code                                        :  5,
35*5113495bSYour Name                       mpdu_fragment_number                                    :  4,
36*5113495bSYour Name                       sw_exception                                            :  1,
37*5113495bSYour Name                       sw_exception_mpdu_delink                                :  1,
38*5113495bSYour Name                       sw_exception_destination_ring_valid                     :  1,
39*5113495bSYour Name                       sw_exception_destination_ring                           :  5,
40*5113495bSYour Name                       mpdu_sequence_number                                    : 12,
41*5113495bSYour Name                       reserved_6a                                             :  1;
42*5113495bSYour Name              uint32_t phy_ppdu_id                                             : 16,
43*5113495bSYour Name                       src_link_id                                             :  3,
44*5113495bSYour Name                       reserved_7a                                             :  1,
45*5113495bSYour Name                       ring_id                                                 :  8,
46*5113495bSYour Name                       looping_count                                           :  4;
47*5113495bSYour Name #else
48*5113495bSYour Name              struct   rx_mpdu_details                                           reo_level_mpdu_frame_info;
49*5113495bSYour Name              uint32_t rx_reo_queue_desc_addr_31_0                             : 32;
50*5113495bSYour Name              uint32_t reserved_5a                                             :  4,
51*5113495bSYour Name                       frameless_bar                                           :  1,
52*5113495bSYour Name                       reo_destination_indication                              :  5,
53*5113495bSYour Name                       rounded_mpdu_byte_count                                 : 14,
54*5113495bSYour Name                       rx_reo_queue_desc_addr_39_32                            :  8;
55*5113495bSYour Name              uint32_t reserved_6a                                             :  1,
56*5113495bSYour Name                       mpdu_sequence_number                                    : 12,
57*5113495bSYour Name                       sw_exception_destination_ring                           :  5,
58*5113495bSYour Name                       sw_exception_destination_ring_valid                     :  1,
59*5113495bSYour Name                       sw_exception_mpdu_delink                                :  1,
60*5113495bSYour Name                       sw_exception                                            :  1,
61*5113495bSYour Name                       mpdu_fragment_number                                    :  4,
62*5113495bSYour Name                       rxdma_error_code                                        :  5,
63*5113495bSYour Name                       rxdma_push_reason                                       :  2;
64*5113495bSYour Name              uint32_t looping_count                                           :  4,
65*5113495bSYour Name                       ring_id                                                 :  8,
66*5113495bSYour Name                       reserved_7a                                             :  1,
67*5113495bSYour Name                       src_link_id                                             :  3,
68*5113495bSYour Name                       phy_ppdu_id                                             : 16;
69*5113495bSYour Name #endif
70*5113495bSYour Name };
71*5113495bSYour Name 
72*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_MSDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_OFFSET 0x00000000
73*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_MSDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_LSB 0
74*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_MSDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MSB 31
75*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_MSDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_31_0_MASK 0xffffffff
76*5113495bSYour Name 
77*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_MSDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_OFFSET 0x00000004
78*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_MSDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_LSB 0
79*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_MSDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MSB 7
80*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_MSDU_LINK_DESC_ADDR_INFO_BUFFER_ADDR_39_32_MASK 0x000000ff
81*5113495bSYour Name 
82*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_MSDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_OFFSET 0x00000004
83*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_MSDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_LSB 8
84*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_MSDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MSB 11
85*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_MSDU_LINK_DESC_ADDR_INFO_RETURN_BUFFER_MANAGER_MASK 0x00000f00
86*5113495bSYour Name 
87*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_MSDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_OFFSET 0x00000004
88*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_MSDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_LSB 12
89*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_MSDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MSB 31
90*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_MSDU_LINK_DESC_ADDR_INFO_SW_BUFFER_COOKIE_MASK 0xfffff000
91*5113495bSYour Name 
92*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_MSDU_COUNT_OFFSET 0x00000008
93*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_MSDU_COUNT_LSB 0
94*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_MSDU_COUNT_MSB 7
95*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_MSDU_COUNT_MASK 0x000000ff
96*5113495bSYour Name 
97*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_FRAGMENT_FLAG_OFFSET 0x00000008
98*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_FRAGMENT_FLAG_LSB 8
99*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_FRAGMENT_FLAG_MSB 8
100*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_FRAGMENT_FLAG_MASK 0x00000100
101*5113495bSYour Name 
102*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_MPDU_RETRY_BIT_OFFSET 0x00000008
103*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_MPDU_RETRY_BIT_LSB 9
104*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_MPDU_RETRY_BIT_MSB 9
105*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_MPDU_RETRY_BIT_MASK 0x00000200
106*5113495bSYour Name 
107*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_AMPDU_FLAG_OFFSET 0x00000008
108*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_AMPDU_FLAG_LSB 10
109*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_AMPDU_FLAG_MSB 10
110*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_AMPDU_FLAG_MASK 0x00000400
111*5113495bSYour Name 
112*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_BAR_FRAME_OFFSET 0x00000008
113*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_BAR_FRAME_LSB 11
114*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_BAR_FRAME_MSB 11
115*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_BAR_FRAME_MASK 0x00000800
116*5113495bSYour Name 
117*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_PN_FIELDS_CONTAIN_VALID_INFO_OFFSET 0x00000008
118*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_PN_FIELDS_CONTAIN_VALID_INFO_LSB 12
119*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_PN_FIELDS_CONTAIN_VALID_INFO_MSB 12
120*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_PN_FIELDS_CONTAIN_VALID_INFO_MASK 0x00001000
121*5113495bSYour Name 
122*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_RAW_MPDU_OFFSET 0x00000008
123*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_RAW_MPDU_LSB 13
124*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_RAW_MPDU_MSB 13
125*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_RAW_MPDU_MASK 0x00002000
126*5113495bSYour Name 
127*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_MORE_FRAGMENT_FLAG_OFFSET 0x00000008
128*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_MORE_FRAGMENT_FLAG_LSB 14
129*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_MORE_FRAGMENT_FLAG_MSB 14
130*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_MORE_FRAGMENT_FLAG_MASK 0x00004000
131*5113495bSYour Name 
132*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_SRC_INFO_OFFSET 0x00000008
133*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_SRC_INFO_LSB 15
134*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_SRC_INFO_MSB 26
135*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_SRC_INFO_MASK 0x07ff8000
136*5113495bSYour Name 
137*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_MPDU_QOS_CONTROL_VALID_OFFSET 0x00000008
138*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_MPDU_QOS_CONTROL_VALID_LSB 27
139*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_MPDU_QOS_CONTROL_VALID_MSB 27
140*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_MPDU_QOS_CONTROL_VALID_MASK 0x08000000
141*5113495bSYour Name 
142*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_TID_OFFSET 0x00000008
143*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_TID_LSB 28
144*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_TID_MSB 31
145*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_TID_MASK 0xf0000000
146*5113495bSYour Name 
147*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_PEER_META_DATA_OFFSET 0x0000000c
148*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_PEER_META_DATA_LSB 0
149*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_PEER_META_DATA_MSB 31
150*5113495bSYour Name #define REO_ENTRANCE_RING_REO_LEVEL_MPDU_FRAME_INFO_RX_MPDU_DESC_INFO_DETAILS_PEER_META_DATA_MASK 0xffffffff
151*5113495bSYour Name 
152*5113495bSYour Name #define REO_ENTRANCE_RING_RX_REO_QUEUE_DESC_ADDR_31_0_OFFSET                        0x00000010
153*5113495bSYour Name #define REO_ENTRANCE_RING_RX_REO_QUEUE_DESC_ADDR_31_0_LSB                           0
154*5113495bSYour Name #define REO_ENTRANCE_RING_RX_REO_QUEUE_DESC_ADDR_31_0_MSB                           31
155*5113495bSYour Name #define REO_ENTRANCE_RING_RX_REO_QUEUE_DESC_ADDR_31_0_MASK                          0xffffffff
156*5113495bSYour Name 
157*5113495bSYour Name #define REO_ENTRANCE_RING_RX_REO_QUEUE_DESC_ADDR_39_32_OFFSET                       0x00000014
158*5113495bSYour Name #define REO_ENTRANCE_RING_RX_REO_QUEUE_DESC_ADDR_39_32_LSB                          0
159*5113495bSYour Name #define REO_ENTRANCE_RING_RX_REO_QUEUE_DESC_ADDR_39_32_MSB                          7
160*5113495bSYour Name #define REO_ENTRANCE_RING_RX_REO_QUEUE_DESC_ADDR_39_32_MASK                         0x000000ff
161*5113495bSYour Name 
162*5113495bSYour Name #define REO_ENTRANCE_RING_ROUNDED_MPDU_BYTE_COUNT_OFFSET                            0x00000014
163*5113495bSYour Name #define REO_ENTRANCE_RING_ROUNDED_MPDU_BYTE_COUNT_LSB                               8
164*5113495bSYour Name #define REO_ENTRANCE_RING_ROUNDED_MPDU_BYTE_COUNT_MSB                               21
165*5113495bSYour Name #define REO_ENTRANCE_RING_ROUNDED_MPDU_BYTE_COUNT_MASK                              0x003fff00
166*5113495bSYour Name 
167*5113495bSYour Name #define REO_ENTRANCE_RING_REO_DESTINATION_INDICATION_OFFSET                         0x00000014
168*5113495bSYour Name #define REO_ENTRANCE_RING_REO_DESTINATION_INDICATION_LSB                            22
169*5113495bSYour Name #define REO_ENTRANCE_RING_REO_DESTINATION_INDICATION_MSB                            26
170*5113495bSYour Name #define REO_ENTRANCE_RING_REO_DESTINATION_INDICATION_MASK                           0x07c00000
171*5113495bSYour Name 
172*5113495bSYour Name #define REO_ENTRANCE_RING_FRAMELESS_BAR_OFFSET                                      0x00000014
173*5113495bSYour Name #define REO_ENTRANCE_RING_FRAMELESS_BAR_LSB                                         27
174*5113495bSYour Name #define REO_ENTRANCE_RING_FRAMELESS_BAR_MSB                                         27
175*5113495bSYour Name #define REO_ENTRANCE_RING_FRAMELESS_BAR_MASK                                        0x08000000
176*5113495bSYour Name 
177*5113495bSYour Name #define REO_ENTRANCE_RING_RESERVED_5A_OFFSET                                        0x00000014
178*5113495bSYour Name #define REO_ENTRANCE_RING_RESERVED_5A_LSB                                           28
179*5113495bSYour Name #define REO_ENTRANCE_RING_RESERVED_5A_MSB                                           31
180*5113495bSYour Name #define REO_ENTRANCE_RING_RESERVED_5A_MASK                                          0xf0000000
181*5113495bSYour Name 
182*5113495bSYour Name #define REO_ENTRANCE_RING_RXDMA_PUSH_REASON_OFFSET                                  0x00000018
183*5113495bSYour Name #define REO_ENTRANCE_RING_RXDMA_PUSH_REASON_LSB                                     0
184*5113495bSYour Name #define REO_ENTRANCE_RING_RXDMA_PUSH_REASON_MSB                                     1
185*5113495bSYour Name #define REO_ENTRANCE_RING_RXDMA_PUSH_REASON_MASK                                    0x00000003
186*5113495bSYour Name 
187*5113495bSYour Name #define REO_ENTRANCE_RING_RXDMA_ERROR_CODE_OFFSET                                   0x00000018
188*5113495bSYour Name #define REO_ENTRANCE_RING_RXDMA_ERROR_CODE_LSB                                      2
189*5113495bSYour Name #define REO_ENTRANCE_RING_RXDMA_ERROR_CODE_MSB                                      6
190*5113495bSYour Name #define REO_ENTRANCE_RING_RXDMA_ERROR_CODE_MASK                                     0x0000007c
191*5113495bSYour Name 
192*5113495bSYour Name #define REO_ENTRANCE_RING_MPDU_FRAGMENT_NUMBER_OFFSET                               0x00000018
193*5113495bSYour Name #define REO_ENTRANCE_RING_MPDU_FRAGMENT_NUMBER_LSB                                  7
194*5113495bSYour Name #define REO_ENTRANCE_RING_MPDU_FRAGMENT_NUMBER_MSB                                  10
195*5113495bSYour Name #define REO_ENTRANCE_RING_MPDU_FRAGMENT_NUMBER_MASK                                 0x00000780
196*5113495bSYour Name 
197*5113495bSYour Name #define REO_ENTRANCE_RING_SW_EXCEPTION_OFFSET                                       0x00000018
198*5113495bSYour Name #define REO_ENTRANCE_RING_SW_EXCEPTION_LSB                                          11
199*5113495bSYour Name #define REO_ENTRANCE_RING_SW_EXCEPTION_MSB                                          11
200*5113495bSYour Name #define REO_ENTRANCE_RING_SW_EXCEPTION_MASK                                         0x00000800
201*5113495bSYour Name 
202*5113495bSYour Name #define REO_ENTRANCE_RING_SW_EXCEPTION_MPDU_DELINK_OFFSET                           0x00000018
203*5113495bSYour Name #define REO_ENTRANCE_RING_SW_EXCEPTION_MPDU_DELINK_LSB                              12
204*5113495bSYour Name #define REO_ENTRANCE_RING_SW_EXCEPTION_MPDU_DELINK_MSB                              12
205*5113495bSYour Name #define REO_ENTRANCE_RING_SW_EXCEPTION_MPDU_DELINK_MASK                             0x00001000
206*5113495bSYour Name 
207*5113495bSYour Name #define REO_ENTRANCE_RING_SW_EXCEPTION_DESTINATION_RING_VALID_OFFSET                0x00000018
208*5113495bSYour Name #define REO_ENTRANCE_RING_SW_EXCEPTION_DESTINATION_RING_VALID_LSB                   13
209*5113495bSYour Name #define REO_ENTRANCE_RING_SW_EXCEPTION_DESTINATION_RING_VALID_MSB                   13
210*5113495bSYour Name #define REO_ENTRANCE_RING_SW_EXCEPTION_DESTINATION_RING_VALID_MASK                  0x00002000
211*5113495bSYour Name 
212*5113495bSYour Name #define REO_ENTRANCE_RING_SW_EXCEPTION_DESTINATION_RING_OFFSET                      0x00000018
213*5113495bSYour Name #define REO_ENTRANCE_RING_SW_EXCEPTION_DESTINATION_RING_LSB                         14
214*5113495bSYour Name #define REO_ENTRANCE_RING_SW_EXCEPTION_DESTINATION_RING_MSB                         18
215*5113495bSYour Name #define REO_ENTRANCE_RING_SW_EXCEPTION_DESTINATION_RING_MASK                        0x0007c000
216*5113495bSYour Name 
217*5113495bSYour Name #define REO_ENTRANCE_RING_MPDU_SEQUENCE_NUMBER_OFFSET                               0x00000018
218*5113495bSYour Name #define REO_ENTRANCE_RING_MPDU_SEQUENCE_NUMBER_LSB                                  19
219*5113495bSYour Name #define REO_ENTRANCE_RING_MPDU_SEQUENCE_NUMBER_MSB                                  30
220*5113495bSYour Name #define REO_ENTRANCE_RING_MPDU_SEQUENCE_NUMBER_MASK                                 0x7ff80000
221*5113495bSYour Name 
222*5113495bSYour Name #define REO_ENTRANCE_RING_RESERVED_6A_OFFSET                                        0x00000018
223*5113495bSYour Name #define REO_ENTRANCE_RING_RESERVED_6A_LSB                                           31
224*5113495bSYour Name #define REO_ENTRANCE_RING_RESERVED_6A_MSB                                           31
225*5113495bSYour Name #define REO_ENTRANCE_RING_RESERVED_6A_MASK                                          0x80000000
226*5113495bSYour Name 
227*5113495bSYour Name #define REO_ENTRANCE_RING_PHY_PPDU_ID_OFFSET                                        0x0000001c
228*5113495bSYour Name #define REO_ENTRANCE_RING_PHY_PPDU_ID_LSB                                           0
229*5113495bSYour Name #define REO_ENTRANCE_RING_PHY_PPDU_ID_MSB                                           15
230*5113495bSYour Name #define REO_ENTRANCE_RING_PHY_PPDU_ID_MASK                                          0x0000ffff
231*5113495bSYour Name 
232*5113495bSYour Name #define REO_ENTRANCE_RING_SRC_LINK_ID_OFFSET                                        0x0000001c
233*5113495bSYour Name #define REO_ENTRANCE_RING_SRC_LINK_ID_LSB                                           16
234*5113495bSYour Name #define REO_ENTRANCE_RING_SRC_LINK_ID_MSB                                           18
235*5113495bSYour Name #define REO_ENTRANCE_RING_SRC_LINK_ID_MASK                                          0x00070000
236*5113495bSYour Name 
237*5113495bSYour Name #define REO_ENTRANCE_RING_RESERVED_7A_OFFSET                                        0x0000001c
238*5113495bSYour Name #define REO_ENTRANCE_RING_RESERVED_7A_LSB                                           19
239*5113495bSYour Name #define REO_ENTRANCE_RING_RESERVED_7A_MSB                                           19
240*5113495bSYour Name #define REO_ENTRANCE_RING_RESERVED_7A_MASK                                          0x00080000
241*5113495bSYour Name 
242*5113495bSYour Name #define REO_ENTRANCE_RING_RING_ID_OFFSET                                            0x0000001c
243*5113495bSYour Name #define REO_ENTRANCE_RING_RING_ID_LSB                                               20
244*5113495bSYour Name #define REO_ENTRANCE_RING_RING_ID_MSB                                               27
245*5113495bSYour Name #define REO_ENTRANCE_RING_RING_ID_MASK                                              0x0ff00000
246*5113495bSYour Name 
247*5113495bSYour Name #define REO_ENTRANCE_RING_LOOPING_COUNT_OFFSET                                      0x0000001c
248*5113495bSYour Name #define REO_ENTRANCE_RING_LOOPING_COUNT_LSB                                         28
249*5113495bSYour Name #define REO_ENTRANCE_RING_LOOPING_COUNT_MSB                                         31
250*5113495bSYour Name #define REO_ENTRANCE_RING_LOOPING_COUNT_MASK                                        0xf0000000
251*5113495bSYour Name 
252*5113495bSYour Name #endif
253