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:
Soumya Bhat
2018-03-09 18:39:03 +05:30
committed by nshrivas
parent 68450abc57
commit 35fc699c0f
3 changed files with 23 additions and 1 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -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 */