summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/b43/phy_ht.c
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2011-08-12 13:13:44 +0200
committerJohn W. Linville <linville@tuxdriver.com>2011-08-22 14:46:00 -0400
commit15222b582dc761ba1eb1ed47367df43f803f3670 (patch)
tree79fa8d22604524256f8398285d859ec4de8a2253 /drivers/net/wireless/b43/phy_ht.c
parenta63d7e67fc259249c563878f8e296a2ed6def039 (diff)
b43: HT-PHY: init: zero EXTG registers
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_ht.c')
-rw-r--r--drivers/net/wireless/b43/phy_ht.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43/phy_ht.c b/drivers/net/wireless/b43/phy_ht.c
index 7c40919651a7..99b3035d48ec 100644
--- a/drivers/net/wireless/b43/phy_ht.c
+++ b/drivers/net/wireless/b43/phy_ht.c
@@ -152,6 +152,24 @@ static void b43_radio_2059_init(struct b43_wldev *dev)
}
/**************************************************
+ * Various PHY ops
+ **************************************************/
+
+static void b43_phy_ht_zero_extg(struct b43_wldev *dev)
+{
+ u8 i, j;
+ u16 base[] = { 0x40, 0x60, 0x80 };
+
+ for (i = 0; i < ARRAY_SIZE(base); i++) {
+ for (j = 0; j < 4; j++)
+ b43_phy_write(dev, B43_PHY_EXTG(base[i] + j), 0);
+ }
+
+ for (i = 0; i < ARRAY_SIZE(base); i++)
+ b43_phy_write(dev, B43_PHY_EXTG(base[i] + 0xc), 0);
+}
+
+/**************************************************
* Channel switching ops.
**************************************************/
@@ -257,6 +275,10 @@ static int b43_phy_ht_op_init(struct b43_wldev *dev)
{
b43_phy_ht_tables_init(dev);
+ /* TODO: PHY ops on regs 0x0be, 0x23f 0x240 0x241 */
+
+ b43_phy_ht_zero_extg(dev);
+
return 0;
}