Lines Matching refs:pg

156 	struct bwn_phy_g *pg = &phy->phy_g;
170 pg->pg_flags = 0;
173 pg->pg_idletssi = 52;
174 pg->pg_tssi2dbm = bwn_phy_g_tssi2dbm_table;
178 pg->pg_idletssi = (bg == 0 || bg == -1) ? 62 : bg;
179 pg->pg_tssi2dbm = (uint8_t *)malloc(64, M_DEVBUF, M_NOWAIT | M_ZERO);
180 if (pg->pg_tssi2dbm == NULL) {
196 free(pg->pg_tssi2dbm, M_DEVBUF);
206 pg->pg_tssi2dbm[i] = MIN(MAX(BWN_TSSI2DBM(m1 * f, 8192), -127),
210 pg->pg_flags |= BWN_PHY_G_FLAG_TSSITABLE_ALLOC;
217 struct bwn_phy_g *pg = &mac->mac_phy.phy_g;
219 if (pg->pg_flags & BWN_PHY_G_FLAG_TSSITABLE_ALLOC) {
220 free(pg->pg_tssi2dbm, M_DEVBUF);
221 pg->pg_tssi2dbm = NULL;
223 pg->pg_flags = 0;
230 struct bwn_phy_g *pg = &phy->phy_g;
235 tssi2dbm = pg->pg_tssi2dbm;
236 idletssi = pg->pg_idletssi;
238 memset(pg, 0, sizeof(*pg));
240 pg->pg_tssi2dbm = tssi2dbm;
241 pg->pg_idletssi = idletssi;
243 memset(pg->pg_minlowsig, 0xff, sizeof(pg->pg_minlowsig));
245 for (i = 0; i < N(pg->pg_nrssi); i++)
246 pg->pg_nrssi[i] = -1000;
247 for (i = 0; i < N(pg->pg_nrssi_lt); i++)
248 pg->pg_nrssi_lt[i] = i;
249 pg->pg_lofcal = 0xffff;
250 pg->pg_initval = 0xffff;
251 pg->pg_immode = BWN_IMMODE_NONE;
252 pg->pg_ofdmtab_dir = BWN_OFDMTAB_DIR_UNKNOWN;
253 pg->pg_avgtssi = 0xff;
255 pg->pg_loctl.tx_bias = 0xff;
256 TAILQ_INIT(&pg->pg_loctl.calib_list);
263 struct bwn_phy_g *pg = &phy->phy_g;
265 struct bwn_txpwr_loctl *lo = &pg->pg_loctl;
286 pg->pg_bbatt.att = 0;
288 pg->pg_bbatt.att = 2;
291 pg->pg_rfatt.padmix = 0;
296 pg->pg_rfatt.att = 2;
299 pg->pg_rfatt.att = 3;
305 pg->pg_rfatt.att = 0x60;
313 pg->pg_rfatt.att = 5;
322 pg->pg_rfatt.att = 3;
327 pg->pg_rfatt.att = 3;
329 pg->pg_rfatt.att = 1;
336 pg->pg_rfatt.att = 7;
338 pg->pg_rfatt.att = 6;
348 pg->pg_rfatt.att = 3;
353 pg->pg_rfatt.att = 5;
355 pg->pg_rfatt.att = 4;
357 pg->pg_rfatt.att = 3;
359 pg->pg_rfatt.att = 6;
362 pg->pg_rfatt.att = 5;
366 pg->pg_rfatt.att = 1;
370 pg->pg_rfatt.att = 5;
373 pg->pg_rfatt.att = 0xa;
374 pg->pg_rfatt.padmix = 1;
378 pg->pg_rfatt.att = 5;
385 pg->pg_rfatt.att = 6;
390 pg->pg_rfatt.att = 5;
392 pg->pg_txctl = (bwn_phy_g_txctl(mac) << 4);
512 struct bwn_phy_g *pg = &phy->phy_g;
523 if (pg->pg_flags & BWN_PHY_G_FLAG_RADIOCTX_VALID) {
525 pg->pg_radioctx_over);
527 pg->pg_radioctx_overval);
528 pg->pg_flags &= ~BWN_PHY_G_FLAG_RADIOCTX_VALID;
538 pg->pg_radioctx_over = rfover;
539 pg->pg_radioctx_overval = rfoverval;
540 pg->pg_flags |= BWN_PHY_G_FLAG_RADIOCTX_VALID;
620 struct bwn_phy_g *pg = &phy->phy_g;
628 pg->pg_aci_wlan_automatic = 0;
636 struct bwn_phy_g *pg = &phy->phy_g;
655 if (pg->pg_avgtssi != 0xff)
656 tssi = (tssi + pg->pg_avgtssi) / 2;
657 pg->pg_avgtssi = tssi;
670 (pg->pg_tssi2dbm[MIN(MAX(pg->pg_idletssi - pg->pg_curtssi +
679 pg->pg_bbatt_delta = bbatt;
680 pg->pg_rfatt_delta = rfatt;
688 struct bwn_phy_g *pg = &phy->phy_g;
697 bbatt = pg->pg_bbatt.att;
698 bbatt += pg->pg_bbatt_delta;
699 rfatt = pg->pg_rfatt.att;
700 rfatt += pg->pg_rfatt_delta;
703 txctl = pg->pg_txctl;
726 pg->pg_txctl = txctl;
728 pg->pg_rfatt.att = rfatt;
729 pg->pg_bbatt.att = bbatt;
735 bwn_phy_g_set_txpwr_sub(mac, &pg->pg_bbatt, &pg->pg_rfatt,
736 pg->pg_txctl);
747 struct bwn_phy_g *pg = &phy->phy_g;
749 struct bwn_txpwr_loctl *lo = &pg->pg_loctl;
773 if (BWN_BBATTCMP(&cal->bbatt, &pg->pg_bbatt) &&
774 BWN_RFATTCMP(&cal->rfatt, &pg->pg_rfatt)) {
787 cal = bwn_lo_calibset(mac, &pg->pg_bbatt,
788 &pg->pg_rfatt);
832 struct bwn_phy_g *pg = &phy->phy_g;
878 if (pg->pg_initval == 0xffff)
879 pg->pg_initval = bwn_rf_init_bcm2050(mac);
881 BWN_RF_WRITE(mac, 0x0078, pg->pg_initval);
887 | pg->pg_loctl.tx_bias |
888 pg->pg_loctl.tx_magn);
890 BWN_RF_SETMASK(mac, 0x52, 0xfff0, pg->pg_loctl.tx_bias);
894 (pg->pg_loctl.tx_bias << 12));
918 if (pg->pg_nrssi[0] == -1000) {
919 KASSERT(pg->pg_nrssi[1] == -1000,
939 struct bwn_phy_g *pg = &phy->phy_g;
1022 bwn_phy_g_set_txpwr_sub(mac, &pg->pg_bbatt, &pg->pg_rfatt,
1023 pg->pg_txctl);
1035 struct bwn_phy_g *pg = &phy->phy_g;
1062 backup_bband = pg->pg_bbatt.att;
1183 pg->pg_max_lb_gain =
1185 pg->pg_trsw_rx_gain = trsw_rx * 2;
1414 struct bwn_phy_g *pg = &phy->phy_g;
1504 bwn_phy_g_set_txpwr_sub(mac, &pg->pg_bbatt, &pg->pg_rfatt,
1505 pg->pg_txctl);
1856 struct bwn_phy_g *pg = &mac->mac_phy.phy_g;
1860 if ((pg->pg_ofdmtab_dir != BWN_OFDMTAB_DIR_WRITE) ||
1861 (addr - 1 != pg->pg_ofdmtab_addr)) {
1863 pg->pg_ofdmtab_dir = BWN_OFDMTAB_DIR_WRITE;
1865 pg->pg_ofdmtab_addr = addr;
1873 struct bwn_phy_g *pg = &mac->mac_phy.phy_g;
1877 if ((pg->pg_ofdmtab_dir != BWN_OFDMTAB_DIR_WRITE) ||
1878 (addr - 1 != pg->pg_ofdmtab_addr)) {
1880 pg->pg_ofdmtab_dir = BWN_OFDMTAB_DIR_WRITE;
1882 pg->pg_ofdmtab_addr = addr;
2000 struct bwn_phy_g *pg = &phy->phy_g;
2001 struct bwn_txpwr_loctl *lo = &pg->pg_loctl;
2022 lb_gain = pg->pg_max_lb_gain / 2;
2098 struct bwn_phy_g *pg = &phy->phy_g;
2099 struct bwn_txpwr_loctl *lo = &pg->pg_loctl;
2120 struct bwn_phy_g *pg = &phy->phy_g;
2131 trsw_rx_gain = pg->pg_trsw_rx_gain / 2;
2139 pg->pg_lna_lod_gain = 0;
2141 pg->pg_lna_lod_gain = 1;
2145 pg->pg_pga_gain = trsw_rx_gain / 3;
2146 if (pg->pg_pga_gain >= 5) {
2147 pg->pg_pga_gain -= 5;
2148 pg->pg_lna_gain = 2;
2150 pg->pg_lna_gain = 0;
2152 pg->pg_lna_gain = 0;
2153 pg->pg_trsw_rx_gain = 0x20;
2155 pg->pg_lna_lod_gain = 1;
2156 pg->pg_pga_gain = 2;
2158 pg->pg_lna_lod_gain = 1;
2159 pg->pg_pga_gain = 1;
2161 pg->pg_lna_lod_gain = 1;
2162 pg->pg_pga_gain = 0;
2164 pg->pg_lna_lod_gain = 0;
2165 pg->pg_pga_gain = 0;
2170 if (pg->pg_lna_lod_gain == 0)
2181 struct bwn_phy_g *pg = &phy->phy_g;
2183 struct bwn_txpwr_loctl *lo = &pg->pg_loctl;
2298 struct bwn_phy_g *pg = &phy->phy_g;
2303 tmp = (pg->pg_pga_gain << 8);
2310 tmp = (pg->pg_pga_gain | 0xefa0);
2366 struct bwn_phy_g *pg = &phy->phy_g;
2402 feedth = bwn_lo_calcfeed(mac, pg->pg_lna_gain,
2403 pg->pg_pga_gain, pg->pg_trsw_rx_gain);
2430 struct bwn_phy_g *pg = &phy->phy_g;
2446 feedth = bwn_lo_calcfeed(mac, pg->pg_lna_gain,
2447 pg->pg_pga_gain, pg->pg_trsw_rx_gain);
2453 feedth = bwn_lo_calcfeed(mac, pg->pg_lna_gain,
2454 pg->pg_pga_gain, pg->pg_trsw_rx_gain);
2496 struct bwn_phy_g *pg = &phy->phy_g;
2515 rxgain += pg->pg_max_lb_gain;
2564 struct bwn_phy_g *pg = &phy->phy_g;
2566 struct bwn_txpwr_loctl *lo = &pg->pg_loctl;
2635 struct bwn_phy_g *pg = &mac->mac_phy.phy_g;
2639 memcpy(&rf, &pg->pg_rfatt, sizeof(rf));
2642 cal = bwn_lo_get_calib(mac, &pg->pg_bbatt, &rf);
2671 struct bwn_phy_g *pg = &phy->phy_g;
2680 if (!pg->pg_aci_wlan_automatic && pg->pg_aci_enable) {
2688 a = a * (pg->pg_nrssi[1] - pg->pg_nrssi[0]);
2689 a += (pg->pg_nrssi[0] << 6);
2694 b = b * (pg->pg_nrssi[1] - pg->pg_nrssi[0]);
2695 b += (pg->pg_nrssi[0] << 6);
2731 struct bwn_phy_g *pg = &phy->phy_g;
2837 pg->pg_nrssi_slope = 0x00010000;
2839 pg->pg_nrssi_slope = 0x00400000 / (nrssi0 - nrssi1);
2841 pg->pg_nrssi[0] = nrssi1;
2842 pg->pg_nrssi[1] = nrssi0;
2880 delta = 0x1f - pg->pg_nrssi[0];
2882 tmp32 = (((i - delta) * pg->pg_nrssi_slope) / 0x10000) + 0x3a;
2884 pg->pg_nrssi_lt[i] = tmp32;
3113 struct bwn_phy_g *pg = &phy->phy_g;
3133 if (pg->pg_curtssi == 0) {
3137 memcpy(&old_rfatt, &pg->pg_rfatt, sizeof(old_rfatt));
3138 memcpy(&old_bbatt, &pg->pg_bbatt, sizeof(old_bbatt));
3139 old_txctl = pg->pg_txctl;
3152 pg->pg_curtssi = BWN_PHY_READ(mac, BWN_PHY_TSSI);
3203 struct bwn_phy_g *pg = &phy->phy_g;
3204 struct bwn_txpwr_loctl *lo = &pg->pg_loctl;
3215 (pg->pg_idletssi - pg->pg_curtssi));
3217 (pg->pg_idletssi - pg->pg_curtssi));
3220 bwn_ofdmtab_write_2(mac, 0x3c20, i, pg->pg_tssi2dbm[i]);
3222 bwn_ofdmtab_write_2(mac, 0x3c00, i - 32, pg->pg_tssi2dbm[i]);
3224 value = (uint16_t) pg->pg_tssi2dbm[i];
3225 value |= ((uint16_t) pg->pg_tssi2dbm[i + 1]) << 8;
3299 struct bwn_phy_g *pg = &phy->phy_g;
3300 struct bwn_txpwr_loctl *lo = &pg->pg_loctl;
3311 pg->pg_txctl = txctl;
3312 memmove(&pg->pg_rfatt, rfatt, sizeof(*rfatt));
3313 pg->pg_rfatt.padmix = (txctl & BWN_TXCTL_TXMIX) ? 1 : 0;
3314 memmove(&pg->pg_bbatt, bbatt, sizeof(*bbatt));
3352 struct bwn_phy_g *pg = &phy->phy_g;
3362 max_lb_gain = pg->pg_max_lb_gain;