Loading drivers/net/wireless/iwlegacy/iwl-3945-rs.c +18 −18 Original line number Diff line number Diff line Loading @@ -64,27 +64,27 @@ struct il3945_tpt_entry { }; static struct il3945_tpt_entry il3945_tpt_table_a[] = { {-60, RATE_54M_INDEX}, {-64, RATE_48M_INDEX}, {-72, RATE_36M_INDEX}, {-80, RATE_24M_INDEX}, {-84, RATE_18M_INDEX}, {-85, RATE_12M_INDEX}, {-87, RATE_9M_INDEX}, {-89, RATE_6M_INDEX} {-60, RATE_54M_IDX}, {-64, RATE_48M_IDX}, {-72, RATE_36M_IDX}, {-80, RATE_24M_IDX}, {-84, RATE_18M_IDX}, {-85, RATE_12M_IDX}, {-87, RATE_9M_IDX}, {-89, RATE_6M_IDX} }; static struct il3945_tpt_entry il3945_tpt_table_g[] = { {-60, RATE_54M_INDEX}, {-64, RATE_48M_INDEX}, {-68, RATE_36M_INDEX}, {-80, RATE_24M_INDEX}, {-84, RATE_18M_INDEX}, {-85, RATE_12M_INDEX}, {-86, RATE_11M_INDEX}, {-88, RATE_5M_INDEX}, {-90, RATE_2M_INDEX}, {-92, RATE_1M_INDEX} {-60, RATE_54M_IDX}, {-64, RATE_48M_IDX}, {-68, RATE_36M_IDX}, {-80, RATE_24M_IDX}, {-84, RATE_18M_IDX}, {-85, RATE_12M_IDX}, {-86, RATE_11M_IDX}, {-88, RATE_5M_IDX}, {-90, RATE_2M_IDX}, {-92, RATE_1M_IDX} }; #define RATE_MAX_WINDOW 62 Loading drivers/net/wireless/iwlegacy/iwl-3945.c +41 −41 Original line number Diff line number Diff line Loading @@ -52,16 +52,16 @@ #include "iwl-3945-debugfs.h" #define IL_DECLARE_RATE_INFO(r, ip, in, rp, rn, pp, np) \ [RATE_##r##M_INDEX] = { RATE_##r##M_PLCP, \ [RATE_##r##M_IDX] = { RATE_##r##M_PLCP, \ RATE_##r##M_IEEE, \ RATE_##ip##M_INDEX, \ RATE_##in##M_INDEX, \ RATE_##rp##M_INDEX, \ RATE_##rn##M_INDEX, \ RATE_##pp##M_INDEX, \ RATE_##np##M_INDEX, \ RATE_##r##M_INDEX_TABLE, \ RATE_##ip##M_INDEX_TABLE } RATE_##ip##M_IDX, \ RATE_##in##M_IDX, \ RATE_##rp##M_IDX, \ RATE_##rn##M_IDX, \ RATE_##pp##M_IDX, \ RATE_##np##M_IDX, \ RATE_##r##M_IDX_TABLE, \ RATE_##ip##M_IDX_TABLE } /* * Parameter order: Loading Loading @@ -246,16 +246,16 @@ int il3945_rs_next_rate(struct il_priv *il, int rate) switch (il->band) { case IEEE80211_BAND_5GHZ: if (rate == RATE_12M_INDEX) next_rate = RATE_9M_INDEX; else if (rate == RATE_6M_INDEX) next_rate = RATE_6M_INDEX; if (rate == RATE_12M_IDX) next_rate = RATE_9M_IDX; else if (rate == RATE_6M_IDX) next_rate = RATE_6M_IDX; break; case IEEE80211_BAND_2GHZ: if (!(il->_3945.sta_supp_rates & IL_OFDM_RATES_MASK) && il_is_associated(il)) { if (rate == RATE_11M_INDEX) next_rate = RATE_5M_INDEX; if (rate == RATE_11M_IDX) next_rate = RATE_5M_IDX; } break; Loading Loading @@ -307,7 +307,7 @@ static void il3945_rx_reply_tx(struct il_priv *il, struct il_rx_pkt *pkt = rxb_addr(rxb); u16 sequence = le16_to_cpu(pkt->hdr.sequence); int txq_id = SEQ_TO_QUEUE(sequence); int index = SEQ_TO_INDEX(sequence); int index = SEQ_TO_IDX(sequence); struct il_tx_queue *txq = &il->txq[txq_id]; struct ieee80211_tx_info *info; struct il3945_tx_resp *tx_resp = (void *)&pkt->u.raw[0]; Loading Loading @@ -1133,7 +1133,7 @@ static int il3945_is_temp_calib_needed(struct il_priv *il) #define IL_MAX_GAIN_ENTRIES 78 #define IL_CCK_FROM_OFDM_POWER_DIFF -5 #define IL_CCK_FROM_OFDM_INDEX_DIFF (10) #define IL_CCK_FROM_OFDM_IDX_DIFF (10) /* radio and DSP power table, each step is 1/2 dB. * 1st number is for RF analog gain, 2nd number is for DSP pre-DAC gain. */ Loading Loading @@ -1330,7 +1330,7 @@ static void il3945_hw_reg_set_scan_power(struct il_priv *il, u32 scan_tbl_index, /* use this channel group's 6Mbit clipping/saturation pwr, * but cap at regulatory scan power restriction (set during init * based on eeprom channel data) for this channel. */ power = min(ch_info->scan_power, clip_pwrs[RATE_6M_INDEX_TABLE]); power = min(ch_info->scan_power, clip_pwrs[RATE_6M_IDX_TABLE]); power = min(power, il->tx_power_user_lmt); scan_power_info->requested_power = power; Loading @@ -1342,7 +1342,7 @@ static void il3945_hw_reg_set_scan_power(struct il_priv *il, u32 scan_tbl_index, * *index*. */ power_index = ch_info->power_info[rate_index].power_table_index - (power - ch_info->power_info [RATE_6M_INDEX_TABLE].requested_power) * 2; [RATE_6M_IDX_TABLE].requested_power) * 2; /* store reference index that we use when adjusting *all* scan * powers. So we can accommodate user (all channel) or spectrum Loading Loading @@ -1466,7 +1466,7 @@ static int il3945_hw_reg_set_new_power(struct il_priv *il, power_info = ch_info->power_info; /* update OFDM Txpower settings */ for (i = RATE_6M_INDEX_TABLE; i <= RATE_54M_INDEX_TABLE; for (i = RATE_6M_IDX_TABLE; i <= RATE_54M_IDX_TABLE; i++, ++power_info) { int delta_idx; Loading @@ -1490,15 +1490,15 @@ static int il3945_hw_reg_set_new_power(struct il_priv *il, * ... all CCK power settings for a given channel are the *same*. */ if (power_changed) { power = ch_info->power_info[RATE_12M_INDEX_TABLE]. ch_info->power_info[RATE_12M_IDX_TABLE]. requested_power + IL_CCK_FROM_OFDM_POWER_DIFF; /* do all CCK rates' il3945_channel_power_info structures */ for (i = RATE_1M_INDEX_TABLE; i <= RATE_11M_INDEX_TABLE; i++) { for (i = RATE_1M_IDX_TABLE; i <= RATE_11M_IDX_TABLE; i++) { power_info->requested_power = power; power_info->base_power_index = ch_info->power_info[RATE_12M_INDEX_TABLE]. base_power_index + IL_CCK_FROM_OFDM_INDEX_DIFF; ch_info->power_info[RATE_12M_IDX_TABLE]. base_power_index + IL_CCK_FROM_OFDM_IDX_DIFF; ++power_info; } } Loading Loading @@ -1597,7 +1597,7 @@ static int il3945_hw_reg_comp_txpower_temp(struct il_priv *il) for (scan_tbl_index = 0; scan_tbl_index < IL_NUM_SCAN_RATES; scan_tbl_index++) { s32 actual_index = (scan_tbl_index == 0) ? RATE_1M_INDEX_TABLE : RATE_6M_INDEX_TABLE; RATE_1M_IDX_TABLE : RATE_6M_IDX_TABLE; il3945_hw_reg_set_scan_power(il, scan_tbl_index, actual_index, clip_pwrs, ch_info, a_band); Loading Loading @@ -2012,19 +2012,19 @@ static void il3945_hw_reg_init_channel_groups(struct il_priv *il) for (rate_index = 0; rate_index < RATE_COUNT_3945; rate_index++, clip_pwrs++) { switch (rate_index) { case RATE_36M_INDEX_TABLE: case RATE_36M_IDX_TABLE: if (i == 0) /* B/G */ *clip_pwrs = satur_pwr; else /* A */ *clip_pwrs = satur_pwr - 5; break; case RATE_48M_INDEX_TABLE: case RATE_48M_IDX_TABLE: if (i == 0) *clip_pwrs = satur_pwr - 7; else *clip_pwrs = satur_pwr - 10; break; case RATE_54M_INDEX_TABLE: case RATE_54M_IDX_TABLE: if (i == 0) *clip_pwrs = satur_pwr - 9; else Loading Loading @@ -2139,13 +2139,13 @@ int il3945_txpower_set_from_eeprom(struct il_priv *il) } /* set tx power for CCK rates, based on OFDM 12 Mbit settings*/ pwr_info = &ch_info->power_info[RATE_12M_INDEX_TABLE]; pwr_info = &ch_info->power_info[RATE_12M_IDX_TABLE]; power = pwr_info->requested_power + IL_CCK_FROM_OFDM_POWER_DIFF; pwr_index = pwr_info->power_table_index + IL_CCK_FROM_OFDM_INDEX_DIFF; IL_CCK_FROM_OFDM_IDX_DIFF; base_pwr_index = pwr_info->base_power_index + IL_CCK_FROM_OFDM_INDEX_DIFF; IL_CCK_FROM_OFDM_IDX_DIFF; /* stay within table range */ pwr_index = il3945_hw_reg_fix_power_index(pwr_index); Loading @@ -2169,7 +2169,7 @@ int il3945_txpower_set_from_eeprom(struct il_priv *il) for (scan_tbl_index = 0; scan_tbl_index < IL_NUM_SCAN_RATES; scan_tbl_index++) { s32 actual_index = (scan_tbl_index == 0) ? RATE_1M_INDEX_TABLE : RATE_6M_INDEX_TABLE; RATE_1M_IDX_TABLE : RATE_6M_IDX_TABLE; il3945_hw_reg_set_scan_power(il, scan_tbl_index, actual_index, clip_pwrs, ch_info, a_band); } Loading Loading @@ -2326,17 +2326,17 @@ int il3945_init_hw_rate_table(struct il_priv *il) D_RATE("Select A mode rate scale\n"); /* If one of the following CCK rates is used, * have it fall back to the 6M OFDM rate */ for (i = RATE_1M_INDEX_TABLE; i <= RATE_11M_INDEX_TABLE; i++) for (i = RATE_1M_IDX_TABLE; i <= RATE_11M_IDX_TABLE; i++) table[i].next_rate_index = il3945_rates[IL_FIRST_OFDM_RATE].table_rs_index; /* Don't fall back to CCK rates */ table[RATE_12M_INDEX_TABLE].next_rate_index = RATE_9M_INDEX_TABLE; table[RATE_12M_IDX_TABLE].next_rate_index = RATE_9M_IDX_TABLE; /* Don't drop out of OFDM rates */ table[RATE_6M_INDEX_TABLE].next_rate_index = table[RATE_6M_IDX_TABLE].next_rate_index = il3945_rates[IL_FIRST_OFDM_RATE].table_rs_index; break; Loading @@ -2349,14 +2349,14 @@ int il3945_init_hw_rate_table(struct il_priv *il) il_is_associated(il)) { index = IL_FIRST_CCK_RATE; for (i = RATE_6M_INDEX_TABLE; i <= RATE_54M_INDEX_TABLE; i++) for (i = RATE_6M_IDX_TABLE; i <= RATE_54M_IDX_TABLE; i++) table[i].next_rate_index = il3945_rates[index].table_rs_index; index = RATE_11M_INDEX_TABLE; index = RATE_11M_IDX_TABLE; /* CCK shouldn't fall back to OFDM... */ table[index].next_rate_index = RATE_5M_INDEX_TABLE; table[index].next_rate_index = RATE_5M_IDX_TABLE; } break; Loading drivers/net/wireless/iwlegacy/iwl-4965-calib.c +11 −11 Original line number Diff line number Diff line Loading @@ -374,30 +374,30 @@ static void il4965_prepare_legacy_sensitivity_tbl(struct il_priv *il, struct il_sensitivity_data *data, __le16 *tbl) { tbl[HD_AUTO_CORR32_X4_TH_ADD_MIN_INDEX] = tbl[HD_AUTO_CORR32_X4_TH_ADD_MIN_IDX] = cpu_to_le16((u16)data->auto_corr_ofdm); tbl[HD_AUTO_CORR32_X4_TH_ADD_MIN_MRC_INDEX] = tbl[HD_AUTO_CORR32_X4_TH_ADD_MIN_MRC_IDX] = cpu_to_le16((u16)data->auto_corr_ofdm_mrc); tbl[HD_AUTO_CORR32_X1_TH_ADD_MIN_INDEX] = tbl[HD_AUTO_CORR32_X1_TH_ADD_MIN_IDX] = cpu_to_le16((u16)data->auto_corr_ofdm_x1); tbl[HD_AUTO_CORR32_X1_TH_ADD_MIN_MRC_INDEX] = tbl[HD_AUTO_CORR32_X1_TH_ADD_MIN_MRC_IDX] = cpu_to_le16((u16)data->auto_corr_ofdm_mrc_x1); tbl[HD_AUTO_CORR40_X4_TH_ADD_MIN_INDEX] = tbl[HD_AUTO_CORR40_X4_TH_ADD_MIN_IDX] = cpu_to_le16((u16)data->auto_corr_cck); tbl[HD_AUTO_CORR40_X4_TH_ADD_MIN_MRC_INDEX] = tbl[HD_AUTO_CORR40_X4_TH_ADD_MIN_MRC_IDX] = cpu_to_le16((u16)data->auto_corr_cck_mrc); tbl[HD_MIN_ENERGY_CCK_DET_INDEX] = tbl[HD_MIN_ENERGY_CCK_DET_IDX] = cpu_to_le16((u16)data->nrg_th_cck); tbl[HD_MIN_ENERGY_OFDM_DET_INDEX] = tbl[HD_MIN_ENERGY_OFDM_DET_IDX] = cpu_to_le16((u16)data->nrg_th_ofdm); tbl[HD_BARKER_CORR_TH_ADD_MIN_INDEX] = tbl[HD_BARKER_CORR_TH_ADD_MIN_IDX] = cpu_to_le16(data->barker_corr_th_min); tbl[HD_BARKER_CORR_TH_ADD_MIN_MRC_INDEX] = tbl[HD_BARKER_CORR_TH_ADD_MIN_MRC_IDX] = cpu_to_le16(data->barker_corr_th_min_mrc); tbl[HD_OFDM_ENERGY_TH_IN_INDEX] = tbl[HD_OFDM_ENERGY_TH_IN_IDX] = cpu_to_le16(data->nrg_th_cca); D_CALIB("ofdm: ac %u mrc %u x1 %u mrc_x1 %u thresh %u\n", Loading drivers/net/wireless/iwlegacy/iwl-4965-hw.h +2 −2 Original line number Diff line number Diff line Loading @@ -433,8 +433,8 @@ static inline int il4965_hw_valid_rtc_data_addr(u32 addr) * present during factory calibration). A 5 Ghz EEPROM index of "40" * corresponds to the 49th entry in the table used by the driver. */ #define MIN_TX_GAIN_INDEX (0) /* highest gain, lowest idx, 2.4 */ #define MIN_TX_GAIN_INDEX_52GHZ_EXT (-9) /* highest gain, lowest idx, 5 */ #define MIN_TX_GAIN_IDX (0) /* highest gain, lowest idx, 2.4 */ #define MIN_TX_GAIN_IDX_52GHZ_EXT (-9) /* highest gain, lowest idx, 5 */ /** * 2.4 GHz gain table Loading drivers/net/wireless/iwlegacy/iwl-4965-rs.c +18 −18 Original line number Diff line number Diff line Loading @@ -56,13 +56,13 @@ #define RATE_SCALE_FLUSH_INTVL (3*HZ) static u8 rs_ht_to_legacy[] = { RATE_6M_INDEX, RATE_6M_INDEX, RATE_6M_INDEX, RATE_6M_INDEX, RATE_6M_INDEX, RATE_6M_INDEX, RATE_9M_INDEX, RATE_12M_INDEX, RATE_18M_INDEX, RATE_24M_INDEX, RATE_36M_INDEX, RATE_48M_INDEX, RATE_54M_INDEX RATE_6M_IDX, RATE_6M_IDX, RATE_6M_IDX, RATE_6M_IDX, RATE_6M_IDX, RATE_6M_IDX, RATE_9M_IDX, RATE_12M_IDX, RATE_18M_IDX, RATE_24M_IDX, RATE_36M_IDX, RATE_48M_IDX, RATE_54M_IDX }; static const u8 ant_toggle_lookup[] = { Loading @@ -77,16 +77,16 @@ static const u8 ant_toggle_lookup[] = { }; #define IL_DECLARE_RATE_INFO(r, s, ip, in, rp, rn, pp, np) \ [RATE_##r##M_INDEX] = { RATE_##r##M_PLCP, \ [RATE_##r##M_IDX] = { RATE_##r##M_PLCP, \ RATE_SISO_##s##M_PLCP, \ RATE_MIMO2_##s##M_PLCP,\ RATE_##r##M_IEEE, \ RATE_##ip##M_INDEX, \ RATE_##in##M_INDEX, \ RATE_##rp##M_INDEX, \ RATE_##rn##M_INDEX, \ RATE_##pp##M_INDEX, \ RATE_##np##M_INDEX } RATE_##ip##M_IDX, \ RATE_##in##M_IDX, \ RATE_##rp##M_IDX, \ RATE_##rn##M_IDX, \ RATE_##pp##M_IDX, \ RATE_##np##M_IDX } /* * Parameter order: Loading Loading @@ -125,7 +125,7 @@ static int il4965_hwrate_to_plcp_idx(u32 rate_n_flags) idx += IL_FIRST_OFDM_RATE; /* skip 9M not supported in ht*/ if (idx >= RATE_9M_INDEX) if (idx >= RATE_9M_IDX) idx += 1; if (idx >= IL_FIRST_OFDM_RATE && idx <= IL_LAST_OFDM_RATE) return idx; Loading Loading @@ -218,7 +218,7 @@ static const struct il_rate_mcs_info il_rate_mcs[RATE_COUNT] = { { "60", "64QAM 5/6"}, }; #define MCS_INDEX_PER_STREAM (8) #define MCS_IDX_PER_STREAM (8) static inline u8 il4965_rs_extract_rate(u32 rate_n_flags) { Loading Loading @@ -856,7 +856,7 @@ il4965_rs_tx_status(void *il_r, struct ieee80211_supported_band *sband, /* For HT packets, map MCS to PLCP */ if (mac_flags & IEEE80211_TX_RC_MCS) { mac_index &= RATE_MCS_CODE_MSK; /* Remove # of streams */ if (mac_index >= (RATE_9M_INDEX - IL_FIRST_OFDM_RATE)) if (mac_index >= (RATE_9M_IDX - IL_FIRST_OFDM_RATE)) mac_index++; /* * mac80211 HT index is always zero-indexed; we need to move Loading Loading @@ -2276,7 +2276,7 @@ il4965_rs_get_rate(void *il_r, struct ieee80211_sta *sta, void *il_sta, rate_idx = (rate_idx > 0) ? (rate_idx - 1) : 0; if (il4965_rs_extract_rate(lq_sta->last_rate_n_flags) >= RATE_MIMO2_6M_PLCP) rate_idx = rate_idx + MCS_INDEX_PER_STREAM; rate_idx = rate_idx + MCS_IDX_PER_STREAM; info->control.rates[0].flags = IEEE80211_TX_RC_MCS; if (lq_sta->last_rate_n_flags & RATE_MCS_SGI_MSK) info->control.rates[0].flags |= Loading Loading
drivers/net/wireless/iwlegacy/iwl-3945-rs.c +18 −18 Original line number Diff line number Diff line Loading @@ -64,27 +64,27 @@ struct il3945_tpt_entry { }; static struct il3945_tpt_entry il3945_tpt_table_a[] = { {-60, RATE_54M_INDEX}, {-64, RATE_48M_INDEX}, {-72, RATE_36M_INDEX}, {-80, RATE_24M_INDEX}, {-84, RATE_18M_INDEX}, {-85, RATE_12M_INDEX}, {-87, RATE_9M_INDEX}, {-89, RATE_6M_INDEX} {-60, RATE_54M_IDX}, {-64, RATE_48M_IDX}, {-72, RATE_36M_IDX}, {-80, RATE_24M_IDX}, {-84, RATE_18M_IDX}, {-85, RATE_12M_IDX}, {-87, RATE_9M_IDX}, {-89, RATE_6M_IDX} }; static struct il3945_tpt_entry il3945_tpt_table_g[] = { {-60, RATE_54M_INDEX}, {-64, RATE_48M_INDEX}, {-68, RATE_36M_INDEX}, {-80, RATE_24M_INDEX}, {-84, RATE_18M_INDEX}, {-85, RATE_12M_INDEX}, {-86, RATE_11M_INDEX}, {-88, RATE_5M_INDEX}, {-90, RATE_2M_INDEX}, {-92, RATE_1M_INDEX} {-60, RATE_54M_IDX}, {-64, RATE_48M_IDX}, {-68, RATE_36M_IDX}, {-80, RATE_24M_IDX}, {-84, RATE_18M_IDX}, {-85, RATE_12M_IDX}, {-86, RATE_11M_IDX}, {-88, RATE_5M_IDX}, {-90, RATE_2M_IDX}, {-92, RATE_1M_IDX} }; #define RATE_MAX_WINDOW 62 Loading
drivers/net/wireless/iwlegacy/iwl-3945.c +41 −41 Original line number Diff line number Diff line Loading @@ -52,16 +52,16 @@ #include "iwl-3945-debugfs.h" #define IL_DECLARE_RATE_INFO(r, ip, in, rp, rn, pp, np) \ [RATE_##r##M_INDEX] = { RATE_##r##M_PLCP, \ [RATE_##r##M_IDX] = { RATE_##r##M_PLCP, \ RATE_##r##M_IEEE, \ RATE_##ip##M_INDEX, \ RATE_##in##M_INDEX, \ RATE_##rp##M_INDEX, \ RATE_##rn##M_INDEX, \ RATE_##pp##M_INDEX, \ RATE_##np##M_INDEX, \ RATE_##r##M_INDEX_TABLE, \ RATE_##ip##M_INDEX_TABLE } RATE_##ip##M_IDX, \ RATE_##in##M_IDX, \ RATE_##rp##M_IDX, \ RATE_##rn##M_IDX, \ RATE_##pp##M_IDX, \ RATE_##np##M_IDX, \ RATE_##r##M_IDX_TABLE, \ RATE_##ip##M_IDX_TABLE } /* * Parameter order: Loading Loading @@ -246,16 +246,16 @@ int il3945_rs_next_rate(struct il_priv *il, int rate) switch (il->band) { case IEEE80211_BAND_5GHZ: if (rate == RATE_12M_INDEX) next_rate = RATE_9M_INDEX; else if (rate == RATE_6M_INDEX) next_rate = RATE_6M_INDEX; if (rate == RATE_12M_IDX) next_rate = RATE_9M_IDX; else if (rate == RATE_6M_IDX) next_rate = RATE_6M_IDX; break; case IEEE80211_BAND_2GHZ: if (!(il->_3945.sta_supp_rates & IL_OFDM_RATES_MASK) && il_is_associated(il)) { if (rate == RATE_11M_INDEX) next_rate = RATE_5M_INDEX; if (rate == RATE_11M_IDX) next_rate = RATE_5M_IDX; } break; Loading Loading @@ -307,7 +307,7 @@ static void il3945_rx_reply_tx(struct il_priv *il, struct il_rx_pkt *pkt = rxb_addr(rxb); u16 sequence = le16_to_cpu(pkt->hdr.sequence); int txq_id = SEQ_TO_QUEUE(sequence); int index = SEQ_TO_INDEX(sequence); int index = SEQ_TO_IDX(sequence); struct il_tx_queue *txq = &il->txq[txq_id]; struct ieee80211_tx_info *info; struct il3945_tx_resp *tx_resp = (void *)&pkt->u.raw[0]; Loading Loading @@ -1133,7 +1133,7 @@ static int il3945_is_temp_calib_needed(struct il_priv *il) #define IL_MAX_GAIN_ENTRIES 78 #define IL_CCK_FROM_OFDM_POWER_DIFF -5 #define IL_CCK_FROM_OFDM_INDEX_DIFF (10) #define IL_CCK_FROM_OFDM_IDX_DIFF (10) /* radio and DSP power table, each step is 1/2 dB. * 1st number is for RF analog gain, 2nd number is for DSP pre-DAC gain. */ Loading Loading @@ -1330,7 +1330,7 @@ static void il3945_hw_reg_set_scan_power(struct il_priv *il, u32 scan_tbl_index, /* use this channel group's 6Mbit clipping/saturation pwr, * but cap at regulatory scan power restriction (set during init * based on eeprom channel data) for this channel. */ power = min(ch_info->scan_power, clip_pwrs[RATE_6M_INDEX_TABLE]); power = min(ch_info->scan_power, clip_pwrs[RATE_6M_IDX_TABLE]); power = min(power, il->tx_power_user_lmt); scan_power_info->requested_power = power; Loading @@ -1342,7 +1342,7 @@ static void il3945_hw_reg_set_scan_power(struct il_priv *il, u32 scan_tbl_index, * *index*. */ power_index = ch_info->power_info[rate_index].power_table_index - (power - ch_info->power_info [RATE_6M_INDEX_TABLE].requested_power) * 2; [RATE_6M_IDX_TABLE].requested_power) * 2; /* store reference index that we use when adjusting *all* scan * powers. So we can accommodate user (all channel) or spectrum Loading Loading @@ -1466,7 +1466,7 @@ static int il3945_hw_reg_set_new_power(struct il_priv *il, power_info = ch_info->power_info; /* update OFDM Txpower settings */ for (i = RATE_6M_INDEX_TABLE; i <= RATE_54M_INDEX_TABLE; for (i = RATE_6M_IDX_TABLE; i <= RATE_54M_IDX_TABLE; i++, ++power_info) { int delta_idx; Loading @@ -1490,15 +1490,15 @@ static int il3945_hw_reg_set_new_power(struct il_priv *il, * ... all CCK power settings for a given channel are the *same*. */ if (power_changed) { power = ch_info->power_info[RATE_12M_INDEX_TABLE]. ch_info->power_info[RATE_12M_IDX_TABLE]. requested_power + IL_CCK_FROM_OFDM_POWER_DIFF; /* do all CCK rates' il3945_channel_power_info structures */ for (i = RATE_1M_INDEX_TABLE; i <= RATE_11M_INDEX_TABLE; i++) { for (i = RATE_1M_IDX_TABLE; i <= RATE_11M_IDX_TABLE; i++) { power_info->requested_power = power; power_info->base_power_index = ch_info->power_info[RATE_12M_INDEX_TABLE]. base_power_index + IL_CCK_FROM_OFDM_INDEX_DIFF; ch_info->power_info[RATE_12M_IDX_TABLE]. base_power_index + IL_CCK_FROM_OFDM_IDX_DIFF; ++power_info; } } Loading Loading @@ -1597,7 +1597,7 @@ static int il3945_hw_reg_comp_txpower_temp(struct il_priv *il) for (scan_tbl_index = 0; scan_tbl_index < IL_NUM_SCAN_RATES; scan_tbl_index++) { s32 actual_index = (scan_tbl_index == 0) ? RATE_1M_INDEX_TABLE : RATE_6M_INDEX_TABLE; RATE_1M_IDX_TABLE : RATE_6M_IDX_TABLE; il3945_hw_reg_set_scan_power(il, scan_tbl_index, actual_index, clip_pwrs, ch_info, a_band); Loading Loading @@ -2012,19 +2012,19 @@ static void il3945_hw_reg_init_channel_groups(struct il_priv *il) for (rate_index = 0; rate_index < RATE_COUNT_3945; rate_index++, clip_pwrs++) { switch (rate_index) { case RATE_36M_INDEX_TABLE: case RATE_36M_IDX_TABLE: if (i == 0) /* B/G */ *clip_pwrs = satur_pwr; else /* A */ *clip_pwrs = satur_pwr - 5; break; case RATE_48M_INDEX_TABLE: case RATE_48M_IDX_TABLE: if (i == 0) *clip_pwrs = satur_pwr - 7; else *clip_pwrs = satur_pwr - 10; break; case RATE_54M_INDEX_TABLE: case RATE_54M_IDX_TABLE: if (i == 0) *clip_pwrs = satur_pwr - 9; else Loading Loading @@ -2139,13 +2139,13 @@ int il3945_txpower_set_from_eeprom(struct il_priv *il) } /* set tx power for CCK rates, based on OFDM 12 Mbit settings*/ pwr_info = &ch_info->power_info[RATE_12M_INDEX_TABLE]; pwr_info = &ch_info->power_info[RATE_12M_IDX_TABLE]; power = pwr_info->requested_power + IL_CCK_FROM_OFDM_POWER_DIFF; pwr_index = pwr_info->power_table_index + IL_CCK_FROM_OFDM_INDEX_DIFF; IL_CCK_FROM_OFDM_IDX_DIFF; base_pwr_index = pwr_info->base_power_index + IL_CCK_FROM_OFDM_INDEX_DIFF; IL_CCK_FROM_OFDM_IDX_DIFF; /* stay within table range */ pwr_index = il3945_hw_reg_fix_power_index(pwr_index); Loading @@ -2169,7 +2169,7 @@ int il3945_txpower_set_from_eeprom(struct il_priv *il) for (scan_tbl_index = 0; scan_tbl_index < IL_NUM_SCAN_RATES; scan_tbl_index++) { s32 actual_index = (scan_tbl_index == 0) ? RATE_1M_INDEX_TABLE : RATE_6M_INDEX_TABLE; RATE_1M_IDX_TABLE : RATE_6M_IDX_TABLE; il3945_hw_reg_set_scan_power(il, scan_tbl_index, actual_index, clip_pwrs, ch_info, a_band); } Loading Loading @@ -2326,17 +2326,17 @@ int il3945_init_hw_rate_table(struct il_priv *il) D_RATE("Select A mode rate scale\n"); /* If one of the following CCK rates is used, * have it fall back to the 6M OFDM rate */ for (i = RATE_1M_INDEX_TABLE; i <= RATE_11M_INDEX_TABLE; i++) for (i = RATE_1M_IDX_TABLE; i <= RATE_11M_IDX_TABLE; i++) table[i].next_rate_index = il3945_rates[IL_FIRST_OFDM_RATE].table_rs_index; /* Don't fall back to CCK rates */ table[RATE_12M_INDEX_TABLE].next_rate_index = RATE_9M_INDEX_TABLE; table[RATE_12M_IDX_TABLE].next_rate_index = RATE_9M_IDX_TABLE; /* Don't drop out of OFDM rates */ table[RATE_6M_INDEX_TABLE].next_rate_index = table[RATE_6M_IDX_TABLE].next_rate_index = il3945_rates[IL_FIRST_OFDM_RATE].table_rs_index; break; Loading @@ -2349,14 +2349,14 @@ int il3945_init_hw_rate_table(struct il_priv *il) il_is_associated(il)) { index = IL_FIRST_CCK_RATE; for (i = RATE_6M_INDEX_TABLE; i <= RATE_54M_INDEX_TABLE; i++) for (i = RATE_6M_IDX_TABLE; i <= RATE_54M_IDX_TABLE; i++) table[i].next_rate_index = il3945_rates[index].table_rs_index; index = RATE_11M_INDEX_TABLE; index = RATE_11M_IDX_TABLE; /* CCK shouldn't fall back to OFDM... */ table[index].next_rate_index = RATE_5M_INDEX_TABLE; table[index].next_rate_index = RATE_5M_IDX_TABLE; } break; Loading
drivers/net/wireless/iwlegacy/iwl-4965-calib.c +11 −11 Original line number Diff line number Diff line Loading @@ -374,30 +374,30 @@ static void il4965_prepare_legacy_sensitivity_tbl(struct il_priv *il, struct il_sensitivity_data *data, __le16 *tbl) { tbl[HD_AUTO_CORR32_X4_TH_ADD_MIN_INDEX] = tbl[HD_AUTO_CORR32_X4_TH_ADD_MIN_IDX] = cpu_to_le16((u16)data->auto_corr_ofdm); tbl[HD_AUTO_CORR32_X4_TH_ADD_MIN_MRC_INDEX] = tbl[HD_AUTO_CORR32_X4_TH_ADD_MIN_MRC_IDX] = cpu_to_le16((u16)data->auto_corr_ofdm_mrc); tbl[HD_AUTO_CORR32_X1_TH_ADD_MIN_INDEX] = tbl[HD_AUTO_CORR32_X1_TH_ADD_MIN_IDX] = cpu_to_le16((u16)data->auto_corr_ofdm_x1); tbl[HD_AUTO_CORR32_X1_TH_ADD_MIN_MRC_INDEX] = tbl[HD_AUTO_CORR32_X1_TH_ADD_MIN_MRC_IDX] = cpu_to_le16((u16)data->auto_corr_ofdm_mrc_x1); tbl[HD_AUTO_CORR40_X4_TH_ADD_MIN_INDEX] = tbl[HD_AUTO_CORR40_X4_TH_ADD_MIN_IDX] = cpu_to_le16((u16)data->auto_corr_cck); tbl[HD_AUTO_CORR40_X4_TH_ADD_MIN_MRC_INDEX] = tbl[HD_AUTO_CORR40_X4_TH_ADD_MIN_MRC_IDX] = cpu_to_le16((u16)data->auto_corr_cck_mrc); tbl[HD_MIN_ENERGY_CCK_DET_INDEX] = tbl[HD_MIN_ENERGY_CCK_DET_IDX] = cpu_to_le16((u16)data->nrg_th_cck); tbl[HD_MIN_ENERGY_OFDM_DET_INDEX] = tbl[HD_MIN_ENERGY_OFDM_DET_IDX] = cpu_to_le16((u16)data->nrg_th_ofdm); tbl[HD_BARKER_CORR_TH_ADD_MIN_INDEX] = tbl[HD_BARKER_CORR_TH_ADD_MIN_IDX] = cpu_to_le16(data->barker_corr_th_min); tbl[HD_BARKER_CORR_TH_ADD_MIN_MRC_INDEX] = tbl[HD_BARKER_CORR_TH_ADD_MIN_MRC_IDX] = cpu_to_le16(data->barker_corr_th_min_mrc); tbl[HD_OFDM_ENERGY_TH_IN_INDEX] = tbl[HD_OFDM_ENERGY_TH_IN_IDX] = cpu_to_le16(data->nrg_th_cca); D_CALIB("ofdm: ac %u mrc %u x1 %u mrc_x1 %u thresh %u\n", Loading
drivers/net/wireless/iwlegacy/iwl-4965-hw.h +2 −2 Original line number Diff line number Diff line Loading @@ -433,8 +433,8 @@ static inline int il4965_hw_valid_rtc_data_addr(u32 addr) * present during factory calibration). A 5 Ghz EEPROM index of "40" * corresponds to the 49th entry in the table used by the driver. */ #define MIN_TX_GAIN_INDEX (0) /* highest gain, lowest idx, 2.4 */ #define MIN_TX_GAIN_INDEX_52GHZ_EXT (-9) /* highest gain, lowest idx, 5 */ #define MIN_TX_GAIN_IDX (0) /* highest gain, lowest idx, 2.4 */ #define MIN_TX_GAIN_IDX_52GHZ_EXT (-9) /* highest gain, lowest idx, 5 */ /** * 2.4 GHz gain table Loading
drivers/net/wireless/iwlegacy/iwl-4965-rs.c +18 −18 Original line number Diff line number Diff line Loading @@ -56,13 +56,13 @@ #define RATE_SCALE_FLUSH_INTVL (3*HZ) static u8 rs_ht_to_legacy[] = { RATE_6M_INDEX, RATE_6M_INDEX, RATE_6M_INDEX, RATE_6M_INDEX, RATE_6M_INDEX, RATE_6M_INDEX, RATE_9M_INDEX, RATE_12M_INDEX, RATE_18M_INDEX, RATE_24M_INDEX, RATE_36M_INDEX, RATE_48M_INDEX, RATE_54M_INDEX RATE_6M_IDX, RATE_6M_IDX, RATE_6M_IDX, RATE_6M_IDX, RATE_6M_IDX, RATE_6M_IDX, RATE_9M_IDX, RATE_12M_IDX, RATE_18M_IDX, RATE_24M_IDX, RATE_36M_IDX, RATE_48M_IDX, RATE_54M_IDX }; static const u8 ant_toggle_lookup[] = { Loading @@ -77,16 +77,16 @@ static const u8 ant_toggle_lookup[] = { }; #define IL_DECLARE_RATE_INFO(r, s, ip, in, rp, rn, pp, np) \ [RATE_##r##M_INDEX] = { RATE_##r##M_PLCP, \ [RATE_##r##M_IDX] = { RATE_##r##M_PLCP, \ RATE_SISO_##s##M_PLCP, \ RATE_MIMO2_##s##M_PLCP,\ RATE_##r##M_IEEE, \ RATE_##ip##M_INDEX, \ RATE_##in##M_INDEX, \ RATE_##rp##M_INDEX, \ RATE_##rn##M_INDEX, \ RATE_##pp##M_INDEX, \ RATE_##np##M_INDEX } RATE_##ip##M_IDX, \ RATE_##in##M_IDX, \ RATE_##rp##M_IDX, \ RATE_##rn##M_IDX, \ RATE_##pp##M_IDX, \ RATE_##np##M_IDX } /* * Parameter order: Loading Loading @@ -125,7 +125,7 @@ static int il4965_hwrate_to_plcp_idx(u32 rate_n_flags) idx += IL_FIRST_OFDM_RATE; /* skip 9M not supported in ht*/ if (idx >= RATE_9M_INDEX) if (idx >= RATE_9M_IDX) idx += 1; if (idx >= IL_FIRST_OFDM_RATE && idx <= IL_LAST_OFDM_RATE) return idx; Loading Loading @@ -218,7 +218,7 @@ static const struct il_rate_mcs_info il_rate_mcs[RATE_COUNT] = { { "60", "64QAM 5/6"}, }; #define MCS_INDEX_PER_STREAM (8) #define MCS_IDX_PER_STREAM (8) static inline u8 il4965_rs_extract_rate(u32 rate_n_flags) { Loading Loading @@ -856,7 +856,7 @@ il4965_rs_tx_status(void *il_r, struct ieee80211_supported_band *sband, /* For HT packets, map MCS to PLCP */ if (mac_flags & IEEE80211_TX_RC_MCS) { mac_index &= RATE_MCS_CODE_MSK; /* Remove # of streams */ if (mac_index >= (RATE_9M_INDEX - IL_FIRST_OFDM_RATE)) if (mac_index >= (RATE_9M_IDX - IL_FIRST_OFDM_RATE)) mac_index++; /* * mac80211 HT index is always zero-indexed; we need to move Loading Loading @@ -2276,7 +2276,7 @@ il4965_rs_get_rate(void *il_r, struct ieee80211_sta *sta, void *il_sta, rate_idx = (rate_idx > 0) ? (rate_idx - 1) : 0; if (il4965_rs_extract_rate(lq_sta->last_rate_n_flags) >= RATE_MIMO2_6M_PLCP) rate_idx = rate_idx + MCS_INDEX_PER_STREAM; rate_idx = rate_idx + MCS_IDX_PER_STREAM; info->control.rates[0].flags = IEEE80211_TX_RC_MCS; if (lq_sta->last_rate_n_flags & RATE_MCS_SGI_MSK) info->control.rates[0].flags |= Loading