qcacmn: Fix invalid RSSI issue
For QCN9160 target, uCode reports the dBm converted values in status tlv. Hence, remove conversion at HOST. Populate proper chip type for QCN9160's RCC. CRs-Fixed: 3509733 Change-Id: I8422f661161337cdce5ef8001fb502aebdbe0dc2
此提交包含在:
@@ -62,6 +62,35 @@ u_int32_t snr_to_signal_strength(uint8_t snr)
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* tagret_if_snr_to_signal_strength() - wrapper API to snr_to_signal_strength to
|
||||
* consider target_type.
|
||||
* @target_type: target type of the pdev
|
||||
* @meta: pointer to CFR metadata
|
||||
* @ppdu: rx ppdu having per chain rssi to be converted to dBm
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
static inline
|
||||
void target_if_snr_to_signal_strength(uint32_t target_type,
|
||||
struct enh_cfr_metadata *meta,
|
||||
struct cdp_rx_indication_ppdu *ppdu)
|
||||
{
|
||||
uint8_t i;
|
||||
|
||||
/* No need to add CMN_NOISE_FLOOR for york */
|
||||
if (target_type == TARGET_TYPE_QCN9160) {
|
||||
for (i = 0; i < MAX_CHAIN; i++) {
|
||||
meta->chain_rssi[i] = (int8_t)ppdu->per_chain_rssi[i];
|
||||
}
|
||||
} else {
|
||||
for (i = 0; i < MAX_CHAIN; i++) {
|
||||
meta->chain_rssi[i] =
|
||||
snr_to_signal_strength(ppdu->per_chain_rssi[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get_lut_entry() - Retrieve LUT entry using cookie number
|
||||
* @pcfr: PDEV CFR object
|
||||
@@ -1206,9 +1235,7 @@ void target_if_cfr_rx_tlv_process(struct wlan_objmgr_pdev *pdev, void *nbuf)
|
||||
if (meta->num_mu_users > pcfr->max_mu_users)
|
||||
meta->num_mu_users = pcfr->max_mu_users;
|
||||
|
||||
for (i = 0; i < MAX_CHAIN; i++)
|
||||
meta->chain_rssi[i] =
|
||||
snr_to_signal_strength(cdp_rx_ppdu->per_chain_rssi[i]);
|
||||
target_if_snr_to_signal_strength(target_type, meta, cdp_rx_ppdu);
|
||||
|
||||
if (cdp_rx_ppdu->u.ppdu_type != CDP_RX_TYPE_SU) {
|
||||
for (i = 0 ; i < meta->num_mu_users; i++) {
|
||||
@@ -2317,7 +2344,8 @@ QDF_STATUS cfr_enh_init_pdev(struct wlan_objmgr_psoc *psoc,
|
||||
target_type == TARGET_TYPE_QCN9160) {
|
||||
pcfr->subbuf_size = STREAMFS_MAX_SUBBUF_SPRUCE;
|
||||
pcfr->num_subbufs = STREAMFS_NUM_SUBBUF_SPRUCE;
|
||||
pcfr->chip_type = CFR_CAPTURE_RADIO_SPRUCE;
|
||||
pcfr->chip_type = (target_type == TARGET_TYPE_QCN6122) ?
|
||||
CFR_CAPTURE_RADIO_SPRUCE : CFR_CAPTURE_RADIO_YORK;
|
||||
pcfr->max_mu_users = SPRUCE_CFR_MU_USERS;
|
||||
} else if (target_type == TARGET_TYPE_QCN9224) {
|
||||
pcfr->subbuf_size = STREAMFS_MAX_SUBBUF_WAIKIKI;
|
||||
|
新增問題並參考
封鎖使用者