b43: LCN-PHY: minor fixes
authorRafał Miłecki <zajec5@gmail.com>
Wed, 31 Aug 2011 21:36:16 +0000 (23:36 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 13 Sep 2011 19:53:45 +0000 (15:53 -0400)
The biggest change is reversing order of reading 32-bit table value.
MMIO dumps has shown it's done that way for LCN-PHY.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/b43.h
drivers/net/wireless/b43/main.c
drivers/net/wireless/b43/tables_phy_lcn.c

index 8ff706289b5db6b8886c1559528ae23e575acde3..f8615cdf1075b7102403a1f352821ef756adb505 100644 (file)
 #define B43_MMIO_TSF_CFP_START_LOW     0x604
 #define B43_MMIO_TSF_CFP_START_HIGH    0x606
 #define B43_MMIO_TSF_CFP_PRETBTT       0x612
+#define B43_MMIO_TSF_CLK_FRAC_LOW      0x62E
+#define B43_MMIO_TSF_CLK_FRAC_HIGH     0x630
 #define B43_MMIO_TSF_0                 0x632   /* core rev < 3 only */
 #define B43_MMIO_TSF_1                 0x634   /* core rev < 3 only */
 #define B43_MMIO_TSF_2                 0x636   /* core rev < 3 only */
index 172294170df8e7777938b429257c334b0cad8856..6bca727456b6c78576f0705ca72867ff1e5d137b 100644 (file)
@@ -2953,6 +2953,7 @@ static void b43_rate_memory_init(struct b43_wldev *dev)
        case B43_PHYTYPE_N:
        case B43_PHYTYPE_LP:
        case B43_PHYTYPE_HT:
+       case B43_PHYTYPE_LCN:
                b43_rate_memory_write(dev, B43_OFDM_RATE_6MB, 1);
                b43_rate_memory_write(dev, B43_OFDM_RATE_12MB, 1);
                b43_rate_memory_write(dev, B43_OFDM_RATE_18MB, 1);
index 0a5842808a78229dd3670cba9aa861544dd2687a..916d3f194f422f3f79ace51a43f378e549b88faf 100644 (file)
@@ -318,9 +318,8 @@ u32 b43_lcntab_read(struct b43_wldev *dev, u32 offset)
                break;
        case B43_LCNTAB_32BIT:
                b43_phy_write(dev, B43_PHY_LCN_TABLE_ADDR, offset);
-               value = b43_phy_read(dev, B43_PHY_LCN_TABLE_DATAHI);
-               value <<= 16;
-               value |= b43_phy_read(dev, B43_PHY_LCN_TABLE_DATALO);
+               value = b43_phy_read(dev, B43_PHY_LCN_TABLE_DATALO);
+               value |= (b43_phy_read(dev, B43_PHY_LCN_TABLE_DATAHI) << 16);
                break;
        default:
                B43_WARN_ON(1);
@@ -357,10 +356,9 @@ void b43_lcntab_read_bulk(struct b43_wldev *dev, u32 offset,
                        break;
                case B43_LCNTAB_32BIT:
                        *((u32 *)data) = b43_phy_read(dev,
-                                                     B43_PHY_LCN_TABLE_DATAHI);
-                       *((u32 *)data) <<= 16;
-                       *((u32 *)data) |= b43_phy_read(dev,
                                                B43_PHY_LCN_TABLE_DATALO);
+                       *((u32 *)data) |= (b43_phy_read(dev,
+                                          B43_PHY_LCN_TABLE_DATAHI) << 16);
                        data += 4;
                        break;
                default: