diff --git a/target_if/cfr/src/target_if_cfr_dbr.c b/target_if/cfr/src/target_if_cfr_dbr.c index 9d72cb32a1..b18672b3b6 100644 --- a/target_if/cfr/src/target_if_cfr_dbr.c +++ b/target_if/cfr/src/target_if_cfr_dbr.c @@ -389,6 +389,13 @@ static void dump_cfr_peer_tx_event(wmi_cfr_peer_tx_event_param *event) event->agc_gain[2], event->agc_gain[3], event->agc_gain[4], event->agc_gain[5], event->agc_gain[6], event->agc_gain[7]); + cfr_debug("gain_tbl_idx0: %u gain_tbl_idx1: %u gain_tbl_idx2: %u\n" + "gain_tbl_idx3: %u gain_tbl_idx4: %u gain_tbl_idx5: %u\n" + "gain_tbl_idx6: %u gain_tbl_idx7: %u\n", + event->agc_gain_tbl_index[0], event->agc_gain_tbl_index[1], + event->agc_gain_tbl_index[2], event->agc_gain_tbl_index[3], + event->agc_gain_tbl_index[4], event->agc_gain_tbl_index[5], + event->agc_gain_tbl_index[6], event->agc_gain_tbl_index[7]); } /** @@ -589,6 +596,10 @@ target_if_peer_capture_event(ol_scn_t sc, uint8_t *data, uint32_t datalen) qdf_mem_copy(&header->u.meta_dbr.chain_phase[0], &tx_evt_param.chain_phase[0], HOST_MAX_CHAINS * sizeof(tx_evt_param.chain_phase[0])); + qdf_mem_copy(&header->u.meta_dbr.agc_gain_tbl_index[0], + &tx_evt_param.agc_gain_tbl_index[0], + (HOST_MAX_CHAINS * + sizeof(tx_evt_param.agc_gain_tbl_index[0]))); status = correlate_and_relay(pdev, cookie, lut, CORRELATE_TX_EV_MODULE_ID); diff --git a/target_if/cfr/src/target_if_cfr_enh.c b/target_if/cfr/src/target_if_cfr_enh.c index 4ae9c4c70f..664743853d 100644 --- a/target_if/cfr/src/target_if_cfr_enh.c +++ b/target_if/cfr/src/target_if_cfr_enh.c @@ -417,6 +417,9 @@ static void dump_metadata(struct csi_cfr_header *header, uint32_t cookie) cfr_debug("agc_gain[%d] = %d\n", chain_id, meta->agc_gain[chain_id]); + cfr_debug("agc_gain_tbl_idx[%d] = %d\n", + chain_id, + meta->agc_gain_tbl_index[chain_id]); } cfr_debug("mcs_rate = %u\n", meta->mcs_rate); @@ -864,10 +867,11 @@ void target_if_cfr_rx_tlv_process(struct wlan_objmgr_pdev *pdev, void *nbuf) for (i = 0; i < HOST_MAX_CHAINS; i++) { meta->agc_gain[i] = get_gain_db(gain_info[i]); + meta->agc_gain_tbl_index[i] = get_gain_table_idx(gain_info[i]); if (pcfr->is_aoa_for_rcc_support && (i < pcfr->max_aoa_chains) && - (get_gain_table_idx(gain_info[i]) != 0)) { + (meta->agc_gain_tbl_index[i] != 0)) { cfr_debug("Invalid gain table index reported"); invalid_gain_table_idx = true; } @@ -906,7 +910,7 @@ void target_if_cfr_rx_tlv_process(struct wlan_objmgr_pdev *pdev, void *nbuf) meta->chain_phase[i] = INVALID_PHASE_DELTA; else meta->chain_phase[i] = ((pcfr->ibf_cal_val[i] + - pdelta) % 1024); + pdelta) & 0x3FF); } } else if (pcfr->is_aoa_for_rcc_support) { /** @@ -1591,6 +1595,11 @@ target_if_peer_capture_event(ol_scn_t sc, uint8_t *data, uint32_t datalen) qdf_mem_copy(&header->u.meta_enh.agc_gain[0], &tx_evt_param.agc_gain[0], HOST_MAX_CHAINS * sizeof(tx_evt_param.agc_gain[0])); + qdf_mem_copy(&header->u.meta_enh.agc_gain_tbl_index[0], + &tx_evt_param.agc_gain_tbl_index[0], + (HOST_MAX_CHAINS * + sizeof(tx_evt_param.agc_gain_tbl_index[0]))); + header->u.meta_enh.rtt_cfo_measurement = tx_evt_param.cfo_measurement; header->u.meta_enh.rx_start_ts = tx_evt_param.rx_start_ts; header->u.meta_enh.mcs_rate = tx_evt_param.mcs_rate;