b43: use b43_phy_mask/set helpers where possible
PATCH 5/5 b43: use b43_phy_mask/set helpers where possible
Signed-off-by Harvey Harrison <[email protected]>
--- drivers/net/wireless/b43/lo.c | 31 +--- drivers/net/wireless/b43/phy.c | 324 ++++++++++++++-------------------------- drivers/net/wireless/b43/wa.c | 25 +-- 3 files changed, 128 insertions(+), 252 deletions(-)
drivers/net/wireless/b43/lo.c +8 -23
@@ -591,18 +591,10 @@ static void lo_measure_setup(struct b43_wldev *dev, sav->phy_cck_14 =b43_phy_read (dev,B43_PHY_CCK (0x14 )); sav->phy_hpwr_tssictl =b43_phy_read (dev,B43_PHY_HPWR_TSSICTL ); -b43_phy_write (dev,B43_PHY_HPWR_TSSICTL , -b43_phy_read (dev,B43_PHY_HPWR_TSSICTL ) - |0x100 ); -b43_phy_write (dev,B43_PHY_EXTG (0x01 ), -b43_phy_read (dev,B43_PHY_EXTG (0x01 )) - |0x40 ); -b43_phy_write (dev,B43_PHY_DACCTL , -b43_phy_read (dev,B43_PHY_DACCTL ) - |0x40 ); -b43_phy_write (dev,B43_PHY_CCK (0x14 ), -b43_phy_read (dev,B43_PHY_CCK (0x14 )) - |0x200 ); +b43_phy_set (dev,B43_PHY_HPWR_TSSICTL ,0x0100 ); +b43_phy_set (dev,B43_PHY_EXTG (0x01 ),0x0040 ); +b43_phy_set (dev,B43_PHY_DACCTL ,0x0040 ); +b43_phy_set (dev,B43_PHY_CCK (0x14 ),0x0200 ); }if (phy->type ==B43_PHYTYPE_B && phy->radio_ver ==0x2050 && phy->radio_rev <6 ) {
@@ -621,17 +613,10 @@ static void lo_measure_setup(struct b43_wldev *dev, sav->phy_cck_3E =b43_phy_read (dev,B43_PHY_CCK (0x3E )); sav->phy_crs0 =b43_phy_read (dev,B43_PHY_CRS0 ); -b43_phy_write (dev,B43_PHY_CLASSCTL , -b43_phy_read (dev,B43_PHY_CLASSCTL ) - &0xFFFC ); -b43_phy_write (dev,B43_PHY_CRS0 ,b43_phy_read (dev,B43_PHY_CRS0 ) - &0x7FFF ); -b43_phy_write (dev,B43_PHY_ANALOGOVER , -b43_phy_read (dev,B43_PHY_ANALOGOVER ) - |0x0003 ); -b43_phy_write (dev,B43_PHY_ANALOGOVERVAL , -b43_phy_read (dev,B43_PHY_ANALOGOVERVAL ) - &0xFFFC ); +b43_phy_mask (dev,B43_PHY_CLASSCTL ,0xFFFC ); +b43_phy_mask (dev,B43_PHY_CRS0 ,0x7FFF ); +b43_phy_set (dev,B43_PHY_ANALOGOVER ,0x0003 ); +b43_phy_mask (dev,B43_PHY_ANALOGOVERVAL ,0xFFFC );if (phy->type ==B43_PHYTYPE_G ) {if ((phy->rev >=7 ) && (sprom->boardflags_lo &B43_BFL_EXTLNA )) {
drivers/net/wireless/b43/phy.c +112 -212
600 lines not on this page · raw message
drivers/net/wireless/b43/wa.c +8 -17
@@ -62,8 +62,7 @@ void b43_wa_initgains(struct b43_wldev *dev)struct b43_phy *phy = &dev->phy;b43_phy_write (dev,B43_PHY_LNAHPFCTL ,0x1FF9 ); -b43_phy_write (dev,B43_PHY_LPFGAINCTL , -b43_phy_read (dev,B43_PHY_LPFGAINCTL ) &0xFF0F ); +b43_phy_mask (dev,B43_PHY_LPFGAINCTL ,0xFF0F );if (phy->rev <=2 )b43_ofdmtab_write16 (dev,B43_OFDMTAB_LPFGAIN ,0 ,0x1FBF );b43_radio_write16 (dev,0x0002 ,0x1FBF );
@@ -84,7 +83,7 @@ void b43_wa_initgains(struct b43_wldev *dev)static void b43_wa_divider (struct b43_wldev *dev) { -b43_phy_write (dev,0x002B ,b43_phy_read (dev,0x002B ) & ~0x0100 ); +b43_phy_mask (dev,0x002B ,0xFEFF );b43_phy_write (dev,0x008E ,0x58C1 ); }
@@ -314,16 +313,12 @@ static void b43_wa_crs_ed(struct b43_wldev *dev) }else if (phy->rev ==2 ) {b43_phy_write (dev,B43_PHY_CRSTHRES1 ,0x1861 );b43_phy_write (dev,B43_PHY_CRSTHRES2 ,0x0271 ); -b43_phy_write (dev,B43_PHY_ANTDWELL , -b43_phy_read (dev,B43_PHY_ANTDWELL ) - |0x0800 ); +b43_phy_set (dev,B43_PHY_ANTDWELL ,0x0800 ); }else {b43_phy_write (dev,B43_PHY_CRSTHRES1 ,0x0098 );b43_phy_write (dev,B43_PHY_CRSTHRES2 ,0x0070 );b43_phy_write (dev,B43_PHY_OFDM (0xC9 ),0x0080 ); -b43_phy_write (dev,B43_PHY_ANTDWELL , -b43_phy_read (dev,B43_PHY_ANTDWELL ) - |0x0800 ); +b43_phy_set (dev,B43_PHY_ANTDWELL ,0x0800 ); } }
@@ -412,8 +407,7 @@ static void b43_wa_altagc(struct b43_wldev *dev)b43_phy_write (dev,B43_PHY_PEAK_COUNT ,0x092B );b43_phy_maskset (dev,B43_PHY_OFDM (0x1B ),0xFFE1 ,0x0002 ); }else { -b43_phy_write (dev,B43_PHY_OFDM (0x1B ), -b43_phy_read (dev,B43_PHY_OFDM (0x1B )) & ~0x001E ); +b43_phy_mask (dev,B43_PHY_OFDM (0x1B ),0xFFE1 );b43_phy_write (dev,B43_PHY_OFDM (0x1F ),0x287A );b43_phy_maskset (dev,B43_PHY_LPFGAINCTL ,0xFFF0 ,0x0004 );if (phy->rev >=6 ) {
@@ -439,10 +433,8 @@ static void b43_wa_altagc(struct b43_wldev *dev)b43_ofdmtab_write16 (dev,B43_OFDMTAB_AGC3 ,3 ,28 ); }if (phy->rev >=6 ) { -b43_phy_write (dev,B43_PHY_OFDM (0x26 ), -b43_phy_read (dev,B43_PHY_OFDM (0x26 )) & ~0x0003 ); -b43_phy_write (dev,B43_PHY_OFDM (0x26 ), -b43_phy_read (dev,B43_PHY_OFDM (0x26 )) & ~0x1000 ); +b43_phy_mask (dev,B43_PHY_OFDM (0x26 ),0xFFFC ); +b43_phy_mask (dev,B43_PHY_OFDM (0x26 ),0xEFFF ); }b43_phy_read (dev,B43_PHY_VERSION_OFDM );/* Dummy read */ }
@@ -508,8 +500,7 @@ static void b43_wa_boards_g(struct b43_wldev *dev)b43_ofdmtab_write16 (dev,B43_OFDMTAB_GAINX ,2 ,0x0001 );if ((bus->sprom.boardflags_lo &B43_BFL_EXTLNA ) && (phy->rev >=7 )) { -b43_phy_write (dev,B43_PHY_EXTG (0x11 ), -b43_phy_read (dev,B43_PHY_EXTG (0x11 )) &0xF7FF ); +b43_phy_mask (dev,B43_PHY_EXTG (0x11 ),0xF7FF );b43_ofdmtab_write16 (dev,B43_OFDMTAB_GAINX ,0x0020 ,0x0001 );b43_ofdmtab_write16 (dev,B43_OFDMTAB_GAINX ,0x0021 ,0x0001 );b43_ofdmtab_write16 (dev,B43_OFDMTAB_GAINX ,0x0022 ,0x0001 );
Signature · 1 line
1.5.4.4.684.g0e08