qcacmn: Protocol tag support in lite rx monitor
Add protocol tagging support in lite rx monitor mode. Change-Id: I1966fc4f54e1f4a1486162a88853f68f7644a766 CRs-Fixed: 2448517
This commit is contained in:

کامیت شده توسط
nshrivas

والد
ac6b275768
کامیت
acc8b565b3
@@ -405,17 +405,27 @@ struct hal_rx_msdu_payload_info {
|
||||
/**
|
||||
* struct hal_rx_nac_info - struct for neighbour info
|
||||
* @fc_valid: flag indicate if it has valid frame control information
|
||||
* @frame_control: frame control from each MPDU
|
||||
* @to_ds_flag: flag indicate to_ds bit
|
||||
* @mac_addr2_valid: flag indicate if mac_addr2 is valid
|
||||
* @mac_addr2: mac address2 in wh
|
||||
*/
|
||||
struct hal_rx_nac_info {
|
||||
uint8_t fc_valid;
|
||||
uint16_t frame_control;
|
||||
uint8_t to_ds_flag;
|
||||
uint8_t mac_addr2_valid;
|
||||
uint8_t mac_addr2[QDF_MAC_ADDR_SIZE];
|
||||
};
|
||||
|
||||
/**
|
||||
* struct hal_rx_ppdu_msdu_info - struct for msdu info from HW TLVs
|
||||
* @cce_metadata: cached metadata value received in the MSDU_END TLV
|
||||
*/
|
||||
struct hal_rx_ppdu_msdu_info {
|
||||
uint16_t cce_metadata;
|
||||
};
|
||||
|
||||
struct hal_rx_ppdu_info {
|
||||
struct hal_rx_ppdu_common_info com_info;
|
||||
struct mon_rx_status rx_status;
|
||||
@@ -432,6 +442,7 @@ struct hal_rx_ppdu_info {
|
||||
uint32_t hdr_len;
|
||||
/* MPDU FCS error */
|
||||
bool fcs_err;
|
||||
struct hal_rx_ppdu_msdu_info rx_msdu_info[HAL_MAX_UL_MU_USERS];
|
||||
};
|
||||
|
||||
static inline uint32_t
|
||||
|
@@ -1183,6 +1183,11 @@ hal_rx_status_get_tlv_info_generic(void *rx_tlv_hdr, void *ppduinfo,
|
||||
RX_MPDU_INFO_2,
|
||||
TO_DS);
|
||||
|
||||
ppdu_info->nac_info.frame_control =
|
||||
HAL_RX_GET(rx_mpdu_start,
|
||||
RX_MPDU_INFO_14,
|
||||
MPDU_FRAME_CONTROL_FIELD);
|
||||
|
||||
ppdu_info->nac_info.mac_addr2_valid =
|
||||
HAL_RX_GET(rx_mpdu_start,
|
||||
RX_MPDU_INFO_2,
|
||||
@@ -1225,6 +1230,10 @@ hal_rx_status_get_tlv_info_generic(void *rx_tlv_hdr, void *ppduinfo,
|
||||
HAL_RX_GET(rx_tlv, RX_MPDU_END_1,
|
||||
FCS_ERR);
|
||||
return HAL_TLV_STATUS_MPDU_END;
|
||||
case WIFIRX_MSDU_END_E:
|
||||
ppdu_info->rx_msdu_info[user_id].cce_metadata =
|
||||
HAL_RX_MSDU_END_CCE_METADATA_GET(rx_tlv);
|
||||
return HAL_TLV_STATUS_MSDU_END;
|
||||
case 0:
|
||||
return HAL_TLV_STATUS_PPDU_DONE;
|
||||
|
||||
|
مرجع در شماره جدید
Block a user