123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971 |
- /*
- * Copyright (c) 2021 The Linux Foundation. All rights reserved.
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
- // $ATH_LICENSE_HW_HDR_C$
- //
- // DO NOT EDIT! This file is automatically generated
- // These definitions are tied to a particular hardware layout
- #ifndef _REO_GET_QUEUE_STATS_STATUS_H_
- #define _REO_GET_QUEUE_STATS_STATUS_H_
- #if !defined(__ASSEMBLER__)
- #endif
- #include "uniform_reo_status_header.h"
- // ################ START SUMMARY #################
- //
- // Dword Fields
- // 0-1 struct uniform_reo_status_header status_header;
- // 2 ssn[11:0], current_index[19:12], reserved_2[31:20]
- // 3 pn_31_0[31:0]
- // 4 pn_63_32[31:0]
- // 5 pn_95_64[31:0]
- // 6 pn_127_96[31:0]
- // 7 last_rx_enqueue_timestamp[31:0]
- // 8 last_rx_dequeue_timestamp[31:0]
- // 9 rx_bitmap_31_0[31:0]
- // 10 rx_bitmap_63_32[31:0]
- // 11 rx_bitmap_95_64[31:0]
- // 12 rx_bitmap_127_96[31:0]
- // 13 rx_bitmap_159_128[31:0]
- // 14 rx_bitmap_191_160[31:0]
- // 15 rx_bitmap_223_192[31:0]
- // 16 rx_bitmap_255_224[31:0]
- // 17 current_mpdu_count[6:0], current_msdu_count[31:7]
- // 18 reserved_18[3:0], timeout_count[9:4], forward_due_to_bar_count[15:10], duplicate_count[31:16]
- // 19 frames_in_order_count[23:0], bar_received_count[31:24]
- // 20 mpdu_frames_processed_count[31:0]
- // 21 msdu_frames_processed_count[31:0]
- // 22 total_processed_byte_count[31:0]
- // 23 late_receive_mpdu_count[11:0], window_jump_2k[15:12], hole_count[31:16]
- // 24 reserved_24a[27:0], looping_count[31:28]
- //
- // ################ END SUMMARY #################
- #define NUM_OF_DWORDS_REO_GET_QUEUE_STATS_STATUS 25
- struct reo_get_queue_stats_status {
- struct uniform_reo_status_header status_header;
- uint32_t ssn : 12, //[11:0]
- current_index : 8, //[19:12]
- reserved_2 : 12; //[31:20]
- uint32_t pn_31_0 : 32; //[31:0]
- uint32_t pn_63_32 : 32; //[31:0]
- uint32_t pn_95_64 : 32; //[31:0]
- uint32_t pn_127_96 : 32; //[31:0]
- uint32_t last_rx_enqueue_timestamp : 32; //[31:0]
- uint32_t last_rx_dequeue_timestamp : 32; //[31:0]
- uint32_t rx_bitmap_31_0 : 32; //[31:0]
- uint32_t rx_bitmap_63_32 : 32; //[31:0]
- uint32_t rx_bitmap_95_64 : 32; //[31:0]
- uint32_t rx_bitmap_127_96 : 32; //[31:0]
- uint32_t rx_bitmap_159_128 : 32; //[31:0]
- uint32_t rx_bitmap_191_160 : 32; //[31:0]
- uint32_t rx_bitmap_223_192 : 32; //[31:0]
- uint32_t rx_bitmap_255_224 : 32; //[31:0]
- uint32_t current_mpdu_count : 7, //[6:0]
- current_msdu_count : 25; //[31:7]
- uint32_t reserved_18 : 4, //[3:0]
- timeout_count : 6, //[9:4]
- forward_due_to_bar_count : 6, //[15:10]
- duplicate_count : 16; //[31:16]
- uint32_t frames_in_order_count : 24, //[23:0]
- bar_received_count : 8; //[31:24]
- uint32_t mpdu_frames_processed_count : 32; //[31:0]
- uint32_t msdu_frames_processed_count : 32; //[31:0]
- uint32_t total_processed_byte_count : 32; //[31:0]
- uint32_t late_receive_mpdu_count : 12, //[11:0]
- window_jump_2k : 4, //[15:12]
- hole_count : 16; //[31:16]
- uint32_t reserved_24a : 28, //[27:0]
- looping_count : 4; //[31:28]
- };
- /*
- struct uniform_reo_status_header status_header
-
- Consumer: SW
-
- Producer: REO
-
-
-
- Details that can link this status with the original
- command. It also contains info on how long REO took to
- execute this command.
- ssn
-
- Starting Sequence number of the session, this changes
- whenever window moves. (can be filled by SW then maintained
- by REO)
-
- <legal all>
- current_index
-
- Points to last forwarded packet
-
- <legal all>
- reserved_2
-
- <legal 0>
- pn_31_0
-
-
- <legal all>
- pn_63_32
-
- Bits [63:32] of the PN number.
-
- <legal all>
- pn_95_64
-
- Bits [95:64] of the PN number.
-
- <legal all>
- pn_127_96
-
- Bits [127:96] of the PN number.
-
- <legal all>
- last_rx_enqueue_timestamp
-
- Timestamp of arrival of the last MPDU for this queue
-
- <legal all>
- last_rx_dequeue_timestamp
-
- Timestamp of forwarding an MPDU
-
-
-
- If the queue is empty when a frame gets received, this
- time shall be initialized to the 'enqueue' timestamp
-
-
-
- Used for aging
-
- <legal all>
- rx_bitmap_31_0
-
- When a bit is set, the corresponding frame is currently
- held in the re-order queue.
-
- The bitmap is Fully managed by HW.
-
- SW shall init this to 0, and then never ever change it
-
- <legal all>
- rx_bitmap_63_32
-
- See Rx_bitmap_31_0 description
-
- <legal all>
- rx_bitmap_95_64
-
- See Rx_bitmap_31_0 description
-
- <legal all>
- rx_bitmap_127_96
-
- See Rx_bitmap_31_0 description
-
- <legal all>
- rx_bitmap_159_128
-
- See Rx_bitmap_31_0 description
-
- <legal all>
- rx_bitmap_191_160
-
- See Rx_bitmap_31_0 description
-
- <legal all>
- rx_bitmap_223_192
-
- See Rx_bitmap_31_0 description
-
- <legal all>
- rx_bitmap_255_224
-
- See Rx_bitmap_31_0 description
-
- <legal all>
- current_mpdu_count
-
- The number of MPDUs in the queue.
-
-
-
- <legal all>
- current_msdu_count
-
- The number of MSDUs in the queue.
-
- <legal all>
- reserved_18
-
- <legal 0>
- timeout_count
-
- The number of times that REO started forwarding frames
- even though there is a hole in the bitmap. Forwarding reason
- is Timeout
-
-
-
- The counter saturates and freezes at 0x3F
-
-
-
- <legal all>
- forward_due_to_bar_count
-
- The number of times that REO started forwarding frames
- even though there is a hole in the bitmap. Forwarding reason
- is reception of BAR frame.
-
-
-
- The counter saturates and freezes at 0x3F
-
-
-
- <legal all>
- duplicate_count
-
- The number of duplicate frames that have been detected
-
- <legal all>
- frames_in_order_count
-
- The number of frames that have been received in order
- (without a hole that prevented them from being forwarded
- immediately)
-
-
-
- This corresponds to the Reorder opcodes:
-
- 'FWDCUR' and 'FWD BUF'
-
-
-
- <legal all>
- bar_received_count
-
- The number of times a BAR frame is received.
-
-
-
- This corresponds to the Reorder opcodes with 'DROP'
-
-
-
- The counter saturates and freezes at 0xFF
-
- <legal all>
- mpdu_frames_processed_count
-
- The total number of MPDU frames that have been processed
- by REO. This includes the duplicates.
-
-
-
- <legal all>
- msdu_frames_processed_count
-
- The total number of MSDU frames that have been processed
- by REO. This includes the duplicates.
-
-
-
- <legal all>
- total_processed_byte_count
-
- An approximation of the number of bytes received for
- this queue.
-
-
-
- In 64 byte units
-
- <legal all>
- late_receive_mpdu_count
-
- The number of MPDUs received after the window had
- already moved on. The 'late' sequence window is defined as
- (Window SSN - 256) - (Window SSN - 1)
-
-
-
- This corresponds with Out of order detection in
- duplicate detect FSM
-
-
-
- The counter saturates and freezes at 0xFFF
-
-
-
- <legal all>
- window_jump_2k
-
- The number of times the window moved more then 2K
-
-
-
- The counter saturates and freezes at 0xF
-
-
-
- (Note: field name can not start with number: previous
- 2k_window_jump)
-
-
-
- <legal all>
- hole_count
-
- The number of times a hole was created in the receive
- bitmap.
-
-
-
- This corresponds to the Reorder opcodes with 'QCUR'
-
-
-
- <legal all>
- reserved_24a
-
- <legal 0>
- looping_count
-
- A count value that indicates the number of times the
- producer of entries into this Ring has looped around the
- ring.
-
- At initialization time, this value is set to 0. On the
- first loop, this value is set to 1. After the max value is
- reached allowed by the number of bits for this field, the
- count value continues with 0 again.
-
-
-
- In case SW is the consumer of the ring entries, it can
- use this field to figure out up to where the producer of
- entries has created new entries. This eliminates the need to
- check where the head pointer' of the ring is located once
- the SW starts processing an interrupt indicating that new
- entries have been put into this ring...
-
-
-
- Also note that SW if it wants only needs to look at the
- LSB bit of this count value.
-
- <legal all>
- */
- /* EXTERNAL REFERENCE : struct uniform_reo_status_header status_header */
- /* Description REO_GET_QUEUE_STATS_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER
-
- Consumer: SW , DEBUG
-
- Producer: REO
-
-
-
- The value in this field is equal to value of the
- 'REO_CMD_Number' field the REO command
-
-
-
- This field helps to correlate the statuses with the REO
- commands.
-
-
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER_OFFSET 0x00000000
- #define REO_GET_QUEUE_STATS_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER_MASK 0x0000ffff
- /* Description REO_GET_QUEUE_STATS_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME
-
- Consumer: DEBUG
-
- Producer: REO
-
-
-
- The amount of time REO took to excecute the command.
- Note that this time does not include the duration of the
- command waiting in the command ring, before the execution
- started.
-
-
-
- In us.
-
-
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME_OFFSET 0x00000000
- #define REO_GET_QUEUE_STATS_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME_LSB 16
- #define REO_GET_QUEUE_STATS_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME_MASK 0x03ff0000
- /* Description REO_GET_QUEUE_STATS_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS
-
- Consumer: DEBUG
-
- Producer: REO
-
-
-
- Execution status of the command.
-
-
-
- <enum 0 reo_successful_execution> Command has
- successfully be executed
-
- <enum 1 reo_blocked_execution> Command could not be
- executed as the queue or cache was blocked
-
- <enum 2 reo_failed_execution> Command has encountered
- problems when executing, like the queue descriptor not being
- valid. None of the status fields in the entire STATUS TLV
- are valid.
-
- <enum 3 reo_resource_blocked> Command is NOT executed
- because one or more descriptors were blocked. This is SW
- programming mistake.
-
- None of the status fields in the entire STATUS TLV are
- valid.
-
-
-
- <legal 0-3>
- */
- #define REO_GET_QUEUE_STATS_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS_OFFSET 0x00000000
- #define REO_GET_QUEUE_STATS_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS_LSB 26
- #define REO_GET_QUEUE_STATS_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS_MASK 0x0c000000
- /* Description REO_GET_QUEUE_STATS_STATUS_0_STATUS_HEADER_RESERVED_0A
-
- <legal 0>
- */
- #define REO_GET_QUEUE_STATS_STATUS_0_STATUS_HEADER_RESERVED_0A_OFFSET 0x00000000
- #define REO_GET_QUEUE_STATS_STATUS_0_STATUS_HEADER_RESERVED_0A_LSB 28
- #define REO_GET_QUEUE_STATS_STATUS_0_STATUS_HEADER_RESERVED_0A_MASK 0xf0000000
- /* Description REO_GET_QUEUE_STATS_STATUS_1_STATUS_HEADER_TIMESTAMP
-
- Timestamp at the moment that this status report is
- written.
-
-
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_1_STATUS_HEADER_TIMESTAMP_OFFSET 0x00000004
- #define REO_GET_QUEUE_STATS_STATUS_1_STATUS_HEADER_TIMESTAMP_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_1_STATUS_HEADER_TIMESTAMP_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_2_SSN
-
- Starting Sequence number of the session, this changes
- whenever window moves. (can be filled by SW then maintained
- by REO)
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_2_SSN_OFFSET 0x00000008
- #define REO_GET_QUEUE_STATS_STATUS_2_SSN_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_2_SSN_MASK 0x00000fff
- /* Description REO_GET_QUEUE_STATS_STATUS_2_CURRENT_INDEX
-
- Points to last forwarded packet
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_2_CURRENT_INDEX_OFFSET 0x00000008
- #define REO_GET_QUEUE_STATS_STATUS_2_CURRENT_INDEX_LSB 12
- #define REO_GET_QUEUE_STATS_STATUS_2_CURRENT_INDEX_MASK 0x000ff000
- /* Description REO_GET_QUEUE_STATS_STATUS_2_RESERVED_2
-
- <legal 0>
- */
- #define REO_GET_QUEUE_STATS_STATUS_2_RESERVED_2_OFFSET 0x00000008
- #define REO_GET_QUEUE_STATS_STATUS_2_RESERVED_2_LSB 20
- #define REO_GET_QUEUE_STATS_STATUS_2_RESERVED_2_MASK 0xfff00000
- /* Description REO_GET_QUEUE_STATS_STATUS_3_PN_31_0
-
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_3_PN_31_0_OFFSET 0x0000000c
- #define REO_GET_QUEUE_STATS_STATUS_3_PN_31_0_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_3_PN_31_0_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_4_PN_63_32
-
- Bits [63:32] of the PN number.
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_4_PN_63_32_OFFSET 0x00000010
- #define REO_GET_QUEUE_STATS_STATUS_4_PN_63_32_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_4_PN_63_32_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_5_PN_95_64
-
- Bits [95:64] of the PN number.
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_5_PN_95_64_OFFSET 0x00000014
- #define REO_GET_QUEUE_STATS_STATUS_5_PN_95_64_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_5_PN_95_64_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_6_PN_127_96
-
- Bits [127:96] of the PN number.
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_6_PN_127_96_OFFSET 0x00000018
- #define REO_GET_QUEUE_STATS_STATUS_6_PN_127_96_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_6_PN_127_96_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_7_LAST_RX_ENQUEUE_TIMESTAMP
-
- Timestamp of arrival of the last MPDU for this queue
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_7_LAST_RX_ENQUEUE_TIMESTAMP_OFFSET 0x0000001c
- #define REO_GET_QUEUE_STATS_STATUS_7_LAST_RX_ENQUEUE_TIMESTAMP_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_7_LAST_RX_ENQUEUE_TIMESTAMP_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_8_LAST_RX_DEQUEUE_TIMESTAMP
-
- Timestamp of forwarding an MPDU
-
-
-
- If the queue is empty when a frame gets received, this
- time shall be initialized to the 'enqueue' timestamp
-
-
-
- Used for aging
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_8_LAST_RX_DEQUEUE_TIMESTAMP_OFFSET 0x00000020
- #define REO_GET_QUEUE_STATS_STATUS_8_LAST_RX_DEQUEUE_TIMESTAMP_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_8_LAST_RX_DEQUEUE_TIMESTAMP_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_9_RX_BITMAP_31_0
-
- When a bit is set, the corresponding frame is currently
- held in the re-order queue.
-
- The bitmap is Fully managed by HW.
-
- SW shall init this to 0, and then never ever change it
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_9_RX_BITMAP_31_0_OFFSET 0x00000024
- #define REO_GET_QUEUE_STATS_STATUS_9_RX_BITMAP_31_0_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_9_RX_BITMAP_31_0_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_10_RX_BITMAP_63_32
-
- See Rx_bitmap_31_0 description
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_10_RX_BITMAP_63_32_OFFSET 0x00000028
- #define REO_GET_QUEUE_STATS_STATUS_10_RX_BITMAP_63_32_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_10_RX_BITMAP_63_32_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_11_RX_BITMAP_95_64
-
- See Rx_bitmap_31_0 description
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_11_RX_BITMAP_95_64_OFFSET 0x0000002c
- #define REO_GET_QUEUE_STATS_STATUS_11_RX_BITMAP_95_64_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_11_RX_BITMAP_95_64_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_12_RX_BITMAP_127_96
-
- See Rx_bitmap_31_0 description
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_12_RX_BITMAP_127_96_OFFSET 0x00000030
- #define REO_GET_QUEUE_STATS_STATUS_12_RX_BITMAP_127_96_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_12_RX_BITMAP_127_96_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_13_RX_BITMAP_159_128
-
- See Rx_bitmap_31_0 description
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_13_RX_BITMAP_159_128_OFFSET 0x00000034
- #define REO_GET_QUEUE_STATS_STATUS_13_RX_BITMAP_159_128_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_13_RX_BITMAP_159_128_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_14_RX_BITMAP_191_160
-
- See Rx_bitmap_31_0 description
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_14_RX_BITMAP_191_160_OFFSET 0x00000038
- #define REO_GET_QUEUE_STATS_STATUS_14_RX_BITMAP_191_160_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_14_RX_BITMAP_191_160_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_15_RX_BITMAP_223_192
-
- See Rx_bitmap_31_0 description
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_15_RX_BITMAP_223_192_OFFSET 0x0000003c
- #define REO_GET_QUEUE_STATS_STATUS_15_RX_BITMAP_223_192_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_15_RX_BITMAP_223_192_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_16_RX_BITMAP_255_224
-
- See Rx_bitmap_31_0 description
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_16_RX_BITMAP_255_224_OFFSET 0x00000040
- #define REO_GET_QUEUE_STATS_STATUS_16_RX_BITMAP_255_224_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_16_RX_BITMAP_255_224_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_17_CURRENT_MPDU_COUNT
-
- The number of MPDUs in the queue.
-
-
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_17_CURRENT_MPDU_COUNT_OFFSET 0x00000044
- #define REO_GET_QUEUE_STATS_STATUS_17_CURRENT_MPDU_COUNT_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_17_CURRENT_MPDU_COUNT_MASK 0x0000007f
- /* Description REO_GET_QUEUE_STATS_STATUS_17_CURRENT_MSDU_COUNT
-
- The number of MSDUs in the queue.
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_17_CURRENT_MSDU_COUNT_OFFSET 0x00000044
- #define REO_GET_QUEUE_STATS_STATUS_17_CURRENT_MSDU_COUNT_LSB 7
- #define REO_GET_QUEUE_STATS_STATUS_17_CURRENT_MSDU_COUNT_MASK 0xffffff80
- /* Description REO_GET_QUEUE_STATS_STATUS_18_RESERVED_18
-
- <legal 0>
- */
- #define REO_GET_QUEUE_STATS_STATUS_18_RESERVED_18_OFFSET 0x00000048
- #define REO_GET_QUEUE_STATS_STATUS_18_RESERVED_18_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_18_RESERVED_18_MASK 0x0000000f
- /* Description REO_GET_QUEUE_STATS_STATUS_18_TIMEOUT_COUNT
-
- The number of times that REO started forwarding frames
- even though there is a hole in the bitmap. Forwarding reason
- is Timeout
-
-
-
- The counter saturates and freezes at 0x3F
-
-
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_18_TIMEOUT_COUNT_OFFSET 0x00000048
- #define REO_GET_QUEUE_STATS_STATUS_18_TIMEOUT_COUNT_LSB 4
- #define REO_GET_QUEUE_STATS_STATUS_18_TIMEOUT_COUNT_MASK 0x000003f0
- /* Description REO_GET_QUEUE_STATS_STATUS_18_FORWARD_DUE_TO_BAR_COUNT
-
- The number of times that REO started forwarding frames
- even though there is a hole in the bitmap. Forwarding reason
- is reception of BAR frame.
-
-
-
- The counter saturates and freezes at 0x3F
-
-
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_18_FORWARD_DUE_TO_BAR_COUNT_OFFSET 0x00000048
- #define REO_GET_QUEUE_STATS_STATUS_18_FORWARD_DUE_TO_BAR_COUNT_LSB 10
- #define REO_GET_QUEUE_STATS_STATUS_18_FORWARD_DUE_TO_BAR_COUNT_MASK 0x0000fc00
- /* Description REO_GET_QUEUE_STATS_STATUS_18_DUPLICATE_COUNT
-
- The number of duplicate frames that have been detected
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_18_DUPLICATE_COUNT_OFFSET 0x00000048
- #define REO_GET_QUEUE_STATS_STATUS_18_DUPLICATE_COUNT_LSB 16
- #define REO_GET_QUEUE_STATS_STATUS_18_DUPLICATE_COUNT_MASK 0xffff0000
- /* Description REO_GET_QUEUE_STATS_STATUS_19_FRAMES_IN_ORDER_COUNT
-
- The number of frames that have been received in order
- (without a hole that prevented them from being forwarded
- immediately)
-
-
-
- This corresponds to the Reorder opcodes:
-
- 'FWDCUR' and 'FWD BUF'
-
-
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_19_FRAMES_IN_ORDER_COUNT_OFFSET 0x0000004c
- #define REO_GET_QUEUE_STATS_STATUS_19_FRAMES_IN_ORDER_COUNT_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_19_FRAMES_IN_ORDER_COUNT_MASK 0x00ffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_19_BAR_RECEIVED_COUNT
-
- The number of times a BAR frame is received.
-
-
-
- This corresponds to the Reorder opcodes with 'DROP'
-
-
-
- The counter saturates and freezes at 0xFF
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_19_BAR_RECEIVED_COUNT_OFFSET 0x0000004c
- #define REO_GET_QUEUE_STATS_STATUS_19_BAR_RECEIVED_COUNT_LSB 24
- #define REO_GET_QUEUE_STATS_STATUS_19_BAR_RECEIVED_COUNT_MASK 0xff000000
- /* Description REO_GET_QUEUE_STATS_STATUS_20_MPDU_FRAMES_PROCESSED_COUNT
-
- The total number of MPDU frames that have been processed
- by REO. This includes the duplicates.
-
-
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_20_MPDU_FRAMES_PROCESSED_COUNT_OFFSET 0x00000050
- #define REO_GET_QUEUE_STATS_STATUS_20_MPDU_FRAMES_PROCESSED_COUNT_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_20_MPDU_FRAMES_PROCESSED_COUNT_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_21_MSDU_FRAMES_PROCESSED_COUNT
-
- The total number of MSDU frames that have been processed
- by REO. This includes the duplicates.
-
-
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_21_MSDU_FRAMES_PROCESSED_COUNT_OFFSET 0x00000054
- #define REO_GET_QUEUE_STATS_STATUS_21_MSDU_FRAMES_PROCESSED_COUNT_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_21_MSDU_FRAMES_PROCESSED_COUNT_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_22_TOTAL_PROCESSED_BYTE_COUNT
-
- An approximation of the number of bytes received for
- this queue.
-
-
-
- In 64 byte units
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_22_TOTAL_PROCESSED_BYTE_COUNT_OFFSET 0x00000058
- #define REO_GET_QUEUE_STATS_STATUS_22_TOTAL_PROCESSED_BYTE_COUNT_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_22_TOTAL_PROCESSED_BYTE_COUNT_MASK 0xffffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_23_LATE_RECEIVE_MPDU_COUNT
-
- The number of MPDUs received after the window had
- already moved on. The 'late' sequence window is defined as
- (Window SSN - 256) - (Window SSN - 1)
-
-
-
- This corresponds with Out of order detection in
- duplicate detect FSM
-
-
-
- The counter saturates and freezes at 0xFFF
-
-
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_23_LATE_RECEIVE_MPDU_COUNT_OFFSET 0x0000005c
- #define REO_GET_QUEUE_STATS_STATUS_23_LATE_RECEIVE_MPDU_COUNT_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_23_LATE_RECEIVE_MPDU_COUNT_MASK 0x00000fff
- /* Description REO_GET_QUEUE_STATS_STATUS_23_WINDOW_JUMP_2K
-
- The number of times the window moved more then 2K
-
-
-
- The counter saturates and freezes at 0xF
-
-
-
- (Note: field name can not start with number: previous
- 2k_window_jump)
-
-
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_23_WINDOW_JUMP_2K_OFFSET 0x0000005c
- #define REO_GET_QUEUE_STATS_STATUS_23_WINDOW_JUMP_2K_LSB 12
- #define REO_GET_QUEUE_STATS_STATUS_23_WINDOW_JUMP_2K_MASK 0x0000f000
- /* Description REO_GET_QUEUE_STATS_STATUS_23_HOLE_COUNT
-
- The number of times a hole was created in the receive
- bitmap.
-
-
-
- This corresponds to the Reorder opcodes with 'QCUR'
-
-
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_23_HOLE_COUNT_OFFSET 0x0000005c
- #define REO_GET_QUEUE_STATS_STATUS_23_HOLE_COUNT_LSB 16
- #define REO_GET_QUEUE_STATS_STATUS_23_HOLE_COUNT_MASK 0xffff0000
- /* Description REO_GET_QUEUE_STATS_STATUS_24_RESERVED_24A
-
- <legal 0>
- */
- #define REO_GET_QUEUE_STATS_STATUS_24_RESERVED_24A_OFFSET 0x00000060
- #define REO_GET_QUEUE_STATS_STATUS_24_RESERVED_24A_LSB 0
- #define REO_GET_QUEUE_STATS_STATUS_24_RESERVED_24A_MASK 0x0fffffff
- /* Description REO_GET_QUEUE_STATS_STATUS_24_LOOPING_COUNT
-
- A count value that indicates the number of times the
- producer of entries into this Ring has looped around the
- ring.
-
- At initialization time, this value is set to 0. On the
- first loop, this value is set to 1. After the max value is
- reached allowed by the number of bits for this field, the
- count value continues with 0 again.
-
-
-
- In case SW is the consumer of the ring entries, it can
- use this field to figure out up to where the producer of
- entries has created new entries. This eliminates the need to
- check where the head pointer' of the ring is located once
- the SW starts processing an interrupt indicating that new
- entries have been put into this ring...
-
-
-
- Also note that SW if it wants only needs to look at the
- LSB bit of this count value.
-
- <legal all>
- */
- #define REO_GET_QUEUE_STATS_STATUS_24_LOOPING_COUNT_OFFSET 0x00000060
- #define REO_GET_QUEUE_STATS_STATUS_24_LOOPING_COUNT_LSB 28
- #define REO_GET_QUEUE_STATS_STATUS_24_LOOPING_COUNT_MASK 0xf0000000
- #endif // _REO_GET_QUEUE_STATS_STATUS_H_
|