b43: N-PHY: fix Cal TX IQ LO for newer PHYs
authorRafał Miłecki <zajec5@gmail.com>
Sat, 30 Jan 2010 19:18:05 +0000 (20:18 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 1 Feb 2010 20:40:06 +0000 (15:40 -0500)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/phy_n.c

index 0e04a26..1dace55 100644 (file)
@@ -2229,7 +2229,17 @@ static int b43_nphy_cal_tx_iq_lo(struct b43_wldev *dev,
                (dev->phy.rev == 5 && nphy->ipa2g_on &&
                b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ);
        if (phy6or5x) {
-               /* TODO */
+               if (dev->phy.is_40mhz) {
+                       b43_ntab_write_bulk(dev, B43_NTAB16(15, 0), 18,
+                                       tbl_tx_iqlo_cal_loft_ladder_40);
+                       b43_ntab_write_bulk(dev, B43_NTAB16(15, 32), 18,
+                                       tbl_tx_iqlo_cal_iqimb_ladder_40);
+               } else {
+                       b43_ntab_write_bulk(dev, B43_NTAB16(15, 0), 18,
+                                       tbl_tx_iqlo_cal_loft_ladder_20);
+                       b43_ntab_write_bulk(dev, B43_NTAB16(15, 32), 18,
+                                       tbl_tx_iqlo_cal_iqimb_ladder_20);
+               }
        }
 
        b43_phy_write(dev, B43_NPHY_IQLOCAL_CMDGCTL, 0x8AA9);