From 6ba28f956f8181f92b2361bbe097b6b6e46637d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Sat, 13 Aug 2011 01:41:12 +0200 Subject: [PATCH] --- yaml --- r: 265625 b: refs/heads/master c: a4042bb0932832328650fe9fb93d9afcb6699a04 h: refs/heads/master i: 265623: 0caa817995683dbce3b5c69f8592faa2a70d6694 v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/b43/phy_ht.c | 26 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 9d992e0761c1..fd984aee5b7e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 357e24d2d07a2bb5bf706026d1ccf508c56b9b3e +refs/heads/master: a4042bb0932832328650fe9fb93d9afcb6699a04 diff --git a/trunk/drivers/net/wireless/b43/phy_ht.c b/trunk/drivers/net/wireless/b43/phy_ht.c index 651938e5bffc..8a92d6e2d85b 100644 --- a/trunk/drivers/net/wireless/b43/phy_ht.c +++ b/trunk/drivers/net/wireless/b43/phy_ht.c @@ -169,6 +169,28 @@ static void b43_phy_ht_zero_extg(struct b43_wldev *dev) b43_phy_write(dev, B43_PHY_EXTG(base[i] + 0xc), 0); } +/* Some unknown AFE (Analog Frondned) op */ +static void b43_phy_ht_afe_unk1(struct b43_wldev *dev) +{ + u8 i; + + const u16 ctl_regs[3][2] = { + { B43_PHY_HT_AFE_CTL1, B43_PHY_HT_AFE_CTL2 }, + { B43_PHY_HT_AFE_CTL3, B43_PHY_HT_AFE_CTL4 }, + { B43_PHY_HT_AFE_CTL5, B43_PHY_HT_AFE_CTL6}, + }; + + for (i = 0; i < 3; i++) { + /* TODO: verify masks&sets */ + b43_phy_set(dev, ctl_regs[i][1], 0x4); + b43_phy_set(dev, ctl_regs[i][0], 0x4); + b43_phy_mask(dev, ctl_regs[i][1], ~0x1); + b43_phy_set(dev, ctl_regs[i][0], 0x1); + b43_httab_write(dev, B43_HTTAB16(8, 5 + (i * 0x10)), 0); + b43_phy_mask(dev, ctl_regs[i][0], ~0x4); + } +} + static void b43_phy_ht_bphy_init(struct b43_wldev *dev) { unsigned int i; @@ -332,6 +354,10 @@ static int b43_phy_ht_op_init(struct b43_wldev *dev) /* TODO: Some ops here */ + b43_phy_ht_afe_unk1(dev); + + /* TODO: Some ops here */ + b43_phy_maskset(dev, 0x0280, 0xff00, 0x3e); b43_phy_maskset(dev, 0x0283, 0xff00, 0x3e); b43_phy_maskset(dev, B43_PHY_OFDM(0x0141), 0xff00, 0x46);