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
此提交包含在:
@@ -465,8 +465,46 @@ struct cdp_tidq_stats {
|
||||
* @rtt_che_buffer_pointer_low32 : The low 32 bits of the 40 bits pointer to
|
||||
* 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 {
|
||||
bool bb_captured_channel;
|
||||
bool bb_captured_timeout;
|
||||
@@ -481,6 +519,8 @@ struct cdp_rx_ppdu_cfr_info {
|
||||
uint32_t agc_gain_info2;
|
||||
uint32_t agc_gain_info3;
|
||||
uint32_t rx_start_ts;
|
||||
uint32_t mcs_rate;
|
||||
uint32_t gi_type;
|
||||
};
|
||||
#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->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_su_evm_details(ppdu_info, cdp_rx_ppdu);
|
||||
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++)
|
||||
cdp_rx_ppdu->per_chain_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);
|
||||
}
|
||||
|
||||
@@ -1271,6 +1296,10 @@ dp_rx_mon_populate_cfr_info(struct dp_pdev *pdev,
|
||||
= ppdu_info->cfr_info.agc_gain_info3;
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
新增問題並參考
封鎖使用者