qcacmn: Add sig info parameters to cfr info
Add sig info parameters like dcm, stbc, coding etc to cfr_info CRs-Fixed: 2966868 Change-Id: If0c36f58d93c631c75ecfbe47fa1f8cafa84dfaf
This commit is contained in:

committed by
Madan Koyyalamudi

parent
403d510e5e
commit
224f008ca3
@@ -465,8 +465,46 @@ struct cdp_tidq_stats {
|
|||||||
* @rtt_che_buffer_pointer_low32 : The low 32 bits of the 40 bits pointer to
|
* @rtt_che_buffer_pointer_low32 : The low 32 bits of the 40 bits pointer to
|
||||||
* external RTT channel information buffer
|
* external RTT channel information buffer
|
||||||
*
|
*
|
||||||
|
* @rtt_cfo_measurement : raw cfo data extracted from hardware, which is 14 bit
|
||||||
|
* signed number. The first bit used for sign representation and 13 bits for
|
||||||
|
* fractional part.
|
||||||
|
*
|
||||||
|
* @agc_gain_info0: Chain 0 & chain 1 agc gain information reported by PHY
|
||||||
|
*
|
||||||
|
* @agc_gain_info1: Chain 2 & chain 3 agc gain information reported by PHY
|
||||||
|
*
|
||||||
|
* @agc_gain_info2: Chain 4 & chain 5 agc gain information reported by PHY
|
||||||
|
*
|
||||||
|
* @agc_gain_info3: Chain 6 & chain 7 agc gain information reported by PHY
|
||||||
|
*
|
||||||
|
* @rx_start_ts: Rx packet timestamp, the time the first L-STF ADC sample
|
||||||
|
* arrived at Rx antenna.
|
||||||
|
*
|
||||||
|
* @mcs_rate: Indicates the mcs/rate in which packet is received.
|
||||||
|
* If HT,
|
||||||
|
* 0-7: MCS0-MCS7
|
||||||
|
* If VHT,
|
||||||
|
* 0-9: MCS0 to MCS9
|
||||||
|
* If HE,
|
||||||
|
* 0-11: MCS0 to MCS11,
|
||||||
|
* 12-13: 4096QAM,
|
||||||
|
* 14-15: reserved
|
||||||
|
* If Legacy,
|
||||||
|
* 0: 48 Mbps
|
||||||
|
* 1: 24 Mbps
|
||||||
|
* 2: 12 Mbps
|
||||||
|
* 3: 6 Mbps
|
||||||
|
* 4: 54 Mbps
|
||||||
|
* 5: 36 Mbps
|
||||||
|
* 6: 18 Mbps
|
||||||
|
* 7: 9 Mbps
|
||||||
|
*
|
||||||
|
* @gi_type: Indicates the gaurd interval.
|
||||||
|
* 0: 0.8 us
|
||||||
|
* 1: 0.4 us
|
||||||
|
* 2: 1.6 us
|
||||||
|
* 3: 3.2 us
|
||||||
*/
|
*/
|
||||||
|
|
||||||
struct cdp_rx_ppdu_cfr_info {
|
struct cdp_rx_ppdu_cfr_info {
|
||||||
bool bb_captured_channel;
|
bool bb_captured_channel;
|
||||||
bool bb_captured_timeout;
|
bool bb_captured_timeout;
|
||||||
@@ -481,6 +519,8 @@ struct cdp_rx_ppdu_cfr_info {
|
|||||||
uint32_t agc_gain_info2;
|
uint32_t agc_gain_info2;
|
||||||
uint32_t agc_gain_info3;
|
uint32_t agc_gain_info3;
|
||||||
uint32_t rx_start_ts;
|
uint32_t rx_start_ts;
|
||||||
|
uint32_t mcs_rate;
|
||||||
|
uint32_t gi_type;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
/*
|
/*
|
||||||
|
@@ -497,6 +497,16 @@ dp_rx_populate_cdp_indication_ppdu(struct dp_pdev *pdev,
|
|||||||
cdp_rx_ppdu->lsig_a = ppdu_info->rx_status.rate;
|
cdp_rx_ppdu->lsig_a = ppdu_info->rx_status.rate;
|
||||||
cdp_rx_ppdu->u.ltf_size = ppdu_info->rx_status.ltf_size;
|
cdp_rx_ppdu->u.ltf_size = ppdu_info->rx_status.ltf_size;
|
||||||
|
|
||||||
|
if (ppdu_info->rx_status.preamble_type == HAL_RX_PKT_TYPE_11AC) {
|
||||||
|
cdp_rx_ppdu->u.stbc = ppdu_info->rx_status.is_stbc;
|
||||||
|
} else if (ppdu_info->rx_status.preamble_type ==
|
||||||
|
HAL_RX_PKT_TYPE_11AX) {
|
||||||
|
cdp_rx_ppdu->u.stbc = (ppdu_info->rx_status.he_data3 >>
|
||||||
|
QDF_MON_STATUS_STBC_SHIFT) & 0x1;
|
||||||
|
cdp_rx_ppdu->u.dcm = (ppdu_info->rx_status.he_data3 >>
|
||||||
|
QDF_MON_STATUS_DCM_SHIFT) & 0x1;
|
||||||
|
}
|
||||||
|
|
||||||
dp_rx_populate_rx_rssi_chain(ppdu_info, cdp_rx_ppdu);
|
dp_rx_populate_rx_rssi_chain(ppdu_info, cdp_rx_ppdu);
|
||||||
dp_rx_populate_su_evm_details(ppdu_info, cdp_rx_ppdu);
|
dp_rx_populate_su_evm_details(ppdu_info, cdp_rx_ppdu);
|
||||||
cdp_rx_ppdu->rx_antenna = ppdu_info->rx_status.rx_antenna;
|
cdp_rx_ppdu->rx_antenna = ppdu_info->rx_status.rx_antenna;
|
||||||
@@ -1209,6 +1219,21 @@ dp_rx_mon_populate_cfr_ppdu_info(struct dp_pdev *pdev,
|
|||||||
for (chain = 0; chain < MAX_CHAIN; chain++)
|
for (chain = 0; chain < MAX_CHAIN; chain++)
|
||||||
cdp_rx_ppdu->per_chain_rssi[chain] =
|
cdp_rx_ppdu->per_chain_rssi[chain] =
|
||||||
ppdu_info->rx_status.rssi[chain];
|
ppdu_info->rx_status.rssi[chain];
|
||||||
|
|
||||||
|
cdp_rx_ppdu->u.ltf_size = ppdu_info->rx_status.ltf_size;
|
||||||
|
cdp_rx_ppdu->beamformed = ppdu_info->rx_status.beamformed;
|
||||||
|
cdp_rx_ppdu->u.ldpc = ppdu_info->rx_status.ldpc;
|
||||||
|
|
||||||
|
if (ppdu_info->rx_status.preamble_type == HAL_RX_PKT_TYPE_11AC) {
|
||||||
|
cdp_rx_ppdu->u.stbc = ppdu_info->rx_status.is_stbc;
|
||||||
|
} else if (ppdu_info->rx_status.preamble_type ==
|
||||||
|
HAL_RX_PKT_TYPE_11AX) {
|
||||||
|
cdp_rx_ppdu->u.stbc = (ppdu_info->rx_status.he_data3 >>
|
||||||
|
QDF_MON_STATUS_STBC_SHIFT) & 0x1;
|
||||||
|
cdp_rx_ppdu->u.dcm = (ppdu_info->rx_status.he_data3 >>
|
||||||
|
QDF_MON_STATUS_DCM_SHIFT) & 0x1;
|
||||||
|
}
|
||||||
|
|
||||||
dp_rx_mon_handle_cfr_mu_info(pdev, ppdu_info, cdp_rx_ppdu);
|
dp_rx_mon_handle_cfr_mu_info(pdev, ppdu_info, cdp_rx_ppdu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1271,6 +1296,10 @@ dp_rx_mon_populate_cfr_info(struct dp_pdev *pdev,
|
|||||||
= ppdu_info->cfr_info.agc_gain_info3;
|
= ppdu_info->cfr_info.agc_gain_info3;
|
||||||
cfr_info->rx_start_ts
|
cfr_info->rx_start_ts
|
||||||
= ppdu_info->cfr_info.rx_start_ts;
|
= ppdu_info->cfr_info.rx_start_ts;
|
||||||
|
cfr_info->mcs_rate
|
||||||
|
= ppdu_info->cfr_info.mcs_rate;
|
||||||
|
cfr_info->gi_type
|
||||||
|
= ppdu_info->cfr_info.gi_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user