Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2c4fa6c9 authored by Shwetha G K's avatar Shwetha G K Committed by Madan Koyyalamudi
Browse files

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
parent 0b75aa69
Loading
Loading
Loading
Loading
+41 −1
Original line number Diff line number Diff line
@@ -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
/*
+29 −0
Original line number Diff line number Diff line
@@ -489,6 +489,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;
@@ -1197,6 +1207,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);
}

@@ -1259,6 +1284,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;
}

/**