aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/phy_n.c
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2011-09-04 17:23:51 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-09-14 13:56:28 -0400
commit44f4008b5983f058fbea6d238f8c78908676d092 (patch)
treebc5e299af35ddb48e0cfaeb28fc6fa71672496f4 /drivers/net/wireless/b43/phy_n.c
parentc002831a07ddba2a81fe1172c497ec7e673ba720 (diff)
b43: N-PHY: replace some hacks with nice tables ops
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/phy_n.c')
-rw-r--r--drivers/net/wireless/b43/phy_n.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/drivers/net/wireless/b43/phy_n.c b/drivers/net/wireless/b43/phy_n.c
index 40e436e0476..c291ae576b3 100644
--- a/drivers/net/wireless/b43/phy_n.c
+++ b/drivers/net/wireless/b43/phy_n.c
@@ -444,19 +444,14 @@ static void b43_nphy_tx_power_fix(struct b43_wldev *dev)
444 else 444 else
445 b43_phy_write(dev, B43_NPHY_AFECTL_DACGAIN2, dac_gain); 445 b43_phy_write(dev, B43_NPHY_AFECTL_DACGAIN2, dac_gain);
446 446
447 b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x1D10 + i); 447 b43_ntab_write(dev, B43_NTAB16(0x7, 0x110 + i), radio_gain);
448 b43_phy_write(dev, B43_NPHY_TABLE_DATALO, radio_gain);
449
450 b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x3C57);
451 tmp = b43_phy_read(dev, B43_NPHY_TABLE_DATALO);
452 448
449 tmp = b43_ntab_read(dev, B43_NTAB16(0xF, 0x57));
453 if (i == 0) 450 if (i == 0)
454 tmp = (tmp & 0x00FF) | (bbmult << 8); 451 tmp = (tmp & 0x00FF) | (bbmult << 8);
455 else 452 else
456 tmp = (tmp & 0xFF00) | bbmult; 453 tmp = (tmp & 0xFF00) | bbmult;
457 454 b43_ntab_write(dev, B43_NTAB16(0xF, 0x57), tmp);
458 b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x3C57);
459 b43_phy_write(dev, B43_NPHY_TABLE_DATALO, tmp);
460 455
461 if (0) 456 if (0)
462 ; /* TODO */ 457 ; /* TODO */
@@ -970,11 +965,7 @@ static void b43_nphy_calc_rx_iq_comp(struct b43_wldev *dev, u8 mask)
970static void b43_nphy_tx_iq_workaround(struct b43_wldev *dev) 965static void b43_nphy_tx_iq_workaround(struct b43_wldev *dev)
971{ 966{
972 u16 array[4]; 967 u16 array[4];
973 int i; 968 b43_ntab_read_bulk(dev, B43_NTAB16(0xF, 0x50), 4, array);
974
975 b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x3C50);
976 for (i = 0; i < 4; i++)
977 array[i] = b43_phy_read(dev, B43_NPHY_TABLE_DATALO);
978 969
979 b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_NPHY_TXIQW0, array[0]); 970 b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_NPHY_TXIQW0, array[0]);
980 b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_NPHY_TXIQW1, array[1]); 971 b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_NPHY_TXIQW1, array[1]);