qcacmn: Remove packet bandwidth offset from snr

Remove packet bandwidth offset from SNR. So that SNR derived from TLV
path and SNR derived from periodic stats looks same.

Change-Id: Iaed3e3321768bef16ac1ea164920dc35eea8f002
CRs-Fixed: 3585817
Bu işleme şunda yer alıyor:
nobelj
2023-08-10 15:47:48 -07:00
işlemeyi yapan: Rahul Choudhary
ebeveyn 5040e12d35
işleme 7de7642831

Dosyayı Görüntüle

@@ -748,65 +748,6 @@ static inline void dp_rx_rate_stats_update(struct dp_peer *peer,
peer->vdev->stats.rx.last_rx_rate = ratekbps;
}
#ifdef WLAN_FEATURE_11BE
static inline uint8_t dp_get_bw_offset_frm_bw(struct dp_soc *soc,
enum CMN_BW_TYPES bw)
{
uint8_t pkt_bw_offset;
switch (bw) {
case CMN_BW_20MHZ:
pkt_bw_offset = PKT_BW_GAIN_20MHZ;
break;
case CMN_BW_40MHZ:
pkt_bw_offset = PKT_BW_GAIN_40MHZ;
break;
case CMN_BW_80MHZ:
pkt_bw_offset = PKT_BW_GAIN_80MHZ;
break;
case CMN_BW_160MHZ:
pkt_bw_offset = PKT_BW_GAIN_160MHZ;
break;
case CMN_BW_320MHZ:
pkt_bw_offset = PKT_BW_GAIN_320MHZ;
break;
default:
pkt_bw_offset = 0;
dp_rx_mon_status_debug("%pK: Invalid BW index = %d",
soc, bw);
}
return pkt_bw_offset;
}
#else
static inline uint8_t dp_get_bw_offset_frm_bw(struct dp_soc *soc,
enum CMN_BW_TYPES bw)
{
uint8_t pkt_bw_offset;
switch (bw) {
case CMN_BW_20MHZ:
pkt_bw_offset = PKT_BW_GAIN_20MHZ;
break;
case CMN_BW_40MHZ:
pkt_bw_offset = PKT_BW_GAIN_40MHZ;
break;
case CMN_BW_80MHZ:
pkt_bw_offset = PKT_BW_GAIN_80MHZ;
break;
case CMN_BW_160MHZ:
pkt_bw_offset = PKT_BW_GAIN_160MHZ;
break;
default:
pkt_bw_offset = 0;
dp_rx_mon_status_debug("%pK: Invalid BW index = %d",
soc, bw);
}
return pkt_bw_offset;
}
#endif
#ifdef WLAN_CONFIG_TELEMETRY_AGENT
static void
dp_ppdu_desc_user_rx_time_update(struct dp_pdev *pdev,
@@ -931,7 +872,6 @@ static void dp_rx_stats_update(struct dp_pdev *pdev,
struct dp_soc *soc = NULL;
uint8_t mcs, preamble, ac = 0, nss, ppdu_type, res_mcs = 0;
uint32_t num_msdu;
uint8_t pkt_bw_offset;
struct dp_peer *peer;
struct dp_mon_peer *mon_peer;
struct cdp_rx_stats_ppdu_user *ppdu_user;
@@ -989,8 +929,7 @@ static void dp_rx_stats_update(struct dp_pdev *pdev,
byte_count = ppdu_user->mpdu_ok_byte_count +
ppdu_user->mpdu_err_byte_count;
pkt_bw_offset = dp_get_bw_offset_frm_bw(soc, ppdu->u.bw);
DP_STATS_UPD(mon_peer, rx.snr, (ppdu->rssi + pkt_bw_offset));
DP_STATS_UPD(mon_peer, rx.snr, ppdu->rssi);
if (qdf_unlikely(mon_peer->stats.rx.avg_snr == CDP_INVALID_SNR))
mon_peer->stats.rx.avg_snr =
@@ -1104,8 +1043,7 @@ static void dp_rx_stats_update(struct dp_pdev *pdev,
continue;
dp_peer_stats_notify(pdev, peer);
DP_STATS_UPD(mon_peer, rx.last_snr,
(ppdu->rssi + pkt_bw_offset));
DP_STATS_UPD(mon_peer, rx.last_snr, ppdu->rssi);
dp_peer_qos_stats_notify(pdev, ppdu_user);