ath9k_hw: increase symbol overlap window for half/quarter channels
authorFelix Fietkau <nbd@openwrt.org>
Thu, 19 Apr 2012 19:18:25 +0000 (21:18 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 23 Apr 2012 19:35:31 +0000 (15:35 -0400)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ar9003_phy.c
drivers/net/wireless/ath/ath9k/ar9003_phy.h

index be6069bc48319b747a03bc5fce841fe509fe5df0..4c8d0d7709456c987d3de9c051c207f45fa86a0d 100644 (file)
@@ -728,6 +728,10 @@ static void ar9003_hw_set_rfmode(struct ath_hw *ah,
        if (IS_CHAN_HALF_RATE(chan))
                rfMode |= AR_PHY_MODE_HALF;
 
+       if (rfMode & (AR_PHY_MODE_QUARTER | AR_PHY_MODE_HALF))
+               REG_RMW_FIELD(ah, AR_PHY_FRAME_CTL,
+                             AR_PHY_FRAME_CTL_CF_OVERLAP_WINDOW, 3);
+
        REG_WRITE(ah, AR_PHY_MODE, rfMode);
 }
 
index d834d97fe7276e279402d4e3a75e6e6db1ac983f..7268a48a92a178c95c953ffa3e0bbbfcc2fe3627 100644 (file)
 #define AR_PHY_ADDAC_PARA_CTL    (AR_SM_BASE + 0x150)
 #define AR_PHY_XPA_CFG           (AR_SM_BASE + 0x158)
 
+#define AR_PHY_FRAME_CTL_CF_OVERLAP_WINDOW  3
+#define AR_PHY_FRAME_CTL_CF_OVERLAP_WINDOW_S    0
+
 #define AR_PHY_SPUR_MASK_A_CF_PUNC_MASK_IDX_A           0x0001FC00
 #define AR_PHY_SPUR_MASK_A_CF_PUNC_MASK_IDX_A_S         10
 #define AR_PHY_SPUR_MASK_A_CF_PUNC_MASK_A                       0x3FF