Lines Matching refs:rf
1303 struct bwi_rf *rf = &mac->mac_rf; in bwi_mac_set_tpctl_11bg() local
1309 (rf->rf_rev < 6 ? BWI_RF_ATTEN_MAX0 in bwi_mac_set_tpctl_11bg()
1327 if (rf->rf_type == BWI_RF_T_BCM2050) { in bwi_mac_set_tpctl_11bg()
1390 struct bwi_rf *rf = &mac->mac_rf; in bwi_mac_setup_tpctl() local
1395 if (rf->rf_type == BWI_RF_T_BCM2050 && rf->rf_rev < 6) in bwi_mac_setup_tpctl()
1402 if (rf->rf_type == BWI_RF_T_BCM2050) { in bwi_mac_setup_tpctl()
1403 if (rf->rf_rev == 1) in bwi_mac_setup_tpctl()
1405 else if (rf->rf_rev < 6) in bwi_mac_setup_tpctl()
1407 else if (rf->rf_rev == 8) in bwi_mac_setup_tpctl()
1429 if (rf->rf_type != BWI_RF_T_BCM2050) { in bwi_mac_setup_tpctl()
1430 if (rf->rf_type == BWI_RF_T_BCM2053 && rf->rf_rev == 1) in bwi_mac_setup_tpctl()
1441 switch (rf->rf_rev) { in bwi_mac_setup_tpctl()
1491 struct bwi_rf *rf = &mac->mac_rf; in bwi_mac_dummy_xmit() local
1527 if (rf->rf_type == BWI_RF_T_BCM2050 && rf->rf_rev <= 5) in bwi_mac_dummy_xmit()
1546 if (rf->rf_type == BWI_RF_T_BCM2050 && rf->rf_rev <= 5) in bwi_mac_dummy_xmit()
1556 struct bwi_rf *rf = &mac->mac_rf; in bwi_mac_init_tpctl_11bg() local
1577 rf->rf_type == BWI_RF_T_BCM2050) { in bwi_mac_init_tpctl_11bg()
1590 if (rf->rf_rev >= 6 && rf->rf_rev <= 8) in bwi_mac_init_tpctl_11bg()
1602 rf->rf_base_tssi = PHY_READ(mac, 0x29); in bwi_mac_init_tpctl_11bg()
1603 DPRINTF(1, "%s: base tssi %d\n", sc->sc_dev.dv_xname, rf->rf_base_tssi); in bwi_mac_init_tpctl_11bg()
1605 if (abs(rf->rf_base_tssi - rf->rf_idle_tssi) >= 20) { in bwi_mac_init_tpctl_11bg()
2151 struct bwi_rf *rf = &mac->mac_rf; in bwi_mac_hostflags_init() local
2166 if (phy->phy_rev >= 2 && rf->rf_type == BWI_RF_T_BCM2050) in bwi_mac_hostflags_init()
2585 struct bwi_rf *rf = &mac->mac_rf; in bwi_mac_adjust_tpctl() local
2601 if (rf->rf_type == BWI_RF_T_BCM2050 && rf->rf_rev == 2) { in bwi_mac_adjust_tpctl()
2641 struct bwi_rf *rf = &mac->mac_rf; in bwi_mac_calibrate_txpower() local
2717 txpwr_diff = rf->rf_txpower_max - cur_txpwr; /* XXX ni_txpower */ in bwi_mac_calibrate_txpower()
2988 struct bwi_rf *rf = &mac->mac_rf; in bwi_phy_init_11g() local
3030 if (rf->rf_rev == 8) { in bwi_phy_init_11g()
3038 if (rf->rf_rev != 8) in bwi_phy_init_11g()
3044 if (rf->rf_type == BWI_RF_T_BCM2050 && rf->rf_rev == 8) { in bwi_phy_init_11g()
3076 if (rf->rf_nrssi[0] == BWI_INVALID_NRSSI) { in bwi_phy_init_11g()
3077 KASSERT(rf->rf_nrssi[1] == BWI_INVALID_NRSSI); in bwi_phy_init_11g()
3080 KASSERT(rf->rf_nrssi[1] != BWI_INVALID_NRSSI); in bwi_phy_init_11g()
3085 if (rf->rf_rev == 8) in bwi_phy_init_11g()
3112 struct bwi_rf *rf = &mac->mac_rf; in bwi_phy_init_11b_rev4() local
3128 chan = rf->rf_curchan; in bwi_phy_init_11b_rev4()
3133 if (rf->rf_type != BWI_RF_T_BCM2050) { in bwi_phy_init_11b_rev4()
3141 if (rf->rf_type == BWI_RF_T_BCM2050) { in bwi_phy_init_11b_rev4()
3153 if (rf->rf_type == BWI_RF_T_BCM2050) in bwi_phy_init_11b_rev4()
3160 if (rf->rf_type == BWI_RF_T_BCM2050) in bwi_phy_init_11b_rev4()
3166 if (rf->rf_type == BWI_RF_T_BCM2050) in bwi_phy_init_11b_rev4()
3181 struct bwi_rf *rf = &mac->mac_rf; in bwi_phy_init_11b_rev5() local
3201 if (rf->rf_type == BWI_RF_T_BCM2050) in bwi_phy_init_11b_rev5()
3205 if (rf->rf_type == BWI_RF_T_BCM2050) { in bwi_phy_init_11b_rev5()
3244 orig_chan = rf->rf_curchan; in bwi_phy_init_11b_rev5()
3247 if (rf->rf_type != BWI_RF_T_BCM2050) { in bwi_phy_init_11b_rev5()
3255 if (rf->rf_type == BWI_RF_T_BCM2050) { in bwi_phy_init_11b_rev5()
3272 if (rf->rf_type == BWI_RF_T_BCM2050) in bwi_phy_init_11b_rev5()
3282 struct bwi_rf *rf = &mac->mac_rf; in bwi_phy_init_11b_rev6() local
3290 if (rf->rf_rev == 4 || rf->rf_rev == 5) { in bwi_phy_init_11b_rev6()
3301 } else if (rf->rf_rev == 8) { in bwi_phy_init_11b_rev6()
3353 orig_chan = rf->rf_curchan; in bwi_phy_init_11b_rev6()
3364 if (rf->rf_rev < 6 || rf->rf_rev == 8) { in bwi_phy_init_11b_rev6()
3368 if (rf->rf_rev <= 2) { in bwi_phy_init_11b_rev6()
3380 if (rf->rf_rev >= 6) in bwi_phy_init_11b_rev6()
3388 if (rf->rf_rev <= 5) { in bwi_phy_init_11b_rev6()
3390 if (rf->rf_rev <= 2) in bwi_phy_init_11b_rev6()
3722 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_lo_isused() local
3725 idx = lo - rf->rf_lo; in bwi_rf_lo_isused()
3728 return (isset(rf->rf_lo_used, idx)); in bwi_rf_lo_isused()
3743 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_read() local
3746 ctrl |= rf->rf_ctrl_rd; in bwi_rf_read()
3747 if (rf->rf_ctrl_adj) { in bwi_rf_read()
3764 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_attach() local
3803 rf->rf_ctrl_rd = 0; in bwi_rf_attach()
3804 rf->rf_ctrl_adj = 0; in bwi_rf_attach()
3814 rf->rf_ctrl_rd = BWI_RF_CTRL_RD_11A; in bwi_rf_attach()
3815 rf->rf_on = bwi_rf_on_11a; in bwi_rf_attach()
3816 rf->rf_off = bwi_rf_off_11a; in bwi_rf_attach()
3817 rf->rf_calc_rssi = bwi_rf_calc_rssi_bcm2060; in bwi_rf_attach()
3821 rf->rf_ctrl_rd = BWI_RF_CTRL_RD_11BG; in bwi_rf_attach()
3822 rf->rf_calc_rssi = bwi_rf_calc_rssi_bcm2050; in bwi_rf_attach()
3824 rf->rf_ctrl_adj = 1; in bwi_rf_attach()
3825 rf->rf_calc_rssi = bwi_rf_calc_rssi_bcm2053; in bwi_rf_attach()
3831 rf->rf_on = bwi_rf_on_11bg; in bwi_rf_attach()
3832 rf->rf_off = bwi_rf_off_11bg; in bwi_rf_attach()
3833 rf->rf_calc_nrssi_slope = bwi_rf_calc_nrssi_slope_11b; in bwi_rf_attach()
3834 rf->rf_set_nrssi_thr = bwi_rf_set_nrssi_thr_11b; in bwi_rf_attach()
3836 rf->rf_lo_update = bwi_rf_lo_update_11g; in bwi_rf_attach()
3838 rf->rf_lo_update = bwi_rf_lo_update_11b; in bwi_rf_attach()
3846 rf->rf_ctrl_rd = BWI_RF_CTRL_RD_11BG; in bwi_rf_attach()
3847 rf->rf_on = bwi_rf_on_11bg; in bwi_rf_attach()
3849 rf->rf_off = bwi_rf_off_11g_rev5; in bwi_rf_attach()
3851 rf->rf_off = bwi_rf_off_11bg; in bwi_rf_attach()
3852 rf->rf_calc_nrssi_slope = bwi_rf_calc_nrssi_slope_11g; in bwi_rf_attach()
3853 rf->rf_set_nrssi_thr = bwi_rf_set_nrssi_thr_11g; in bwi_rf_attach()
3854 rf->rf_calc_rssi = bwi_rf_calc_rssi_bcm2050; in bwi_rf_attach()
3855 rf->rf_lo_update = bwi_rf_lo_update_11g; in bwi_rf_attach()
3862 rf->rf_type = type; in bwi_rf_attach()
3863 rf->rf_rev = rev; in bwi_rf_attach()
3864 rf->rf_manu = manu; in bwi_rf_attach()
3865 rf->rf_curchan = IEEE80211_CHAN_ANY; in bwi_rf_attach()
3866 rf->rf_ant_mode = BWI_ANT_MODE_AUTO; in bwi_rf_attach()
3909 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_get_gains() local
3964 if (rf->rf_rev == 8) { in bwi_rf_get_gains()
4048 rf->rf_lo_gain = (loop2 * 6) - (loop1 * 4) - 11; in bwi_rf_get_gains()
4049 rf->rf_rx_gain = trsw * 2; in bwi_rf_get_gains()
4051 sc->sc_dev.dv_xname, rf->rf_lo_gain, rf->rf_rx_gain); in bwi_rf_get_gains()
4060 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_init() local
4062 if (rf->rf_type == BWI_RF_T_BCM2060) { in bwi_rf_init()
4065 if (rf->rf_flags & BWI_RF_F_INITED) in bwi_rf_init()
4066 RF_WRITE(mac, 0x78, rf->rf_calib); in bwi_rf_init()
4101 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_workaround() local
4109 if (rf->rf_type != BWI_RF_T_BCM2050 || rf->rf_rev >= 6) in bwi_rf_workaround()
4212 struct bwi_rf *rf = &mac->mac_rf; in bwi_phy812_value() local
4218 lo_gain = rf->rf_lo_gain; in bwi_phy812_value()
4219 if (rf->rf_rev == 8) in bwi_phy812_value()
4296 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_init_bcm2050() local
4385 if (rf->rf_rev == 8) in bwi_rf_init_bcm2050()
4491 rf->rf_calib = rfr_78; in bwi_rf_init_bcm2050()
4493 rf->rf_calib = calib; in bwi_rf_init_bcm2050()
4494 if (rf->rf_calib != 0xffff) { in bwi_rf_init_bcm2050()
4496 sc->sc_dev.dv_xname, rf->rf_calib); in bwi_rf_init_bcm2050()
4497 rf->rf_flags |= BWI_RF_F_INITED; in bwi_rf_init_bcm2050()
4518 bwi_rf_workaround(mac, rf->rf_curchan); in bwi_rf_init_bcm2050()
4619 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_map_txpower() local
4630 rf->rf_txpower_max = __SHIFTOUT(val, in bwi_rf_map_txpower()
4633 rf->rf_txpower_max = __SHIFTOUT(val, in bwi_rf_map_txpower()
4638 rf->rf_txpower_max -= 3; in bwi_rf_map_txpower()
4640 if (rf->rf_txpower_max <= 0) { in bwi_rf_map_txpower()
4643 rf->rf_txpower_max = 74; in bwi_rf_map_txpower()
4646 sc->sc_dev.dv_xname, rf->rf_txpower_max); in bwi_rf_map_txpower()
4674 if (rf->rf_txpower_max > reg_txpower_max) in bwi_rf_map_txpower()
4675 rf->rf_txpower_max = reg_txpower_max; in bwi_rf_map_txpower()
4677 sc->sc_dev.dv_xname, rf->rf_txpower_max); in bwi_rf_map_txpower()
4684 rf->rf_type != BWI_RF_T_BCM2050) { in bwi_rf_map_txpower()
4685 rf->rf_idle_tssi0 = BWI_DEFAULT_IDLE_TSSI; in bwi_rf_map_txpower()
4686 bcopy(bwi_txpower_map_11b, rf->rf_txpower_map0, in bwi_rf_map_txpower()
4687 sizeof(rf->rf_txpower_map0)); in bwi_rf_map_txpower()
4724 rf->rf_idle_tssi0 = BWI_DEFAULT_IDLE_TSSI; in bwi_rf_map_txpower()
4725 bcopy(txpower_map, rf->rf_txpower_map0, in bwi_rf_map_txpower()
4726 sizeof(rf->rf_txpower_map0)); in bwi_rf_map_txpower()
4746 rf->rf_idle_tssi0 = (int)__SHIFTOUT(val, mask); in bwi_rf_map_txpower()
4747 if (!IS_VALID_PA_PARAM(rf->rf_idle_tssi0)) in bwi_rf_map_txpower()
4748 rf->rf_idle_tssi0 = 62; in bwi_rf_map_txpower()
4757 error = bwi_rf_calc_txpower(&rf->rf_txpower_map0[i], i, in bwi_rf_map_txpower()
4766 DPRINTF(1, "%d ", rf->rf_txpower_map0[i]); in bwi_rf_map_txpower()
4771 sc->sc_dev.dv_xname, rf->rf_idle_tssi0); in bwi_rf_map_txpower()
4781 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_lo_update_11g() local
4794 orig_chan = rf->rf_curchan; in bwi_rf_lo_update_11g()
5164 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_calc_nrssi_slope_11b() local
5243 bwi_rf_workaround(mac, rf->rf_curchan); in bwi_rf_calc_nrssi_slope_11b()
5258 rf->rf_nrssi_slope = 0x10000; in bwi_rf_calc_nrssi_slope_11b()
5260 rf->rf_nrssi_slope = 0x400000 / (nrssi[0] - nrssi[1]); in bwi_rf_calc_nrssi_slope_11b()
5262 rf->rf_nrssi[0] = nrssi[0]; in bwi_rf_calc_nrssi_slope_11b()
5263 rf->rf_nrssi[1] = nrssi[1]; in bwi_rf_calc_nrssi_slope_11b()
5431 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_calc_nrssi_slope_11g() local
5449 if (rf->rf_rev >= 9) in bwi_rf_calc_nrssi_slope_11g()
5451 else if (rf->rf_rev == 8) in bwi_rf_calc_nrssi_slope_11g()
5531 if (rf->rf_rev == 8) { in bwi_rf_calc_nrssi_slope_11g()
5548 rf->rf_nrssi_slope = 0x10000; in bwi_rf_calc_nrssi_slope_11g()
5550 rf->rf_nrssi_slope = 0x400000 / (nrssi[0] - nrssi[1]); in bwi_rf_calc_nrssi_slope_11g()
5552 rf->rf_nrssi[0] = nrssi[1]; in bwi_rf_calc_nrssi_slope_11g()
5553 rf->rf_nrssi[1] = nrssi[0]; in bwi_rf_calc_nrssi_slope_11g()
5580 bwi_rf_workaround(mac, rf->rf_curchan); in bwi_rf_calc_nrssi_slope_11g()
5603 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_init_sw_nrssi_table() local
5606 d = 0x1f - rf->rf_nrssi[0]; in bwi_rf_init_sw_nrssi_table()
5610 val = (((i - d) * rf->rf_nrssi_slope) / 0x10000) + 0x3a; in bwi_rf_init_sw_nrssi_table()
5616 rf->rf_nrssi_table[i] = val; in bwi_rf_init_sw_nrssi_table()
5643 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_set_nrssi_thr_11b() local
5646 if (rf->rf_type != BWI_RF_T_BCM2050 || in bwi_rf_set_nrssi_thr_11b()
5653 if (rf->rf_rev >= 6) { in bwi_rf_set_nrssi_thr_11b()
5654 thr = (rf->rf_nrssi[1] - rf->rf_nrssi[0]) * 32; in bwi_rf_set_nrssi_thr_11b()
5655 thr += 20 * (rf->rf_nrssi[0] + 1); in bwi_rf_set_nrssi_thr_11b()
5658 thr = rf->rf_nrssi[1] - 5; in bwi_rf_set_nrssi_thr_11b()
5668 if (rf->rf_rev >= 6) { in bwi_rf_set_nrssi_thr_11b()
5681 _nrssi_threshold(const struct bwi_rf *rf, int32_t val) in _nrssi_threshold() argument
5683 val *= (rf->rf_nrssi[1] - rf->rf_nrssi[0]); in _nrssi_threshold()
5684 val += (rf->rf_nrssi[0] << 6); in _nrssi_threshold()
5763 bwi_rf_clear_state(struct bwi_rf *rf) in bwi_rf_clear_state() argument
5767 rf->rf_flags &= ~BWI_RF_CLEAR_FLAGS; in bwi_rf_clear_state()
5768 bzero(rf->rf_lo, sizeof(rf->rf_lo)); in bwi_rf_clear_state()
5769 bzero(rf->rf_lo_used, sizeof(rf->rf_lo_used)); in bwi_rf_clear_state()
5771 rf->rf_nrssi_slope = 0; in bwi_rf_clear_state()
5772 rf->rf_nrssi[0] = BWI_INVALID_NRSSI; in bwi_rf_clear_state()
5773 rf->rf_nrssi[1] = BWI_INVALID_NRSSI; in bwi_rf_clear_state()
5776 rf->rf_nrssi_table[i] = i; in bwi_rf_clear_state()
5778 rf->rf_lo_gain = 0; in bwi_rf_clear_state()
5779 rf->rf_rx_gain = 0; in bwi_rf_clear_state()
5781 bcopy(rf->rf_txpower_map0, rf->rf_txpower_map, in bwi_rf_clear_state()
5782 sizeof(rf->rf_txpower_map)); in bwi_rf_clear_state()
5783 rf->rf_idle_tssi = rf->rf_idle_tssi0; in bwi_rf_clear_state()
5907 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_tssi2dbm() local
5910 pwr_idx = rf->rf_idle_tssi + (int)tssi - rf->rf_base_tssi; in bwi_rf_tssi2dbm()
5920 *txpwr = rf->rf_txpower_map[pwr_idx]; in bwi_rf_tssi2dbm()
5948 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_calc_rssi_bcm2050() local
5953 rssi = ((31 - (int)rf->rf_nrssi_table[rssi]) * -131) / 128; in bwi_rf_calc_rssi_bcm2050()
6009 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_calc_rssi_bcm2050() local
6014 rssi = ((31 - (int)rf->rf_nrssi_table[rssi]) * -131) / 128; in bwi_rf_calc_rssi_bcm2050()
6084 struct bwi_rf *rf = &mac->mac_rf; in bwi_rf_lo_update_11b() local
6100 if (rf->rf_type == BWI_RF_T_BCM2050) { in bwi_rf_lo_update_11b()
6124 if (rf->rf_type == BWI_RF_T_BCM2050) { in bwi_rf_lo_update_11b()
6181 if (rf->rf_type == BWI_RF_T_BCM2050) { in bwi_rf_lo_update_11b()
6198 bwi_rf_workaround(mac, rf->rf_curchan); in bwi_rf_lo_update_11b()