aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2011-06-19 21:12:19 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-06-22 16:09:44 -0400
commitc1c3daee97498f5d74bfd23531cfe23c8e14a619 (patch)
tree823c5b2b6ba51219a8a79d123bd6946cebf25664 /drivers
parentbf4c02d5e772903be5bf8952bac730a2956d0619 (diff)
b43: HT-PHY: calibrate radio after switching channel
After uploading radio values calibration goes in. In MMIO dump it is: radio_read(0x002b) -> 0x0008 radio_write(0x002b) <- 0x0008 radio_read(0x002e) -> 0x0004 radio_write(0x002e) <- 0x0000 radio_read(0x002e) -> 0x0000 radio_write(0x002e) <- 0x0004 radio_read(0x002b) -> 0x0008 radio_write(0x002b) <- 0x0009 To find masks and sets, MMIO hacks were used to fool closed driver. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/b43/phy_ht.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/wireless/b43/phy_ht.c b/drivers/net/wireless/b43/phy_ht.c
index 0b13f6f37c2..72f01ce8b42 100644
--- a/drivers/net/wireless/b43/phy_ht.c
+++ b/drivers/net/wireless/b43/phy_ht.c
@@ -69,7 +69,13 @@ static void b43_radio_2059_channel_setup(struct b43_wldev *dev,
69 69
70 udelay(50); 70 udelay(50);
71 71
72 /* TODO */ 72 /* Calibration */
73 b43_radio_mask(dev, 0x2b, ~0x1);
74 b43_radio_mask(dev, 0x2e, ~0x4);
75 b43_radio_set(dev, 0x2e, 0x4);
76 b43_radio_set(dev, 0x2b, 0x1);
77
78 udelay(300);
73} 79}
74 80
75static void b43_phy_ht_channel_setup(struct b43_wldev *dev, 81static void b43_phy_ht_channel_setup(struct b43_wldev *dev,