qcacmn: Populate RX PPDU length
Add change to compute and populate RX ppdu length from RX ampdu length. Change-Id: I0e60764be1d3b0a0e69a8dc52cfb094a5df0f596
This commit is contained in:
@@ -5811,7 +5811,7 @@ dp_ppdu_ring_cfg(struct dp_pdev *pdev)
|
||||
struct htt_rx_ring_tlv_filter htt_tlv_filter = {0};
|
||||
int mac_id;
|
||||
|
||||
htt_tlv_filter.mpdu_start = 0;
|
||||
htt_tlv_filter.mpdu_start = 1;
|
||||
htt_tlv_filter.msdu_start = 0;
|
||||
htt_tlv_filter.packet = 0;
|
||||
htt_tlv_filter.msdu_end = 0;
|
||||
|
@@ -1002,6 +1002,26 @@ hal_rx_status_get_tlv_info(void *rx_tlv, struct hal_rx_ppdu_info *ppdu_info)
|
||||
ppdu_info->msdu_info.first_msdu_payload = rx_tlv;
|
||||
ppdu_info->msdu_info.payload_len = tlv_len;
|
||||
break;
|
||||
case WIFIRX_MPDU_START_E:
|
||||
{
|
||||
uint8_t *rx_mpdu_start =
|
||||
(uint8_t *)rx_tlv + HAL_RX_OFFSET(RX_MPDU_START_0,
|
||||
RX_MPDU_INFO_RX_MPDU_INFO_DETAILS);
|
||||
uint32_t ppdu_id = HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_0,
|
||||
PHY_PPDU_ID);
|
||||
|
||||
if (ppdu_info->rx_status.prev_ppdu_id != ppdu_id) {
|
||||
ppdu_info->rx_status.prev_ppdu_id = ppdu_id;
|
||||
ppdu_info->rx_status.ppdu_len =
|
||||
HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_13,
|
||||
MPDU_LENGTH);
|
||||
} else {
|
||||
ppdu_info->rx_status.ppdu_len +=
|
||||
HAL_RX_GET(rx_mpdu_start, RX_MPDU_INFO_13,
|
||||
MPDU_LENGTH);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
return HAL_TLV_STATUS_PPDU_DONE;
|
||||
|
||||
|
@@ -217,6 +217,7 @@
|
||||
* @he_data3: HE property of received frame
|
||||
* @he_data4: HE property of received frame
|
||||
* @he_data5: HE property of received frame
|
||||
* @prev_ppdu_id: ppdu_id in previously received message
|
||||
*
|
||||
*/
|
||||
struct mon_rx_status {
|
||||
@@ -286,6 +287,7 @@ struct mon_rx_status {
|
||||
uint16_t he_data5;
|
||||
uint16_t he_data6;
|
||||
uint32_t ppdu_len;
|
||||
uint32_t prev_ppdu_id;
|
||||
};
|
||||
|
||||
/* Masks for HE SIG known fields in mon_rx_status structure */
|
||||
|
Reference in New Issue
Block a user