mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-23 02:54:32 +08:00
b43: Convert usage of b43_radio_maskset()
This patch converts code to use the new b43_radio_maskset() API. The semantic patch that makes this change is as follows: // <smpl> @@ expression dev, addr, mask, set; @@ -b43_radio_write16(dev, addr, (b43_radio_read16(dev, addr) & mask) | set); +b43_radio_maskset(dev, addr, mask, set); // </smpl> Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
3718582a66
commit
5f9724dd94
@ -225,8 +225,7 @@ static void lo_measure_txctl_values(struct b43_wldev *dev)
|
||||
radio_pctl_reg = tmp;
|
||||
}
|
||||
}
|
||||
b43_radio_write16(dev, 0x43, (b43_radio_read16(dev, 0x43)
|
||||
& 0xFFF0) | radio_pctl_reg);
|
||||
b43_radio_maskset(dev, 0x43, 0xFFF0, radio_pctl_reg);
|
||||
b43_gphy_set_baseband_attenuation(dev, 2);
|
||||
|
||||
reg = lo_txctl_register_table(dev, &mask, NULL);
|
||||
@ -241,14 +240,10 @@ static void lo_measure_txctl_values(struct b43_wldev *dev)
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(tx_magn_values); i++) {
|
||||
tx_magn = tx_magn_values[i];
|
||||
b43_radio_write16(dev, 0x52,
|
||||
(b43_radio_read16(dev, 0x52)
|
||||
& 0xFF0F) | tx_magn);
|
||||
b43_radio_maskset(dev, 0x52, 0xFF0F, tx_magn);
|
||||
for (j = 0; j < ARRAY_SIZE(tx_bias_values); j++) {
|
||||
tx_bias = tx_bias_values[j];
|
||||
b43_radio_write16(dev, 0x52,
|
||||
(b43_radio_read16(dev, 0x52)
|
||||
& 0xFFF0) | tx_bias);
|
||||
b43_radio_maskset(dev, 0x52, 0xFFF0, tx_bias);
|
||||
feedthrough =
|
||||
lo_measure_feedthrough(dev, 0, pga,
|
||||
trsw_rx);
|
||||
@ -541,8 +536,7 @@ static void lo_measure_restore(struct b43_wldev *dev,
|
||||
b43_radio_write16(dev, 0x7A, sav->radio_7A);
|
||||
if (!has_tx_magnification(phy)) {
|
||||
tmp = sav->radio_52;
|
||||
b43_radio_write16(dev, 0x52, (b43_radio_read16(dev, 0x52)
|
||||
& 0xFF0F) | tmp);
|
||||
b43_radio_maskset(dev, 0x52, 0xFF0F, tmp);
|
||||
}
|
||||
b43_write16(dev, 0x3E2, sav->reg_3E2);
|
||||
if (phy->type == B43_PHYTYPE_B &&
|
||||
@ -761,12 +755,8 @@ struct b43_lo_calib * b43_calibrate_lo_setting(struct b43_wldev *dev,
|
||||
|
||||
txctl_reg = lo_txctl_register_table(dev, &txctl_value, &pad_mix_gain);
|
||||
|
||||
b43_radio_write16(dev, 0x43,
|
||||
(b43_radio_read16(dev, 0x43) & 0xFFF0)
|
||||
| rfatt->att);
|
||||
b43_radio_write16(dev, txctl_reg,
|
||||
(b43_radio_read16(dev, txctl_reg) & ~txctl_value)
|
||||
| (rfatt->with_padmix ? txctl_value : 0));
|
||||
b43_radio_maskset(dev, 0x43, 0xFFF0, rfatt->att);
|
||||
b43_radio_maskset(dev, txctl_reg, ~txctl_value, (rfatt->with_padmix ? txctl_value :0));
|
||||
|
||||
max_rx_gain = rfatt->att * 2;
|
||||
max_rx_gain += bbatt->att / 2;
|
||||
|
@ -121,25 +121,18 @@ static void aphy_channel_switch(struct b43_wldev *dev, unsigned int channel)
|
||||
b43_radio_write16(dev, 0x0007, (r8 << 4) | r8);
|
||||
b43_radio_write16(dev, 0x0020, (r8 << 4) | r8);
|
||||
b43_radio_write16(dev, 0x0021, (r8 << 4) | r8);
|
||||
b43_radio_write16(dev, 0x0022, (b43_radio_read16(dev, 0x0022)
|
||||
& 0x000F) | (r8 << 4));
|
||||
b43_radio_maskset(dev, 0x0022, 0x000F, (r8 << 4));
|
||||
b43_radio_write16(dev, 0x002A, (r8 << 4));
|
||||
b43_radio_write16(dev, 0x002B, (r8 << 4));
|
||||
b43_radio_write16(dev, 0x0008, (b43_radio_read16(dev, 0x0008)
|
||||
& 0x00F0) | (r8 << 4));
|
||||
b43_radio_write16(dev, 0x0029, (b43_radio_read16(dev, 0x0029)
|
||||
& 0xFF0F) | 0x00B0);
|
||||
b43_radio_maskset(dev, 0x0008, 0x00F0, (r8 << 4));
|
||||
b43_radio_maskset(dev, 0x0029, 0xFF0F, 0x00B0);
|
||||
b43_radio_write16(dev, 0x0035, 0x00AA);
|
||||
b43_radio_write16(dev, 0x0036, 0x0085);
|
||||
b43_radio_write16(dev, 0x003A, (b43_radio_read16(dev, 0x003A)
|
||||
& 0xFF20) |
|
||||
freq_r3A_value(freq));
|
||||
b43_radio_maskset(dev, 0x003A, 0xFF20, freq_r3A_value(freq));
|
||||
b43_radio_mask(dev, 0x003D, 0x00FF);
|
||||
b43_radio_write16(dev, 0x0081, (b43_radio_read16(dev, 0x0081)
|
||||
& 0xFF7F) | 0x0080);
|
||||
b43_radio_maskset(dev, 0x0081, 0xFF7F, 0x0080);
|
||||
b43_radio_mask(dev, 0x0035, 0xFFEF);
|
||||
b43_radio_write16(dev, 0x0035, (b43_radio_read16(dev, 0x0035)
|
||||
& 0xFFEF) | 0x0010);
|
||||
b43_radio_maskset(dev, 0x0035, 0xFFEF, 0x0010);
|
||||
b43_radio_set_tx_iq(dev);
|
||||
//TODO: TSSI2dbm workaround
|
||||
//FIXME b43_phy_xmitpower(dev);
|
||||
@ -164,17 +157,14 @@ static void b43_radio_init2060(struct b43_wldev *dev)
|
||||
b43_radio_mask(dev, 0x0081, ~0x0020);
|
||||
msleep(1); /* delay 400usec */
|
||||
|
||||
b43_radio_write16(dev, 0x0081,
|
||||
(b43_radio_read16(dev, 0x0081) & ~0x0020) | 0x0010);
|
||||
b43_radio_maskset(dev, 0x0081, ~0x0020, 0x0010);
|
||||
msleep(1); /* delay 400usec */
|
||||
|
||||
b43_radio_write16(dev, 0x0005,
|
||||
(b43_radio_read16(dev, 0x0005) & ~0x0008) | 0x0008);
|
||||
b43_radio_maskset(dev, 0x0005, ~0x0008, 0x0008);
|
||||
b43_radio_mask(dev, 0x0085, ~0x0010);
|
||||
b43_radio_mask(dev, 0x0005, ~0x0008);
|
||||
b43_radio_mask(dev, 0x0081, ~0x0040);
|
||||
b43_radio_write16(dev, 0x0081,
|
||||
(b43_radio_read16(dev, 0x0081) & ~0x0040) | 0x0040);
|
||||
b43_radio_maskset(dev, 0x0081, ~0x0040, 0x0040);
|
||||
b43_radio_write16(dev, 0x0005,
|
||||
(b43_radio_read16(dev, 0x0081) & ~0x0008) | 0x0008);
|
||||
b43_phy_write(dev, 0x0063, 0xDDC6);
|
||||
@ -226,8 +216,7 @@ static void b43_phy_ww(struct b43_wldev *dev)
|
||||
b43_phy_set(dev, B43_PHY_OFDM(0x1B), 0x1000);
|
||||
b43_phy_maskset(dev, B43_PHY_OFDM(0x82), 0xF0FF, 0x0300);
|
||||
b43_radio_set(dev, 0x0009, 0x0080);
|
||||
b43_radio_write16(dev, 0x0012,
|
||||
(b43_radio_read16(dev, 0x0012) & 0xFFFC) | 0x0002);
|
||||
b43_radio_maskset(dev, 0x0012, 0xFFFC, 0x0002);
|
||||
b43_wa_initgains(dev);
|
||||
b43_phy_write(dev, B43_PHY_OFDM(0xBA), 0x3ED5);
|
||||
b = b43_phy_read(dev, B43_PHY_PWRDOWN);
|
||||
|
@ -248,17 +248,13 @@ static void b43_set_txpower_g(struct b43_wldev *dev,
|
||||
b43_radio_write16(dev, 0x43,
|
||||
(rf & 0x000F) | (tx_control & 0x0070));
|
||||
} else {
|
||||
b43_radio_write16(dev, 0x43, (b43_radio_read16(dev, 0x43)
|
||||
& 0xFFF0) | (rf & 0x000F));
|
||||
b43_radio_write16(dev, 0x52, (b43_radio_read16(dev, 0x52)
|
||||
& ~0x0070) | (tx_control &
|
||||
0x0070));
|
||||
b43_radio_maskset(dev, 0x43, 0xFFF0, (rf & 0x000F));
|
||||
b43_radio_maskset(dev, 0x52, ~0x0070, (tx_control & 0x0070));
|
||||
}
|
||||
if (has_tx_magnification(phy)) {
|
||||
b43_radio_write16(dev, 0x52, tx_magn | tx_bias);
|
||||
} else {
|
||||
b43_radio_write16(dev, 0x52, (b43_radio_read16(dev, 0x52)
|
||||
& 0xFFF0) | (tx_bias & 0x000F));
|
||||
b43_radio_maskset(dev, 0x52, 0xFFF0, (tx_bias & 0x000F));
|
||||
}
|
||||
b43_lo_g_adjust(dev);
|
||||
}
|
||||
@ -513,8 +509,7 @@ static void b43_calc_nrssi_offset(struct b43_wldev *dev)
|
||||
b43_phy_maskset(dev, 0x0003, 0xFF9F, 0x0040);
|
||||
b43_radio_set(dev, 0x007A, 0x000F);
|
||||
b43_set_all_gains(dev, 3, 0, 1);
|
||||
b43_radio_write16(dev, 0x0043, (b43_radio_read16(dev, 0x0043)
|
||||
& 0x00F0) | 0x000F);
|
||||
b43_radio_maskset(dev, 0x0043, 0x00F0, 0x000F);
|
||||
udelay(30);
|
||||
v47F = (s16) ((b43_phy_read(dev, 0x047F) >> 8) & 0x003F);
|
||||
if (v47F >= 0x20)
|
||||
@ -1353,8 +1348,7 @@ static u16 b43_radio_init2050(struct b43_wldev *dev)
|
||||
b43_radio_write16(dev, 0x43, 0x1F);
|
||||
} else {
|
||||
b43_radio_write16(dev, 0x52, 0);
|
||||
b43_radio_write16(dev, 0x43, (b43_radio_read16(dev, 0x43)
|
||||
& 0xFFF0) | 0x0009);
|
||||
b43_radio_maskset(dev, 0x43, 0xFFF0, 0x0009);
|
||||
}
|
||||
b43_phy_write(dev, B43_PHY_CCK(0x58), 0);
|
||||
|
||||
@ -1681,8 +1675,7 @@ static void b43_phy_initb6(struct b43_wldev *dev)
|
||||
b43_radio_write16(dev, 0x5B, 0x7B);
|
||||
b43_radio_write16(dev, 0x5C, 0xB0);
|
||||
}
|
||||
b43_radio_write16(dev, 0x007A,
|
||||
(b43_radio_read16(dev, 0x007A) & 0x00F8) | 0x0007);
|
||||
b43_radio_maskset(dev, 0x007A, 0x00F8, 0x0007);
|
||||
|
||||
b43_gphy_channel_switch(dev, old_channel, 0);
|
||||
|
||||
@ -1777,8 +1770,7 @@ static void b43_calc_loopback_gain(struct b43_wldev *dev)
|
||||
b43_radio_write16(dev, 0x43, 0x000F);
|
||||
} else {
|
||||
b43_radio_write16(dev, 0x52, 0);
|
||||
b43_radio_write16(dev, 0x43, (b43_radio_read16(dev, 0x43)
|
||||
& 0xFFF0) | 0x9);
|
||||
b43_radio_maskset(dev, 0x43, 0xFFF0, 0x9);
|
||||
}
|
||||
b43_gphy_set_baseband_attenuation(dev, 11);
|
||||
|
||||
@ -1953,9 +1945,7 @@ static void b43_phy_init_pctl(struct b43_wldev *dev)
|
||||
b43_hardware_pctl_early_init(dev);
|
||||
if (gphy->cur_idle_tssi == 0) {
|
||||
if (phy->radio_ver == 0x2050 && phy->analog == 0) {
|
||||
b43_radio_write16(dev, 0x0076,
|
||||
(b43_radio_read16(dev, 0x0076)
|
||||
& 0x00F7) | 0x0084);
|
||||
b43_radio_maskset(dev, 0x0076, 0x00F7, 0x0084);
|
||||
} else {
|
||||
struct b43_rfatt rfatt;
|
||||
struct b43_bbatt bbatt;
|
||||
@ -2057,9 +2047,7 @@ static void b43_phy_initg(struct b43_wldev *dev)
|
||||
| gphy->lo_control->tx_bias | gphy->
|
||||
lo_control->tx_magn);
|
||||
} else {
|
||||
b43_radio_write16(dev, 0x52,
|
||||
(b43_radio_read16(dev, 0x52) & 0xFFF0)
|
||||
| gphy->lo_control->tx_bias);
|
||||
b43_radio_maskset(dev, 0x52, 0xFFF0, gphy->lo_control->tx_bias);
|
||||
}
|
||||
if (phy->rev >= 6) {
|
||||
b43_phy_maskset(dev, B43_PHY_CCK(0x36), 0x0FFF, (gphy->lo_control->tx_bias << 12));
|
||||
|
Loading…
Reference in New Issue
Block a user