]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/net/wireless/wl12xx/wl1271_rx.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[net-next-2.6.git] / drivers / net / wireless / wl12xx / wl1271_rx.c
index 6f1b732ae43b0e64ae52fb59a99a604d30128d75..57f4bfd959c8d46519fbe375901d3d2f3de2864f 100644 (file)
@@ -43,66 +43,6 @@ static u32 wl1271_rx_get_buf_size(struct wl1271_fw_status *status,
                RX_BUF_SIZE_MASK) >> RX_BUF_SIZE_SHIFT_DIV;
 }
 
-/* The values of this table must match the wl1271_rates[] array */
-static u8 wl1271_rx_rate_to_idx[] = {
-       /* MCS rates are used only with 11n */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_MCS7 */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_MCS6 */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_MCS5 */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_MCS4 */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_MCS3 */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_MCS2 */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_MCS1 */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_MCS0 */
-
-       11,                         /* WL1271_RATE_54   */
-       10,                         /* WL1271_RATE_48   */
-       9,                          /* WL1271_RATE_36   */
-       8,                          /* WL1271_RATE_24   */
-
-       /* TI-specific rate */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_22   */
-
-       7,                          /* WL1271_RATE_18   */
-       6,                          /* WL1271_RATE_12   */
-       3,                          /* WL1271_RATE_11   */
-       5,                          /* WL1271_RATE_9    */
-       4,                          /* WL1271_RATE_6    */
-       2,                          /* WL1271_RATE_5_5  */
-       1,                          /* WL1271_RATE_2    */
-       0                           /* WL1271_RATE_1    */
-};
-
-/* The values of this table must match the wl1271_rates[] array */
-static u8 wl1271_5_ghz_rx_rate_to_idx[] = {
-       /* MCS rates are used only with 11n */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_MCS7 */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_MCS6 */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_MCS5 */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_MCS4 */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_MCS3 */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_MCS2 */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_MCS1 */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_MCS0 */
-
-       7,                          /* WL1271_RATE_54   */
-       6,                          /* WL1271_RATE_48   */
-       5,                          /* WL1271_RATE_36   */
-       4,                          /* WL1271_RATE_24   */
-
-       /* TI-specific rate */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_22   */
-
-       3,                          /* WL1271_RATE_18   */
-       2,                          /* WL1271_RATE_12   */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_11   */
-       1,                          /* WL1271_RATE_9    */
-       0,                          /* WL1271_RATE_6    */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_5_5  */
-       WL1271_RX_RATE_UNSUPPORTED, /* WL1271_RATE_2    */
-       WL1271_RX_RATE_UNSUPPORTED  /* WL1271_RATE_1    */
-};
-
 static void wl1271_rx_status(struct wl1271 *wl,
                             struct wl1271_rx_descriptor *desc,
                             struct ieee80211_rx_status *status,
@@ -110,20 +50,8 @@ static void wl1271_rx_status(struct wl1271 *wl,
 {
        memset(status, 0, sizeof(struct ieee80211_rx_status));
 
-       if ((desc->flags & WL1271_RX_DESC_BAND_MASK) ==
-           WL1271_RX_DESC_BAND_BG) {
-               status->band = IEEE80211_BAND_2GHZ;
-               status->rate_idx = wl1271_rx_rate_to_idx[desc->rate];
-       } else if ((desc->flags & WL1271_RX_DESC_BAND_MASK) ==
-                WL1271_RX_DESC_BAND_A) {
-               status->band = IEEE80211_BAND_5GHZ;
-               status->rate_idx = wl1271_5_ghz_rx_rate_to_idx[desc->rate];
-       } else
-               wl1271_warning("unsupported band 0x%x",
-                              desc->flags & WL1271_RX_DESC_BAND_MASK);
-
-       if (unlikely(status->rate_idx == WL1271_RX_RATE_UNSUPPORTED))
-               wl1271_warning("unsupported rate");
+       status->band = wl->band;
+       status->rate_idx = wl1271_rate_to_idx(wl, desc->rate);
 
        /*
         * FIXME: Add mactime handling.  For IBSS (ad-hoc) we need to get the
@@ -133,13 +61,6 @@ static void wl1271_rx_status(struct wl1271 *wl,
         */
        status->signal = desc->rssi;
 
-       /*
-        * FIXME: In wl1251, the SNR should be divided by two.  In wl1271 we
-        * need to divide by two for now, but TI has been discussing about
-        * changing it.  This needs to be rechecked.
-        */
-       status->noise = desc->rssi - (desc->snr >> 1);
-
        status->freq = ieee80211_channel_to_frequency(desc->channel);
 
        if (desc->flags & WL1271_RX_DESC_ENCRYPT_MASK) {