From d80395982686ac2cd67d87c38acddea82eed7dba Mon Sep 17 00:00:00 2001 From: nobelj Date: Tue, 13 Mar 2018 16:59:42 -0700 Subject: [PATCH] qcacmn: Populate BeamFormed info from VHT_SIG_A and HE_SIG_A Populate Beamformed information from VHT_SIG_A and HE_SIG_A Change-Id: Iba108f6f9905ed02490936c5ca2f00e0e94b318f CRs-Fixed: 2185151 --- dp/inc/cdp_txrx_cmn_struct.h | 1 + dp/wifi3.0/dp_rx_mon_status.c | 1 + hal/wifi3.0/hal_api_mon.h | 6 ++++++ 3 files changed, 8 insertions(+) diff --git a/dp/inc/cdp_txrx_cmn_struct.h b/dp/inc/cdp_txrx_cmn_struct.h index ff4bc9a728..d34920d29c 100644 --- a/dp/inc/cdp_txrx_cmn_struct.h +++ b/dp/inc/cdp_txrx_cmn_struct.h @@ -1123,6 +1123,7 @@ struct cdp_rx_indication_ppdu { uint64_t timestamp; uint32_t length; uint8_t channel; + uint8_t beamformed; }; /** diff --git a/dp/wifi3.0/dp_rx_mon_status.c b/dp/wifi3.0/dp_rx_mon_status.c index 4eb0dbcb85..f1557ebf50 100644 --- a/dp/wifi3.0/dp_rx_mon_status.c +++ b/dp/wifi3.0/dp_rx_mon_status.c @@ -67,6 +67,7 @@ dp_rx_populate_cdp_indication_ppdu(struct dp_pdev *pdev, cdp_rx_ppdu->rssi = ppdu_info->rx_status.rssi_comb; cdp_rx_ppdu->timestamp = ppdu_info->rx_status.tsft; cdp_rx_ppdu->channel = ppdu_info->rx_status.chan_num; + cdp_rx_ppdu->beamformed = ppdu_info->rx_status.beamformed; cdp_rx_ppdu->num_msdu = (cdp_rx_ppdu->tcp_msdu_count + cdp_rx_ppdu->udp_msdu_count + cdp_rx_ppdu->other_msdu_count); diff --git a/hal/wifi3.0/hal_api_mon.h b/hal/wifi3.0/hal_api_mon.h index 61d87b44a6..1b8454c501 100644 --- a/hal/wifi3.0/hal_api_mon.h +++ b/hal/wifi3.0/hal_api_mon.h @@ -737,6 +737,10 @@ hal_rx_status_get_tlv_info(void *rx_tlv, struct hal_rx_ppdu_info *ppdu_info) ppdu_info->rx_status.vht_flag_values4 = HAL_RX_GET(vht_sig_a_info, VHT_SIG_A_INFO_1, SU_MU_CODING); + + ppdu_info->rx_status.beamformed = HAL_RX_GET(vht_sig_a_info, + VHT_SIG_A_INFO_1, BEAMFORMED); + break; } case WIFIPHYRX_HE_SIG_A_SU_E: @@ -885,6 +889,8 @@ hal_rx_status_get_tlv_info(void *rx_tlv, struct hal_rx_ppdu_info *ppdu_info) value = value << QDF_MON_STATUS_TXOP_SHIFT; ppdu_info->rx_status.he_data6 |= value; + ppdu_info->rx_status.beamformed = HAL_RX_GET(he_sig_a_su_info, + HE_SIG_A_SU_INFO_1, TXBF); break; } case WIFIPHYRX_HE_SIG_A_MU_DL_E: