Lines Matching refs:pstatus
70 struct rtl_stats *pstatus)
77 if (!pstatus->packet_toself && !pstatus->packet_beacon)
80 rtlpriv->stats.pwdb_all_cnt += pstatus->rx_pwdb_all;
89 rtlpriv->stats.ui_rssi.total_val += pstatus->signalstrength;
91 pstatus->signalstrength;
98 pstatus->rssi = rtlpriv->stats.signal_strength;
100 if (pstatus->is_cck)
107 pstatus->rx_mimo_signalstrength[rfpath];
110 if (pstatus->rx_mimo_signalstrength[rfpath] >
115 (pstatus->rx_mimo_signalstrength[rfpath])) /
123 (pstatus->rx_mimo_signalstrength[rfpath])) /
126 rtlpriv->stats.rx_snr_db[rfpath] = pstatus->rx_snr[rfpath];
128 pstatus->rx_mimo_evm_dbm[rfpath];
130 pstatus->cfo_short[rfpath];
131 rtlpriv->stats.rx_cfo_tail[rfpath] = pstatus->cfo_tail[rfpath];
136 struct rtl_stats *pstatus)
142 rtlpriv->stats.recv_signal_power = pstatus->recvsignalpower;
143 if (pstatus->recvsignalpower > rtlpriv->stats.recv_signal_power)
145 else if (pstatus->recvsignalpower < rtlpriv->stats.recv_signal_power)
148 5 + pstatus->recvsignalpower + weighting) / 6;
151 static void rtl_process_pwdb(struct ieee80211_hw *hw, struct rtl_stats *pstatus)
160 sta = rtl_find_sta(hw, pstatus->psaddr);
171 undec_sm_pwdb = pstatus->rx_pwdb_all;
172 if (pstatus->rx_pwdb_all > (u32) undec_sm_pwdb) {
175 (pstatus->rx_pwdb_all)) / (RX_SMOOTH_FACTOR);
180 (pstatus->rx_pwdb_all)) / (RX_SMOOTH_FACTOR);
190 rtl_update_rxsignalstatistics(hw, pstatus);
194 struct rtl_stats *pstatus)
199 if (pstatus->signalquality == 0)
210 rtlpriv->stats.ui_link_quality.total_val += pstatus->signalquality;
213 pstatus->signalquality;
222 if (pstatus->rx_mimo_sig_qual[n_stream] != -1) {
225 pstatus->rx_mimo_sig_qual[n_stream];
230 (pstatus->rx_mimo_sig_qual[n_stream] * 1)) /
237 struct rtl_stats *pstatus)
240 if (!pstatus->packet_matchbssid)
243 rtl_process_ui_rssi(hw, pstatus);
244 rtl_process_pwdb(hw, pstatus);
245 rtl_process_ui_link_quality(hw, pstatus);