Lines Matching defs:rf

1397 	/* TODO: LED, hardware rf enabled is only related to LED setting */
1555 struct bwi_rf *rf = &mac->mac_rf;
1561 (rf->rf_rev < 6 ? BWI_RF_ATTEN_MAX0
1579 if (rf->rf_type == BWI_RF_T_BCM2050) {
1642 struct bwi_rf *rf = &mac->mac_rf;
1647 if (rf->rf_type == BWI_RF_T_BCM2050 && rf->rf_rev < 6)
1654 if (rf->rf_type == BWI_RF_T_BCM2050) {
1655 if (rf->rf_rev == 1)
1657 else if (rf->rf_rev < 6)
1659 else if (rf->rf_rev == 8)
1681 if (rf->rf_type != BWI_RF_T_BCM2050) {
1682 if (rf->rf_type == BWI_RF_T_BCM2053 && rf->rf_rev == 1)
1693 switch (rf->rf_rev) {
1734 "bbp atten: %u, rf atten: %u, ctrl1: %u, ctrl2: %u\n",
1749 struct bwi_rf *rf = &mac->mac_rf;
1780 if (rf->rf_type == BWI_RF_T_BCM2050 && rf->rf_rev <= 5)
1799 if (rf->rf_type == BWI_RF_T_BCM2050 && rf->rf_rev <= 5)
1809 struct bwi_rf *rf = &mac->mac_rf;
1830 rf->rf_type == BWI_RF_T_BCM2050) {
1843 if (rf->rf_rev >= 6 && rf->rf_rev <= 8)
1855 rf->rf_base_tssi = PHY_READ(mac, 0x29);
1857 "base tssi %d\n", rf->rf_base_tssi);
1859 if (abs(rf->rf_base_tssi - rf->rf_idle_tssi) >= 20) {
2384 struct bwi_rf *rf = &mac->mac_rf;
2399 if (phy->phy_rev >= 2 && rf->rf_type == BWI_RF_T_BCM2050)
2815 struct bwi_rf *rf = &mac->mac_rf;
2831 if (rf->rf_type == BWI_RF_T_BCM2050 && rf->rf_rev == 2) {
2871 struct bwi_rf *rf = &mac->mac_rf;
2953 txpwr_diff = rf->rf_txpower_max - cur_txpwr; /* XXX ni_txpower */
2976 "rf atten adjust %d, bbp atten adjust %d\n",
3224 struct bwi_rf *rf = &mac->mac_rf;
3266 if (rf->rf_rev == 8) {
3274 if (rf->rf_rev != 8)
3280 if (rf->rf_type == BWI_RF_T_BCM2050 && rf->rf_rev == 8) {
3312 if (rf->rf_nrssi[0] == BWI_INVALID_NRSSI) {
3313 KASSERT(rf->rf_nrssi[1] == BWI_INVALID_NRSSI);
3316 KASSERT(rf->rf_nrssi[1] != BWI_INVALID_NRSSI);
3321 if (rf->rf_rev == 8)
3347 struct bwi_rf *rf = &mac->mac_rf;
3363 chan = rf->rf_curchan;
3368 if (rf->rf_type != BWI_RF_T_BCM2050) {
3376 if (rf->rf_type == BWI_RF_T_BCM2050) {
3388 if (rf->rf_type == BWI_RF_T_BCM2050)
3395 if (rf->rf_type == BWI_RF_T_BCM2050)
3401 if (rf->rf_type == BWI_RF_T_BCM2050)
3416 struct bwi_rf *rf = &mac->mac_rf;
3436 if (rf->rf_type == BWI_RF_T_BCM2050)
3440 if (rf->rf_type == BWI_RF_T_BCM2050) {
3479 orig_chan = rf->rf_curchan;
3482 if (rf->rf_type != BWI_RF_T_BCM2050) {
3490 if (rf->rf_type == BWI_RF_T_BCM2050) {
3507 if (rf->rf_type == BWI_RF_T_BCM2050)
3517 struct bwi_rf *rf = &mac->mac_rf;
3525 if (rf->rf_rev == 4 || rf->rf_rev == 5) {
3536 } else if (rf->rf_rev == 8) {
3585 orig_chan = rf->rf_curchan;
3596 if (rf->rf_rev < 6 || rf->rf_rev == 8) {
3600 if (rf->rf_rev <= 2) {
3612 if (rf->rf_rev >= 6)
3620 if (rf->rf_rev <= 5) {
3622 if (rf->rf_rev <= 2)
3953 struct bwi_rf *rf = &mac->mac_rf;
3956 idx = lo - rf->rf_lo;
3959 return (isset(rf->rf_lo_used, idx));
3974 struct bwi_rf *rf = &mac->mac_rf;
3977 ctrl |= rf->rf_ctrl_rd;
3978 if (rf->rf_ctrl_adj) {
3995 struct bwi_rf *rf = &mac->mac_rf;
4034 rf->rf_ctrl_rd = 0;
4035 rf->rf_ctrl_adj = 0;
4046 rf->rf_ctrl_rd = BWI_RF_CTRL_RD_11A;
4047 rf->rf_on = bwi_rf_on_11a;
4048 rf->rf_off = bwi_rf_off_11a;
4049 rf->rf_calc_rssi = bwi_rf_calc_rssi_bcm2060;
4053 rf->rf_ctrl_rd = BWI_RF_CTRL_RD_11BG;
4054 rf->rf_calc_rssi = bwi_rf_calc_rssi_bcm2050;
4056 rf->rf_ctrl_adj = 1;
4057 rf->rf_calc_rssi = bwi_rf_calc_rssi_bcm2053;
4064 rf->rf_on = bwi_rf_on_11bg;
4065 rf->rf_off = bwi_rf_off_11bg;
4066 rf->rf_calc_nrssi_slope = bwi_rf_calc_nrssi_slope_11b;
4067 rf->rf_set_nrssi_thr = bwi_rf_set_nrssi_thr_11b;
4069 rf->rf_lo_update = bwi_rf_lo_update_11g;
4071 rf->rf_lo_update = bwi_rf_lo_update_11b;
4080 rf->rf_ctrl_rd = BWI_RF_CTRL_RD_11BG;
4081 rf->rf_on = bwi_rf_on_11bg;
4083 rf->rf_off = bwi_rf_off_11g_rev5;
4085 rf->rf_off = bwi_rf_off_11bg;
4086 rf->rf_calc_nrssi_slope = bwi_rf_calc_nrssi_slope_11g;
4087 rf->rf_set_nrssi_thr = bwi_rf_set_nrssi_thr_11g;
4088 rf->rf_calc_rssi = bwi_rf_calc_rssi_bcm2050;
4089 rf->rf_lo_update = bwi_rf_lo_update_11g;
4096 rf->rf_type = type;
4097 rf->rf_rev = rev;
4098 rf->rf_manu = manu;
4099 rf->rf_curchan = IEEE80211_CHAN_ANY;
4100 rf->rf_ant_mode = BWI_ANT_MODE_AUTO;
4151 struct bwi_rf *rf = &mac->mac_rf;
4195 if (rf->rf_rev == 8) {
4279 rf->rf_lo_gain = (loop2 * 6) - (loop1 * 4) - 11;
4280 rf->rf_rx_gain = trsw * 2;
4283 rf->rf_lo_gain, rf->rf_rx_gain);
4292 struct bwi_rf *rf = &mac->mac_rf;
4294 if (rf->rf_type == BWI_RF_T_BCM2060) {
4297 if (rf->rf_flags & BWI_RF_F_INITED)
4298 RF_WRITE(mac, 0x78, rf->rf_calib);
4333 struct bwi_rf *rf = &mac->mac_rf;
4341 if (rf->rf_type != BWI_RF_T_BCM2050 || rf->rf_rev >= 6)
4444 struct bwi_rf *rf = &mac->mac_rf;
4450 lo_gain = rf->rf_lo_gain;
4451 if (rf->rf_rev == 8)
4534 struct bwi_rf *rf = &mac->mac_rf;
4615 if (rf->rf_rev == 8)
4721 rf->rf_calib = rfr_78;
4723 rf->rf_calib = calib;
4724 if (rf->rf_calib != 0xffff) {
4726 "RF calibration value: 0x%04x\n", rf->rf_calib);
4727 rf->rf_flags |= BWI_RF_F_INITED;
4748 bwi_rf_workaround(mac, rf->rf_curchan);
4849 struct bwi_rf *rf = &mac->mac_rf;
4864 rf->rf_txpower_max = __SHIFTOUT(val,
4867 rf->rf_txpower_max = __SHIFTOUT(val,
4872 rf->rf_txpower_max -= 3;
4874 if (rf->rf_txpower_max <= 0) {
4877 rf->rf_txpower_max = 74;
4880 "max txpower from sprom: %d dBm\n", rf->rf_txpower_max);
4909 if (rf->rf_txpower_max > reg_txpower_max)
4910 rf->rf_txpower_max = reg_txpower_max;
4912 "max txpower %d dBm\n", rf->rf_txpower_max);
4919 rf->rf_type != BWI_RF_T_BCM2050) {
4920 rf->rf_idle_tssi0 = BWI_DEFAULT_IDLE_TSSI;
4921 memcpy(rf->rf_txpower_map0, bwi_txpower_map_11b,
4922 sizeof(rf->rf_txpower_map0));
4965 rf->rf_idle_tssi0 = BWI_DEFAULT_IDLE_TSSI;
4966 memcpy(rf->rf_txpower_map0, txpower_map,
4967 sizeof(rf->rf_txpower_map0));
4988 rf->rf_idle_tssi0 = (int)__SHIFTOUT(val, mask);
4989 if (!IS_VALID_PA_PARAM(rf->rf_idle_tssi0))
4990 rf->rf_idle_tssi0 = 62;
5000 error = bwi_rf_calc_txpower(&rf->rf_txpower_map0[i], i,
5014 aprint_debug(" %d", rf->rf_txpower_map0[i]);
5024 "idle tssi0: %d\n", rf->rf_idle_tssi0);
5034 struct bwi_rf *rf = &mac->mac_rf;
5047 orig_chan = rf->rf_curchan;
5422 struct bwi_rf *rf = &mac->mac_rf;
5496 bwi_rf_workaround(mac, rf->rf_curchan);
5511 rf->rf_nrssi_slope = 0x10000;
5513 rf->rf_nrssi_slope = 0x400000 / (nrssi[0] - nrssi[1]);
5515 rf->rf_nrssi[0] = nrssi[0];
5516 rf->rf_nrssi[1] = nrssi[1];
5693 struct bwi_rf *rf = &mac->mac_rf;
5702 if (rf->rf_rev >= 9)
5704 else if (rf->rf_rev == 8)
5784 if (rf->rf_rev == 8) {
5801 rf->rf_nrssi_slope = 0x10000;
5803 rf->rf_nrssi_slope = 0x400000 / (nrssi[0] - nrssi[1]);
5805 rf->rf_nrssi[0] = nrssi[1];
5806 rf->rf_nrssi[1] = nrssi[0];
5833 bwi_rf_workaround(mac, rf->rf_curchan);
5856 struct bwi_rf *rf = &mac->mac_rf;
5859 d = 0x1f - rf->rf_nrssi[0];
5863 val = (((i - d) * rf->rf_nrssi_slope) / 0x10000) + 0x3a;
5869 rf->rf_nrssi_table[i] = val;
5896 struct bwi_rf *rf = &mac->mac_rf;
5899 if (rf->rf_type != BWI_RF_T_BCM2050 ||
5906 if (rf->rf_rev >= 6) {
5907 thr = (rf->rf_nrssi[1] - rf->rf_nrssi[0]) * 32;
5908 thr += 20 * (rf->rf_nrssi[0] + 1);
5911 thr = rf->rf_nrssi[1] - 5;
5921 if (rf->rf_rev >= 6) {
5934 _nrssi_threshold(const struct bwi_rf *rf, int32_t val)
5936 val *= (rf->rf_nrssi[1] - rf->rf_nrssi[0]);
5937 val += (rf->rf_nrssi[0] << 6);
6016 bwi_rf_clear_state(struct bwi_rf *rf)
6020 rf->rf_flags &= ~BWI_RF_CLEAR_FLAGS;
6021 memset(rf->rf_lo, 0, sizeof(rf->rf_lo));
6022 memset(rf->rf_lo_used, 0, sizeof(rf->rf_lo_used));
6024 rf->rf_nrssi_slope = 0;
6025 rf->rf_nrssi[0] = BWI_INVALID_NRSSI;
6026 rf->rf_nrssi[1] = BWI_INVALID_NRSSI;
6029 rf->rf_nrssi_table[i] = i;
6031 rf->rf_lo_gain = 0;
6032 rf->rf_rx_gain = 0;
6034 memcpy(rf->rf_txpower_map, rf->rf_txpower_map0,
6035 sizeof(rf->rf_txpower_map));
6036 rf->rf_idle_tssi = rf->rf_idle_tssi0;
6160 struct bwi_rf *rf = &mac->mac_rf;
6163 pwr_idx = rf->rf_idle_tssi + (int)tssi - rf->rf_base_tssi;
6173 *txpwr = rf->rf_txpower_map[pwr_idx];
6201 struct bwi_rf *rf = &mac->mac_rf;
6206 rssi = ((31 - (int)rf->rf_nrssi_table[rssi]) * -131) / 128;
6267 struct bwi_rf *rf = &mac->mac_rf;
6272 rssi = ((31 - (int)rf->rf_nrssi_table[rssi]) * -131) / 128;
6342 struct bwi_rf *rf = &mac->mac_rf;
6358 if (rf->rf_type == BWI_RF_T_BCM2050) {
6382 if (rf->rf_type == BWI_RF_T_BCM2050) {
6439 if (rf->rf_type == BWI_RF_T_BCM2050) {
6456 bwi_rf_workaround(mac, rf->rf_curchan);