qcacmn: calculate RSSI DBM in WKIKI

Add rssi dbm support bit for rssi_comb calculation
using parameters received from the fw.

Change-Id: Ice57ed69db74852a8b03752632bae747c043e93d
CRs-Fixed: 3183406
Tento commit je obsažen v:
KARTHIK KUMAR T
2022-04-26 23:56:47 +05:30
odevzdal Madan Koyyalamudi
rodič 1c9f82f0ec
revize 1bc325d4f3
5 změnil soubory, kde provedl 15 přidání a 6 odebrání

Zobrazit soubor

@@ -1303,7 +1303,8 @@ dp_rx_mon_populate_ppdu_info_2_0(struct hal_rx_ppdu_info *hal_ppdu_info,
#endif
#ifdef QCA_RSSI_DB2DBM
void
dp_mon_rx_stats_update_rssi_dbm_params_2_0(struct dp_mon_pdev *mon_pdev)
dp_mon_rx_stats_update_rssi_dbm_params_2_0(struct dp_soc *soc,
struct dp_mon_pdev *mon_pdev)
{
struct dp_mon_pdev_be *mon_pdev_be =
dp_get_be_mon_pdev_from_dp_mon_pdev(mon_pdev);
@@ -1317,5 +1318,7 @@ dp_mon_rx_stats_update_rssi_dbm_params_2_0(struct dp_mon_pdev *mon_pdev)
mon_pdev_be->min_nf_dbm;
mon_pdev->ppdu_info.rx_status.xbar_config =
mon_pdev_be->xbar_config;
mon_pdev->ppdu_info.rx_status.rssi_dbm_conv_support =
soc->features.rssi_dbm_conv_support;
}
#endif

Zobrazit soubor

@@ -177,7 +177,8 @@ dp_rx_mon_handle_full_mon(struct dp_pdev *pdev,
* @mon_pdev: monitor pdev
*/
void
dp_mon_rx_stats_update_rssi_dbm_params_2_0(struct dp_mon_pdev *mon_pdev);
dp_mon_rx_stats_update_rssi_dbm_params_2_0(struct dp_soc *soc,
struct dp_mon_pdev *mon_pdev);
#else
/**
* dp_mon_rx_stats_update_rssi_dbm_params_2_0() - update rssi calibration
@@ -185,7 +186,8 @@ dp_mon_rx_stats_update_rssi_dbm_params_2_0(struct dp_mon_pdev *mon_pdev);
* @mon_pdev: monitor pdev
*/
static inline void
dp_mon_rx_stats_update_rssi_dbm_params_2_0(struct dp_mon_pdev *mon_pdev)
dp_mon_rx_stats_update_rssi_dbm_params_2_0(struct dp_soc *soc,
struct dp_mon_pdev *mon_pdev)
{ }
#endif
#endif /* _DP_RX_MON_2_0_H_ */

Zobrazit soubor

@@ -780,7 +780,7 @@ struct dp_mon_ops {
struct dp_vdev *vdev);
void (*mon_lite_mon_disable_rx)(struct dp_pdev *pdev);
void (*mon_rx_stats_update_rssi_dbm_params)
(struct dp_mon_pdev *mon_pdev);
(struct dp_soc *soc, struct dp_mon_pdev *mon_pdev);
};
struct dp_mon_soc {
@@ -3774,7 +3774,7 @@ dp_mon_rx_stats_update_rssi_dbm_params(struct dp_soc *soc,
dp_mon_debug("callback not registered");
return;
}
monitor_ops->mon_rx_stats_update_rssi_dbm_params(mon_pdev);
monitor_ops->mon_rx_stats_update_rssi_dbm_params(soc, mon_pdev);
}
#ifdef QCA_ENHANCED_STATS_SUPPORT

Zobrazit soubor

@@ -356,6 +356,7 @@ typedef __qdf_nbuf_queue_t qdf_nbuf_queue_t;
* @rssi_temp_offset: Temperature based rssi offset
* @min_nf_dbm: min noise floor in active chains per channel
* @xbar_config: 4 bytes, used for BB to RF Chain mapping
* @rssi_dbm_conv_support: Rssi dbm converstion support param
*/
struct mon_rx_status {
uint64_t tsft;
@@ -481,6 +482,7 @@ struct mon_rx_status {
int32_t rssi_temp_offset;
int8_t min_nf_dbm;
uint32_t xbar_config;
bool rssi_dbm_conv_support;
#endif
};

Zobrazit soubor

@@ -5046,8 +5046,10 @@ static unsigned int qdf_nbuf_update_radiotap_ampdu_flags(
#else
#ifdef QCA_RSSI_DB2DBM
#define QDF_MON_STATUS_GET_RSSI_IN_DBM(rx_status) \
(((rx_status)->rssi_dbm_conv_support) ? \
((rx_status)->rssi_comb + (rx_status)->min_nf_dbm +\
(rx_status)->rssi_temp_offset)
(rx_status)->rssi_temp_offset) : \
((rx_status)->rssi_comb + (rx_status)->chan_noise_floor))
#else
#define QDF_MON_STATUS_GET_RSSI_IN_DBM(rx_status) \
(rx_status->rssi_comb + rx_status->chan_noise_floor)