Lines Matching refs:ani_state

171  * This routine returns the index into the ani_state array that
297 struct ar9300_ani_state *ani_state;
304 ani_state = &ahp->ah_ani[index];
305 ahp->ah_curani = ani_state;
313 ani_state->ini_def.m1_thresh = MS(val, AR_PHY_SFCORR_M1_THRESH);
314 ani_state->ini_def.m2_thresh = MS(val, AR_PHY_SFCORR_M2_THRESH);
315 ani_state->ini_def.m2_count_thr = MS(val, AR_PHY_SFCORR_M2COUNT_THR);
318 ani_state->ini_def.m1_thresh_low =
320 ani_state->ini_def.m2_thresh_low =
322 ani_state->ini_def.m2_count_thr_low =
326 ani_state->ini_def.m1_thresh_ext = MS(val, AR_PHY_SFCORR_EXT_M1_THRESH);
327 ani_state->ini_def.m2_thresh_ext = MS(val, AR_PHY_SFCORR_EXT_M2_THRESH);
328 ani_state->ini_def.m1_thresh_low_ext =
330 ani_state->ini_def.m2_thresh_low_ext =
333 ani_state->ini_def.firstep =
335 ani_state->ini_def.firstep_low =
338 ani_state->ini_def.cycpwr_thr1 =
340 ani_state->ini_def.cycpwr_thr1_ext =
344 ani_state->spur_immunity_level = HAL_ANI_DEF_SPUR_IMMUNE_LVL;
345 ani_state->firstep_level = HAL_ANI_DEF_FIRSTEP_LVL;
346 ani_state->ofdm_weak_sig_detect_off = !HAL_ANI_USE_OFDM_WEAK_SIG;
347 ani_state->mrc_cck_off = !HAL_ANI_ENABLE_MRC_CCK;
349 ani_state->cycle_count = 0;
360 struct ar9300_ani_state *ani_state = ahp->ah_curani;
362 ani_state->rssi = BEACON_RSSI(ahp);
365 ani_state->ofdm_noise_immunity_level, ofdm_noise_immunity_level,
366 ani_state->rssi, ani_state->rssi_thr_low, ani_state->rssi_thr_high);
368 ani_state->ofdm_noise_immunity_level = ofdm_noise_immunity_level;
370 if (ani_state->spur_immunity_level !=
378 if (ani_state->firstep_level !=
381 cck_level_table[ani_state->cck_noise_immunity_level].fir_step_level)
389 ani_state->rssi <= ani_state->rssi_thr_high))
391 if (ani_state->ofdm_weak_sig_detect_off) {
397 } else if (ani_state->ofdm_weak_sig_detect_off ==
414 struct ar9300_ani_state *ani_state = ahp->ah_curani;
417 ani_state->rssi = BEACON_RSSI(ahp);
420 __func__, ani_state->cck_noise_immunity_level, cck_noise_immunity_level,
421 ani_state->rssi, ani_state->rssi_thr_low, ani_state->rssi_thr_high);
424 ani_state->rssi <= ani_state->rssi_thr_low &&
430 ani_state->cck_noise_immunity_level = cck_noise_immunity_level;
432 level = ani_state->ofdm_noise_immunity_level;
433 if (ani_state->firstep_level !=
443 if (ani_state->mrc_cck_off ==
459 struct ar9300_ani_state *ani_state = ahp->ah_curani;
495 ani_state->ini_def.m1_thresh_low : m1_thresh_low_off;
497 ani_state->ini_def.m2_thresh_low : m2_thresh_low_off;
499 ani_state->ini_def.m1_thresh : m1_thresh_off;
501 ani_state->ini_def.m2_thresh : m2_thresh_off;
503 ani_state->ini_def.m2_count_thr : m2_count_thr_off;
505 ani_state->ini_def.m2_count_thr_low : m2_count_thr_low_off;
507 ani_state->ini_def.m1_thresh_low_ext : m1_thresh_low_ext_off;
509 ani_state->ini_def.m2_thresh_low_ext : m2_thresh_low_ext_off;
511 ani_state->ini_def.m1_thresh_ext : m1_thresh_ext_off;
513 ani_state->ini_def.m2_thresh_ext : m2_thresh_ext_off;
542 if ((!is_on) != ani_state->ofdm_weak_sig_detect_off) {
546 !ani_state->ofdm_weak_sig_detect_off ? "on" : "off",
553 ani_state->ofdm_weak_sig_detect_off = !is_on;
571 ani_state->ini_def.firstep;
586 ani_state->ini_def.firstep_low;
596 if (level != ani_state->firstep_level) {
599 __func__, chan->ic_freq, ani_state->firstep_level, level,
600 HAL_ANI_DEF_FIRSTEP_LVL, value, ani_state->ini_def.firstep);
604 __func__, chan->ic_freq, ani_state->firstep_level, level,
606 ani_state->ini_def.firstep_low);
607 if (level > ani_state->firstep_level) {
609 } else if (level < ani_state->firstep_level) {
612 ani_state->firstep_level = level;
629 ani_state->ini_def.cycpwr_thr1;
645 ani_state->ini_def.cycpwr_thr1_ext;
654 if (level != ani_state->spur_immunity_level) {
658 __func__, chan->ic_freq, ani_state->spur_immunity_level, level,
660 ani_state->ini_def.cycpwr_thr1);
664 __func__, chan->ic_freq, ani_state->spur_immunity_level, level,
666 ani_state->ini_def.cycpwr_thr1_ext);
667 if (level > ani_state->spur_immunity_level) {
669 } else if (level < ani_state->spur_immunity_level) {
672 ani_state->spur_immunity_level = level;
687 if ((!is_on) != ani_state->mrc_cck_off) {
690 !ani_state->mrc_cck_off ? "on" : "off", is_on ? "on" : "off");
696 ani_state->mrc_cck_off = !is_on;
731 ani_state = ahp->ah_curani;
754 __func__, ani_state->spur_immunity_level,
755 !ani_state->ofdm_weak_sig_detect_off ? "on" : "off",
756 ani_state->firstep_level, !ani_state->mrc_cck_off ? "on" : "off",
757 ani_state->listen_time, ani_state->cycle_count,
758 ani_state->listen_time, ani_state->ofdm_phy_err_count,
759 ani_state->cck_phy_err_count);
769 log_data.noise_immun_lvl = ani_state->ofdm_noise_immunity_level;
770 log_data.spur_immun_lvl = ani_state->spur_immunity_level;
771 log_data.ofdm_weak_det = ani_state->ofdm_weak_sig_detect_off;
772 log_data.cck_weak_thr = ani_state->cck_noise_immunity_level;
773 log_data.fir_lvl = ani_state->firstep_level;
774 log_data.listen_time = ani_state->listen_time;
775 log_data.cycle_count = ani_state->cycle_count;
777 log_data.ofdm_phy_err_count = ani_state->listen_time ?
778 ani_state->ofdm_phy_err_count * 1000 / ani_state->listen_time : 0;
780 log_data.cck_phy_err_count = ani_state->listen_time ?
781 ani_state->cck_phy_err_count * 1000 / ani_state->listen_time : 0;
782 log_data.rssi = ani_state->rssi;
796 struct ar9300_ani_state *ani_state;
802 ani_state = ahp->ah_curani;
804 ani_state->listen_time = 0;
814 ani_state->ofdm_phy_err_count = 0;
815 ani_state->cck_phy_err_count = 0;
822 struct ar9300_ani_state *ani_state;
828 ani_state = ahp->ah_curani;
830 if (ani_state->ofdm_noise_immunity_level < HAL_ANI_OFDM_MAX_LEVEL) {
832 ah, ani_state->ofdm_noise_immunity_level + 1);
840 struct ar9300_ani_state *ani_state;
846 ani_state = ahp->ah_curani;
848 if (ani_state->cck_noise_immunity_level < HAL_ANI_CCK_MAX_LEVEL) {
850 ah, ani_state->cck_noise_immunity_level + 1);
863 struct ar9300_ani_state *ani_state;
879 ani_state = &ahp->ah_ani[index];
880 HALASSERT(ani_state != AH_NULL);
881 ahp->ah_curani = ani_state;
885 ani_state->phy_noise_spur = 0;
910 if (ani_state->ofdm_noise_immunity_level != HAL_ANI_OFDM_DEF_LEVEL ||
911 ani_state->cck_noise_immunity_level != HAL_ANI_CCK_DEF_LEVEL)
917 chan->ic_flags, is_scanning, ani_state->must_restore,
918 ani_state->ofdm_noise_immunity_level,
919 ani_state->cck_noise_immunity_level);
934 ani_state->must_restore = AH_TRUE;
950 chan->ic_flags, is_scanning, ani_state->must_restore,
951 ani_state->ofdm_noise_immunity_level,
952 ani_state->cck_noise_immunity_level);
954 ah, ani_state->ofdm_noise_immunity_level);
956 ah, ani_state->cck_noise_immunity_level);
957 ani_state->must_restore = AH_FALSE;
1022 struct ar9300_ani_state *ani_state = ahp->ah_curani;
1024 if (ani_state->ofdm_noise_immunity_level > 0 &&
1025 (ani_state->ofdms_turn || ani_state->cck_noise_immunity_level == 0)) {
1030 ah, ani_state->ofdm_noise_immunity_level - 1);
1039 if (ani_state->cck_noise_immunity_level > 0) {
1044 ah, ani_state->cck_noise_immunity_level - 1);
1062 struct ar9300_ani_state *ani_state;
1073 ani_state = ahp->ah_curani;
1074 if (ani_state->cycle_count == 0 || ani_state->cycle_count > cycle_count) {
1084 "%s: 1st call: ani_state->cycle_count=%d\n",
1085 __func__, ani_state->cycle_count);
1088 int32_t ccdelta = cycle_count - ani_state->cycle_count;
1089 int32_t rfdelta = rx_frame_count - ani_state->rx_frame_count;
1090 int32_t tfdelta = tx_frame_count - ani_state->tx_frame_count;
1091 int32_t rcdelta = rx_busy_count - ani_state->rx_busy_count;
1092 int32_t extrcdelta = rx_ext_busy_count - ani_state->rx_ext_busy_count;
1110 ani_state->cycle_count = cycle_count;
1111 ani_state->tx_frame_count = tx_frame_count;
1112 ani_state->rx_frame_count = rx_frame_count;
1113 ani_state->rx_busy_count = rx_busy_count;
1114 ani_state->rx_ext_busy_count = rx_ext_busy_count;
1126 struct ar9300_ani_state *ani_state;
1132 ani_state = ahp->ah_curani;
1135 if (ani_state == NULL) {
1148 if (ani_state->must_restore) {
1166 ani_state->listen_time += listen_time;
1177 cck_phy_err_cnt - ani_state->cck_phy_err_count;
1179 ofdm_phy_err_cnt - ani_state->ofdm_phy_err_count;
1184 ofdm_phy_err_cnt - ani_state->ofdm_phy_err_count;
1185 ani_state->ofdm_phy_err_count = ofdm_phy_err_cnt;
1188 cck_phy_err_cnt - ani_state->cck_phy_err_count;
1189 ani_state->cck_phy_err_count = cck_phy_err_cnt;
1207 ani_state->ofdm_phy_err_count * 1000 / ani_state->listen_time;
1209 ani_state->cck_phy_err_count * 1000 / ani_state->listen_time;
1214 ani_state->ofdm_noise_immunity_level, ofdm_phy_err_rate,
1215 ani_state->cck_noise_immunity_level, cck_phy_err_rate,
1216 ani_state->ofdms_turn);
1218 if (ani_state->listen_time >= HAL_NOISE_DETECT_PERIOD) {
1219 old_phy_noise_spur = ani_state->phy_noise_spur;
1220 if (ofdm_phy_err_rate <= ani_state->ofdm_trig_low &&
1221 cck_phy_err_rate <= ani_state->cck_trig_low) {
1222 if (ani_state->listen_time >= HAL_NOISE_RECOVER_PERIOD) {
1223 ani_state->phy_noise_spur = 0;
1226 ani_state->phy_noise_spur = 1;
1228 if (old_phy_noise_spur != ani_state->phy_noise_spur) {
1231 __func__, old_phy_noise_spur, ani_state->phy_noise_spur);
1235 if (ani_state->listen_time > 5 * ahp->ah_ani_period) {
1240 if (ofdm_phy_err_rate <= ani_state->ofdm_trig_low &&
1241 cck_phy_err_rate <= ani_state->cck_trig_low)
1246 __func__, ani_state->listen_time,
1247 ani_state->ofdm_noise_immunity_level, ofdm_phy_err_rate,
1248 ani_state->ofdm_trig_low, ani_state->cck_noise_immunity_level,
1249 cck_phy_err_rate, ani_state->cck_trig_low);
1251 ani_state->ofdms_turn = !ani_state->ofdms_turn;
1256 __func__, ani_state->listen_time,
1259 } else if (ani_state->listen_time > ahp->ah_ani_period) {
1261 if (ofdm_phy_err_rate > ani_state->ofdm_trig_high &&
1262 (cck_phy_err_rate <= ani_state->cck_trig_high ||
1263 ani_state->ofdms_turn))
1268 __func__, ani_state->listen_time,
1269 ani_state->ofdm_noise_immunity_level, ofdm_phy_err_rate,
1270 ani_state->ofdm_trig_high);
1273 ani_state->ofdms_turn = AH_FALSE;
1274 } else if (cck_phy_err_rate > ani_state->cck_trig_high) {
1278 __func__, ani_state->listen_time,
1279 ani_state->cck_noise_immunity_level, cck_phy_err_rate,
1280 ani_state->cck_trig_high);
1283 ani_state->ofdms_turn = AH_TRUE;
1298 struct ar9300_ani_state *ani_state;
1300 ani_state = ahp->ah_curani;
1302 return ani_state->phy_noise_spur;