fw-api: Add HW header files for QCA6750
Add the HW header files for QCA6750 CRs-fixed: 2600285 Change-Id: I6a4f68765970cfbd8630a7c5f6173e2c034c5a81
Этот коммит содержится в:
762
hw/qca6750/v1/rx_mpdu_end.h
Обычный файл
762
hw/qca6750/v1/rx_mpdu_end.h
Обычный файл
@@ -0,0 +1,762 @@
|
||||
/*
|
||||
* Copyright (c) 2020 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.
|
||||
*/
|
||||
|
||||
//
|
||||
// DO NOT EDIT! This file is automatically generated
|
||||
// These definitions are tied to a particular hardware layout
|
||||
|
||||
|
||||
#ifndef _RX_MPDU_END_H_
|
||||
#define _RX_MPDU_END_H_
|
||||
#if !defined(__ASSEMBLER__)
|
||||
#endif
|
||||
|
||||
|
||||
// ################ START SUMMARY #################
|
||||
//
|
||||
// Dword Fields
|
||||
// 0 rxpcu_mpdu_filter_in_category[1:0], sw_frame_group_id[8:2], reserved_0[15:9], phy_ppdu_id[31:16]
|
||||
// 1 reserved_1a[10:0], unsup_ktype_short_frame[11], rx_in_tx_decrypt_byp[12], overflow_err[13], mpdu_length_err[14], tkip_mic_err[15], decrypt_err[16], unencrypted_frame_err[17], pn_fields_contain_valid_info[18], fcs_err[19], msdu_length_err[20], rxdma0_destination_ring[22:21], rxdma1_destination_ring[24:23], decrypt_status_code[27:25], rx_bitmap_not_updated[28], reserved_1b[31:29]
|
||||
//
|
||||
// ################ END SUMMARY #################
|
||||
|
||||
#define NUM_OF_DWORDS_RX_MPDU_END 2
|
||||
|
||||
struct rx_mpdu_end {
|
||||
uint32_t rxpcu_mpdu_filter_in_category : 2, //[1:0]
|
||||
sw_frame_group_id : 7, //[8:2]
|
||||
reserved_0 : 7, //[15:9]
|
||||
phy_ppdu_id : 16; //[31:16]
|
||||
uint32_t reserved_1a : 11, //[10:0]
|
||||
unsup_ktype_short_frame : 1, //[11]
|
||||
rx_in_tx_decrypt_byp : 1, //[12]
|
||||
overflow_err : 1, //[13]
|
||||
mpdu_length_err : 1, //[14]
|
||||
tkip_mic_err : 1, //[15]
|
||||
decrypt_err : 1, //[16]
|
||||
unencrypted_frame_err : 1, //[17]
|
||||
pn_fields_contain_valid_info : 1, //[18]
|
||||
fcs_err : 1, //[19]
|
||||
msdu_length_err : 1, //[20]
|
||||
rxdma0_destination_ring : 2, //[22:21]
|
||||
rxdma1_destination_ring : 2, //[24:23]
|
||||
decrypt_status_code : 3, //[27:25]
|
||||
rx_bitmap_not_updated : 1, //[28]
|
||||
reserved_1b : 3; //[31:29]
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
rxpcu_mpdu_filter_in_category
|
||||
|
||||
Field indicates what the reason was that this MPDU frame
|
||||
was allowed to come into the receive path by RXPCU
|
||||
|
||||
<enum 0 rxpcu_filter_pass> This MPDU passed the normal
|
||||
frame filter programming of rxpcu
|
||||
|
||||
<enum 1 rxpcu_monitor_client> This MPDU did NOT pass the
|
||||
regular frame filter and would have been dropped, were it
|
||||
not for the frame fitting into the 'monitor_client'
|
||||
category.
|
||||
|
||||
<enum 2 rxpcu_monitor_other> This MPDU did NOT pass the
|
||||
regular frame filter and also did not pass the
|
||||
rxpcu_monitor_client filter. It would have been dropped
|
||||
accept that it did pass the 'monitor_other' category.
|
||||
|
||||
<legal 0-2>
|
||||
|
||||
sw_frame_group_id
|
||||
|
||||
SW processes frames based on certain classifications.
|
||||
This field indicates to what sw classification this MPDU is
|
||||
mapped.
|
||||
|
||||
The classification is given in priority order
|
||||
|
||||
|
||||
|
||||
<enum 0 sw_frame_group_NDP_frame>
|
||||
|
||||
|
||||
|
||||
<enum 1 sw_frame_group_Multicast_data>
|
||||
|
||||
<enum 2 sw_frame_group_Unicast_data>
|
||||
|
||||
<enum 3 sw_frame_group_Null_data > This includes mpdus
|
||||
of type Data Null as well as QoS Data Null
|
||||
|
||||
|
||||
|
||||
<enum 4 sw_frame_group_mgmt_0000 >
|
||||
|
||||
<enum 5 sw_frame_group_mgmt_0001 >
|
||||
|
||||
<enum 6 sw_frame_group_mgmt_0010 >
|
||||
|
||||
<enum 7 sw_frame_group_mgmt_0011 >
|
||||
|
||||
<enum 8 sw_frame_group_mgmt_0100 >
|
||||
|
||||
<enum 9 sw_frame_group_mgmt_0101 >
|
||||
|
||||
<enum 10 sw_frame_group_mgmt_0110 >
|
||||
|
||||
<enum 11 sw_frame_group_mgmt_0111 >
|
||||
|
||||
<enum 12 sw_frame_group_mgmt_1000 >
|
||||
|
||||
<enum 13 sw_frame_group_mgmt_1001 >
|
||||
|
||||
<enum 14 sw_frame_group_mgmt_1010 >
|
||||
|
||||
<enum 15 sw_frame_group_mgmt_1011 >
|
||||
|
||||
<enum 16 sw_frame_group_mgmt_1100 >
|
||||
|
||||
<enum 17 sw_frame_group_mgmt_1101 >
|
||||
|
||||
<enum 18 sw_frame_group_mgmt_1110 >
|
||||
|
||||
<enum 19 sw_frame_group_mgmt_1111 >
|
||||
|
||||
|
||||
|
||||
<enum 20 sw_frame_group_ctrl_0000 >
|
||||
|
||||
<enum 21 sw_frame_group_ctrl_0001 >
|
||||
|
||||
<enum 22 sw_frame_group_ctrl_0010 >
|
||||
|
||||
<enum 23 sw_frame_group_ctrl_0011 >
|
||||
|
||||
<enum 24 sw_frame_group_ctrl_0100 >
|
||||
|
||||
<enum 25 sw_frame_group_ctrl_0101 >
|
||||
|
||||
<enum 26 sw_frame_group_ctrl_0110 >
|
||||
|
||||
<enum 27 sw_frame_group_ctrl_0111 >
|
||||
|
||||
<enum 28 sw_frame_group_ctrl_1000 >
|
||||
|
||||
<enum 29 sw_frame_group_ctrl_1001 >
|
||||
|
||||
<enum 30 sw_frame_group_ctrl_1010 >
|
||||
|
||||
<enum 31 sw_frame_group_ctrl_1011 >
|
||||
|
||||
<enum 32 sw_frame_group_ctrl_1100 >
|
||||
|
||||
<enum 33 sw_frame_group_ctrl_1101 >
|
||||
|
||||
<enum 34 sw_frame_group_ctrl_1110 >
|
||||
|
||||
<enum 35 sw_frame_group_ctrl_1111 >
|
||||
|
||||
|
||||
|
||||
<enum 36 sw_frame_group_unsupported> This covers type 3
|
||||
and protocol version != 0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<legal 0-37>
|
||||
|
||||
reserved_0
|
||||
|
||||
<legal 0>
|
||||
|
||||
phy_ppdu_id
|
||||
|
||||
A ppdu counter value that PHY increments for every PPDU
|
||||
received. The counter value wraps around
|
||||
|
||||
<legal all>
|
||||
|
||||
reserved_1a
|
||||
|
||||
<legal 0>
|
||||
|
||||
unsup_ktype_short_frame
|
||||
|
||||
This bit will be '1' when WEP or TKIP or WAPI key type
|
||||
is received for 11ah short frame. Crypto will bypass the
|
||||
received packet without decryption to RxOLE after setting
|
||||
this bit.
|
||||
|
||||
rx_in_tx_decrypt_byp
|
||||
|
||||
Indicates that RX packet is not decrypted as Crypto is
|
||||
busy with TX packet processing.
|
||||
|
||||
overflow_err
|
||||
|
||||
RXPCU Receive FIFO ran out of space to receive the full
|
||||
MPDU. Therefor this MPDU is terminated early and is thus
|
||||
corrupted.
|
||||
|
||||
|
||||
|
||||
This MPDU will not be ACKed.
|
||||
|
||||
RXPCU might still be able to correctly receive the
|
||||
following MPDUs in the PPDU if enough fifo space became
|
||||
available in time
|
||||
|
||||
mpdu_length_err
|
||||
|
||||
Set by RXPCU if the expected MPDU length does not
|
||||
correspond with the actually received number of bytes in the
|
||||
MPDU.
|
||||
|
||||
tkip_mic_err
|
||||
|
||||
Set by RX CRYPTO when CRYPTO detected a TKIP MIC error
|
||||
for this MPDU
|
||||
|
||||
decrypt_err
|
||||
|
||||
Set by RX CRYPTO when CRYPTO detected a decrypt error
|
||||
for this MPDU or CRYPTO received an encrypted frame, but did
|
||||
not get a valid corresponding key id in the peer entry.
|
||||
|
||||
unencrypted_frame_err
|
||||
|
||||
Set by RX CRYPTO when CRYPTO detected an unencrypted
|
||||
frame while in the peer entry field
|
||||
'All_frames_shall_be_encrypted' is set.
|
||||
|
||||
pn_fields_contain_valid_info
|
||||
|
||||
Set by RX CRYPTO to indicate that there is a valid PN
|
||||
field present in this MPDU
|
||||
|
||||
fcs_err
|
||||
|
||||
Set by RXPCU when there is an FCS error detected for
|
||||
this MPDU
|
||||
|
||||
NOTE that when this field is set, all other (error)
|
||||
field settings should be ignored as modules could have made
|
||||
wrong decisions based on the corrupted data.
|
||||
|
||||
msdu_length_err
|
||||
|
||||
Set by RXOLE when there is an msdu length error detected
|
||||
in at least 1 of the MSDUs embedded within the MPDU
|
||||
|
||||
rxdma0_destination_ring
|
||||
|
||||
The ring to which RXDMA0 shall push the frame, assuming
|
||||
no MPDU level errors are detected. In case of MPDU level
|
||||
errors, RXDMA0 might change the RXDMA0 destination
|
||||
|
||||
|
||||
|
||||
<enum 0 rxdma_release_ring > RXDMA0 shall push the
|
||||
frame to the Release ring. Effectively this means the frame
|
||||
needs to be dropped.
|
||||
|
||||
|
||||
|
||||
<enum 1 rxdma2fw_ring > RXDMA0 shall push the frame to
|
||||
the FW ring
|
||||
|
||||
|
||||
|
||||
<enum 2 rxdma2sw_ring > RXDMA0 shall push the frame to
|
||||
the SW ring
|
||||
|
||||
|
||||
|
||||
<enum 3 rxdma2reo_ring > RXDMA0 shall push the frame
|
||||
to the REO entrance ring
|
||||
|
||||
|
||||
|
||||
<legal all>
|
||||
|
||||
rxdma1_destination_ring
|
||||
|
||||
The ring to which RXDMA1 shall push the frame, assuming
|
||||
no MPDU level errors are detected. In case of MPDU level
|
||||
errors, RXDMA1 might change the RXDMA destination
|
||||
|
||||
|
||||
|
||||
<enum 0 rxdma_release_ring > RXDMA1 shall push the
|
||||
frame to the Release ring. Effectively this means the frame
|
||||
needs to be dropped.
|
||||
|
||||
|
||||
|
||||
<enum 1 rxdma2fw_ring > RXDMA1 shall push the frame to
|
||||
the FW ring
|
||||
|
||||
|
||||
|
||||
<enum 2 rxdma2sw_ring > RXDMA1 shall push the frame to
|
||||
the SW ring
|
||||
|
||||
|
||||
|
||||
<enum 3 rxdma2reo_ring > RXDMA1 shall push the frame
|
||||
to the REO entrance ring
|
||||
|
||||
|
||||
|
||||
<legal all>
|
||||
|
||||
decrypt_status_code
|
||||
|
||||
Field provides insight into the decryption performed
|
||||
|
||||
|
||||
|
||||
<enum 0 decrypt_ok> Frame had protection enabled and
|
||||
decrypted properly
|
||||
|
||||
<enum 1 decrypt_unprotected_frame > Frame is unprotected
|
||||
and hence bypassed
|
||||
|
||||
<enum 2 decrypt_data_err > Frame has protection enabled
|
||||
and could not be properly decrypted due to MIC/ICV mismatch
|
||||
etc.
|
||||
|
||||
<enum 3 decrypt_key_invalid > Frame has protection
|
||||
enabled but the key that was required to decrypt this frame
|
||||
was not valid
|
||||
|
||||
<enum 4 decrypt_peer_entry_invalid > Frame has
|
||||
protection enabled but the key that was required to decrypt
|
||||
this frame was not valid
|
||||
|
||||
<enum 5 decrypt_other > Reserved for other indications
|
||||
|
||||
|
||||
|
||||
<legal 0 - 5>
|
||||
|
||||
rx_bitmap_not_updated
|
||||
|
||||
Frame is received, but RXPCU could not update the
|
||||
receive bitmap due to (temporary) fifo contraints.
|
||||
|
||||
<legal all>
|
||||
|
||||
reserved_1b
|
||||
|
||||
<legal 0>
|
||||
*/
|
||||
|
||||
|
||||
/* Description RX_MPDU_END_0_RXPCU_MPDU_FILTER_IN_CATEGORY
|
||||
|
||||
Field indicates what the reason was that this MPDU frame
|
||||
was allowed to come into the receive path by RXPCU
|
||||
|
||||
<enum 0 rxpcu_filter_pass> This MPDU passed the normal
|
||||
frame filter programming of rxpcu
|
||||
|
||||
<enum 1 rxpcu_monitor_client> This MPDU did NOT pass the
|
||||
regular frame filter and would have been dropped, were it
|
||||
not for the frame fitting into the 'monitor_client'
|
||||
category.
|
||||
|
||||
<enum 2 rxpcu_monitor_other> This MPDU did NOT pass the
|
||||
regular frame filter and also did not pass the
|
||||
rxpcu_monitor_client filter. It would have been dropped
|
||||
accept that it did pass the 'monitor_other' category.
|
||||
|
||||
<legal 0-2>
|
||||
*/
|
||||
#define RX_MPDU_END_0_RXPCU_MPDU_FILTER_IN_CATEGORY_OFFSET 0x00000000
|
||||
#define RX_MPDU_END_0_RXPCU_MPDU_FILTER_IN_CATEGORY_LSB 0
|
||||
#define RX_MPDU_END_0_RXPCU_MPDU_FILTER_IN_CATEGORY_MASK 0x00000003
|
||||
|
||||
/* Description RX_MPDU_END_0_SW_FRAME_GROUP_ID
|
||||
|
||||
SW processes frames based on certain classifications.
|
||||
This field indicates to what sw classification this MPDU is
|
||||
mapped.
|
||||
|
||||
The classification is given in priority order
|
||||
|
||||
|
||||
|
||||
<enum 0 sw_frame_group_NDP_frame>
|
||||
|
||||
|
||||
|
||||
<enum 1 sw_frame_group_Multicast_data>
|
||||
|
||||
<enum 2 sw_frame_group_Unicast_data>
|
||||
|
||||
<enum 3 sw_frame_group_Null_data > This includes mpdus
|
||||
of type Data Null as well as QoS Data Null
|
||||
|
||||
|
||||
|
||||
<enum 4 sw_frame_group_mgmt_0000 >
|
||||
|
||||
<enum 5 sw_frame_group_mgmt_0001 >
|
||||
|
||||
<enum 6 sw_frame_group_mgmt_0010 >
|
||||
|
||||
<enum 7 sw_frame_group_mgmt_0011 >
|
||||
|
||||
<enum 8 sw_frame_group_mgmt_0100 >
|
||||
|
||||
<enum 9 sw_frame_group_mgmt_0101 >
|
||||
|
||||
<enum 10 sw_frame_group_mgmt_0110 >
|
||||
|
||||
<enum 11 sw_frame_group_mgmt_0111 >
|
||||
|
||||
<enum 12 sw_frame_group_mgmt_1000 >
|
||||
|
||||
<enum 13 sw_frame_group_mgmt_1001 >
|
||||
|
||||
<enum 14 sw_frame_group_mgmt_1010 >
|
||||
|
||||
<enum 15 sw_frame_group_mgmt_1011 >
|
||||
|
||||
<enum 16 sw_frame_group_mgmt_1100 >
|
||||
|
||||
<enum 17 sw_frame_group_mgmt_1101 >
|
||||
|
||||
<enum 18 sw_frame_group_mgmt_1110 >
|
||||
|
||||
<enum 19 sw_frame_group_mgmt_1111 >
|
||||
|
||||
|
||||
|
||||
<enum 20 sw_frame_group_ctrl_0000 >
|
||||
|
||||
<enum 21 sw_frame_group_ctrl_0001 >
|
||||
|
||||
<enum 22 sw_frame_group_ctrl_0010 >
|
||||
|
||||
<enum 23 sw_frame_group_ctrl_0011 >
|
||||
|
||||
<enum 24 sw_frame_group_ctrl_0100 >
|
||||
|
||||
<enum 25 sw_frame_group_ctrl_0101 >
|
||||
|
||||
<enum 26 sw_frame_group_ctrl_0110 >
|
||||
|
||||
<enum 27 sw_frame_group_ctrl_0111 >
|
||||
|
||||
<enum 28 sw_frame_group_ctrl_1000 >
|
||||
|
||||
<enum 29 sw_frame_group_ctrl_1001 >
|
||||
|
||||
<enum 30 sw_frame_group_ctrl_1010 >
|
||||
|
||||
<enum 31 sw_frame_group_ctrl_1011 >
|
||||
|
||||
<enum 32 sw_frame_group_ctrl_1100 >
|
||||
|
||||
<enum 33 sw_frame_group_ctrl_1101 >
|
||||
|
||||
<enum 34 sw_frame_group_ctrl_1110 >
|
||||
|
||||
<enum 35 sw_frame_group_ctrl_1111 >
|
||||
|
||||
|
||||
|
||||
<enum 36 sw_frame_group_unsupported> This covers type 3
|
||||
and protocol version != 0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<legal 0-37>
|
||||
*/
|
||||
#define RX_MPDU_END_0_SW_FRAME_GROUP_ID_OFFSET 0x00000000
|
||||
#define RX_MPDU_END_0_SW_FRAME_GROUP_ID_LSB 2
|
||||
#define RX_MPDU_END_0_SW_FRAME_GROUP_ID_MASK 0x000001fc
|
||||
|
||||
/* Description RX_MPDU_END_0_RESERVED_0
|
||||
|
||||
<legal 0>
|
||||
*/
|
||||
#define RX_MPDU_END_0_RESERVED_0_OFFSET 0x00000000
|
||||
#define RX_MPDU_END_0_RESERVED_0_LSB 9
|
||||
#define RX_MPDU_END_0_RESERVED_0_MASK 0x0000fe00
|
||||
|
||||
/* Description RX_MPDU_END_0_PHY_PPDU_ID
|
||||
|
||||
A ppdu counter value that PHY increments for every PPDU
|
||||
received. The counter value wraps around
|
||||
|
||||
<legal all>
|
||||
*/
|
||||
#define RX_MPDU_END_0_PHY_PPDU_ID_OFFSET 0x00000000
|
||||
#define RX_MPDU_END_0_PHY_PPDU_ID_LSB 16
|
||||
#define RX_MPDU_END_0_PHY_PPDU_ID_MASK 0xffff0000
|
||||
|
||||
/* Description RX_MPDU_END_1_RESERVED_1A
|
||||
|
||||
<legal 0>
|
||||
*/
|
||||
#define RX_MPDU_END_1_RESERVED_1A_OFFSET 0x00000004
|
||||
#define RX_MPDU_END_1_RESERVED_1A_LSB 0
|
||||
#define RX_MPDU_END_1_RESERVED_1A_MASK 0x000007ff
|
||||
|
||||
/* Description RX_MPDU_END_1_UNSUP_KTYPE_SHORT_FRAME
|
||||
|
||||
This bit will be '1' when WEP or TKIP or WAPI key type
|
||||
is received for 11ah short frame. Crypto will bypass the
|
||||
received packet without decryption to RxOLE after setting
|
||||
this bit.
|
||||
*/
|
||||
#define RX_MPDU_END_1_UNSUP_KTYPE_SHORT_FRAME_OFFSET 0x00000004
|
||||
#define RX_MPDU_END_1_UNSUP_KTYPE_SHORT_FRAME_LSB 11
|
||||
#define RX_MPDU_END_1_UNSUP_KTYPE_SHORT_FRAME_MASK 0x00000800
|
||||
|
||||
/* Description RX_MPDU_END_1_RX_IN_TX_DECRYPT_BYP
|
||||
|
||||
Indicates that RX packet is not decrypted as Crypto is
|
||||
busy with TX packet processing.
|
||||
*/
|
||||
#define RX_MPDU_END_1_RX_IN_TX_DECRYPT_BYP_OFFSET 0x00000004
|
||||
#define RX_MPDU_END_1_RX_IN_TX_DECRYPT_BYP_LSB 12
|
||||
#define RX_MPDU_END_1_RX_IN_TX_DECRYPT_BYP_MASK 0x00001000
|
||||
|
||||
/* Description RX_MPDU_END_1_OVERFLOW_ERR
|
||||
|
||||
RXPCU Receive FIFO ran out of space to receive the full
|
||||
MPDU. Therefor this MPDU is terminated early and is thus
|
||||
corrupted.
|
||||
|
||||
|
||||
|
||||
This MPDU will not be ACKed.
|
||||
|
||||
RXPCU might still be able to correctly receive the
|
||||
following MPDUs in the PPDU if enough fifo space became
|
||||
available in time
|
||||
*/
|
||||
#define RX_MPDU_END_1_OVERFLOW_ERR_OFFSET 0x00000004
|
||||
#define RX_MPDU_END_1_OVERFLOW_ERR_LSB 13
|
||||
#define RX_MPDU_END_1_OVERFLOW_ERR_MASK 0x00002000
|
||||
|
||||
/* Description RX_MPDU_END_1_MPDU_LENGTH_ERR
|
||||
|
||||
Set by RXPCU if the expected MPDU length does not
|
||||
correspond with the actually received number of bytes in the
|
||||
MPDU.
|
||||
*/
|
||||
#define RX_MPDU_END_1_MPDU_LENGTH_ERR_OFFSET 0x00000004
|
||||
#define RX_MPDU_END_1_MPDU_LENGTH_ERR_LSB 14
|
||||
#define RX_MPDU_END_1_MPDU_LENGTH_ERR_MASK 0x00004000
|
||||
|
||||
/* Description RX_MPDU_END_1_TKIP_MIC_ERR
|
||||
|
||||
Set by RX CRYPTO when CRYPTO detected a TKIP MIC error
|
||||
for this MPDU
|
||||
*/
|
||||
#define RX_MPDU_END_1_TKIP_MIC_ERR_OFFSET 0x00000004
|
||||
#define RX_MPDU_END_1_TKIP_MIC_ERR_LSB 15
|
||||
#define RX_MPDU_END_1_TKIP_MIC_ERR_MASK 0x00008000
|
||||
|
||||
/* Description RX_MPDU_END_1_DECRYPT_ERR
|
||||
|
||||
Set by RX CRYPTO when CRYPTO detected a decrypt error
|
||||
for this MPDU or CRYPTO received an encrypted frame, but did
|
||||
not get a valid corresponding key id in the peer entry.
|
||||
*/
|
||||
#define RX_MPDU_END_1_DECRYPT_ERR_OFFSET 0x00000004
|
||||
#define RX_MPDU_END_1_DECRYPT_ERR_LSB 16
|
||||
#define RX_MPDU_END_1_DECRYPT_ERR_MASK 0x00010000
|
||||
|
||||
/* Description RX_MPDU_END_1_UNENCRYPTED_FRAME_ERR
|
||||
|
||||
Set by RX CRYPTO when CRYPTO detected an unencrypted
|
||||
frame while in the peer entry field
|
||||
'All_frames_shall_be_encrypted' is set.
|
||||
*/
|
||||
#define RX_MPDU_END_1_UNENCRYPTED_FRAME_ERR_OFFSET 0x00000004
|
||||
#define RX_MPDU_END_1_UNENCRYPTED_FRAME_ERR_LSB 17
|
||||
#define RX_MPDU_END_1_UNENCRYPTED_FRAME_ERR_MASK 0x00020000
|
||||
|
||||
/* Description RX_MPDU_END_1_PN_FIELDS_CONTAIN_VALID_INFO
|
||||
|
||||
Set by RX CRYPTO to indicate that there is a valid PN
|
||||
field present in this MPDU
|
||||
*/
|
||||
#define RX_MPDU_END_1_PN_FIELDS_CONTAIN_VALID_INFO_OFFSET 0x00000004
|
||||
#define RX_MPDU_END_1_PN_FIELDS_CONTAIN_VALID_INFO_LSB 18
|
||||
#define RX_MPDU_END_1_PN_FIELDS_CONTAIN_VALID_INFO_MASK 0x00040000
|
||||
|
||||
/* Description RX_MPDU_END_1_FCS_ERR
|
||||
|
||||
Set by RXPCU when there is an FCS error detected for
|
||||
this MPDU
|
||||
|
||||
NOTE that when this field is set, all other (error)
|
||||
field settings should be ignored as modules could have made
|
||||
wrong decisions based on the corrupted data.
|
||||
*/
|
||||
#define RX_MPDU_END_1_FCS_ERR_OFFSET 0x00000004
|
||||
#define RX_MPDU_END_1_FCS_ERR_LSB 19
|
||||
#define RX_MPDU_END_1_FCS_ERR_MASK 0x00080000
|
||||
|
||||
/* Description RX_MPDU_END_1_MSDU_LENGTH_ERR
|
||||
|
||||
Set by RXOLE when there is an msdu length error detected
|
||||
in at least 1 of the MSDUs embedded within the MPDU
|
||||
*/
|
||||
#define RX_MPDU_END_1_MSDU_LENGTH_ERR_OFFSET 0x00000004
|
||||
#define RX_MPDU_END_1_MSDU_LENGTH_ERR_LSB 20
|
||||
#define RX_MPDU_END_1_MSDU_LENGTH_ERR_MASK 0x00100000
|
||||
|
||||
/* Description RX_MPDU_END_1_RXDMA0_DESTINATION_RING
|
||||
|
||||
The ring to which RXDMA0 shall push the frame, assuming
|
||||
no MPDU level errors are detected. In case of MPDU level
|
||||
errors, RXDMA0 might change the RXDMA0 destination
|
||||
|
||||
|
||||
|
||||
<enum 0 rxdma_release_ring > RXDMA0 shall push the
|
||||
frame to the Release ring. Effectively this means the frame
|
||||
needs to be dropped.
|
||||
|
||||
|
||||
|
||||
<enum 1 rxdma2fw_ring > RXDMA0 shall push the frame to
|
||||
the FW ring
|
||||
|
||||
|
||||
|
||||
<enum 2 rxdma2sw_ring > RXDMA0 shall push the frame to
|
||||
the SW ring
|
||||
|
||||
|
||||
|
||||
<enum 3 rxdma2reo_ring > RXDMA0 shall push the frame
|
||||
to the REO entrance ring
|
||||
|
||||
|
||||
|
||||
<legal all>
|
||||
*/
|
||||
#define RX_MPDU_END_1_RXDMA0_DESTINATION_RING_OFFSET 0x00000004
|
||||
#define RX_MPDU_END_1_RXDMA0_DESTINATION_RING_LSB 21
|
||||
#define RX_MPDU_END_1_RXDMA0_DESTINATION_RING_MASK 0x00600000
|
||||
|
||||
/* Description RX_MPDU_END_1_RXDMA1_DESTINATION_RING
|
||||
|
||||
The ring to which RXDMA1 shall push the frame, assuming
|
||||
no MPDU level errors are detected. In case of MPDU level
|
||||
errors, RXDMA1 might change the RXDMA destination
|
||||
|
||||
|
||||
|
||||
<enum 0 rxdma_release_ring > RXDMA1 shall push the
|
||||
frame to the Release ring. Effectively this means the frame
|
||||
needs to be dropped.
|
||||
|
||||
|
||||
|
||||
<enum 1 rxdma2fw_ring > RXDMA1 shall push the frame to
|
||||
the FW ring
|
||||
|
||||
|
||||
|
||||
<enum 2 rxdma2sw_ring > RXDMA1 shall push the frame to
|
||||
the SW ring
|
||||
|
||||
|
||||
|
||||
<enum 3 rxdma2reo_ring > RXDMA1 shall push the frame
|
||||
to the REO entrance ring
|
||||
|
||||
|
||||
|
||||
<legal all>
|
||||
*/
|
||||
#define RX_MPDU_END_1_RXDMA1_DESTINATION_RING_OFFSET 0x00000004
|
||||
#define RX_MPDU_END_1_RXDMA1_DESTINATION_RING_LSB 23
|
||||
#define RX_MPDU_END_1_RXDMA1_DESTINATION_RING_MASK 0x01800000
|
||||
|
||||
/* Description RX_MPDU_END_1_DECRYPT_STATUS_CODE
|
||||
|
||||
Field provides insight into the decryption performed
|
||||
|
||||
|
||||
|
||||
<enum 0 decrypt_ok> Frame had protection enabled and
|
||||
decrypted properly
|
||||
|
||||
<enum 1 decrypt_unprotected_frame > Frame is unprotected
|
||||
and hence bypassed
|
||||
|
||||
<enum 2 decrypt_data_err > Frame has protection enabled
|
||||
and could not be properly decrypted due to MIC/ICV mismatch
|
||||
etc.
|
||||
|
||||
<enum 3 decrypt_key_invalid > Frame has protection
|
||||
enabled but the key that was required to decrypt this frame
|
||||
was not valid
|
||||
|
||||
<enum 4 decrypt_peer_entry_invalid > Frame has
|
||||
protection enabled but the key that was required to decrypt
|
||||
this frame was not valid
|
||||
|
||||
<enum 5 decrypt_other > Reserved for other indications
|
||||
|
||||
|
||||
|
||||
<legal 0 - 5>
|
||||
*/
|
||||
#define RX_MPDU_END_1_DECRYPT_STATUS_CODE_OFFSET 0x00000004
|
||||
#define RX_MPDU_END_1_DECRYPT_STATUS_CODE_LSB 25
|
||||
#define RX_MPDU_END_1_DECRYPT_STATUS_CODE_MASK 0x0e000000
|
||||
|
||||
/* Description RX_MPDU_END_1_RX_BITMAP_NOT_UPDATED
|
||||
|
||||
Frame is received, but RXPCU could not update the
|
||||
receive bitmap due to (temporary) fifo contraints.
|
||||
|
||||
<legal all>
|
||||
*/
|
||||
#define RX_MPDU_END_1_RX_BITMAP_NOT_UPDATED_OFFSET 0x00000004
|
||||
#define RX_MPDU_END_1_RX_BITMAP_NOT_UPDATED_LSB 28
|
||||
#define RX_MPDU_END_1_RX_BITMAP_NOT_UPDATED_MASK 0x10000000
|
||||
|
||||
/* Description RX_MPDU_END_1_RESERVED_1B
|
||||
|
||||
<legal 0>
|
||||
*/
|
||||
#define RX_MPDU_END_1_RESERVED_1B_OFFSET 0x00000004
|
||||
#define RX_MPDU_END_1_RESERVED_1B_LSB 29
|
||||
#define RX_MPDU_END_1_RESERVED_1B_MASK 0xe0000000
|
||||
|
||||
|
||||
#endif // _RX_MPDU_END_H_
|
Ссылка в новой задаче
Block a user