aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2010-03-16 20:41:23 -0400
committerReinette Chatre <reinette.chatre@intel.com>2010-03-25 14:18:05 -0400
commit19e6cda094002e9756a3d181cbb4c31ef2a9b6bb (patch)
tree4f3621a912b087d2a93d9b73d52a1f105d41494f
parentb305a08058f794c8a99c5ee87827b92d6b8c24ae (diff)
iwlwifi: move hw related defines to separate file
Multiple iwlagn based devices shared the same hw definitions. Move device hardware related defines from iwl-5000-hw.h to iwl-agn-hw.h file. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-1000.c18
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-5000-hw.h33
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-5000.c57
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-6000.c30
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-hw.h102
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-tx.c22
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-ucode.c6
8 files changed, 169 insertions, 100 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-1000.c b/drivers/net/wireless/iwlwifi/iwl-1000.c
index 6bdbe2df282..f866410ea9d 100644
--- a/drivers/net/wireless/iwlwifi/iwl-1000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-1000.c
@@ -44,7 +44,7 @@
44#include "iwl-sta.h" 44#include "iwl-sta.h"
45#include "iwl-agn.h" 45#include "iwl-agn.h"
46#include "iwl-helpers.h" 46#include "iwl-helpers.h"
47#include "iwl-5000-hw.h" 47#include "iwl-agn-hw.h"
48#include "iwl-agn-led.h" 48#include "iwl-agn-led.h"
49 49
50/* Highest firmware API version supported */ 50/* Highest firmware API version supported */
@@ -118,7 +118,7 @@ static struct iwl_sensitivity_ranges iwl1000_sensitivity = {
118static int iwl1000_hw_set_hw_params(struct iwl_priv *priv) 118static int iwl1000_hw_set_hw_params(struct iwl_priv *priv)
119{ 119{
120 if (priv->cfg->mod_params->num_of_queues >= IWL_MIN_NUM_QUEUES && 120 if (priv->cfg->mod_params->num_of_queues >= IWL_MIN_NUM_QUEUES &&
121 priv->cfg->mod_params->num_of_queues <= IWL50_NUM_QUEUES) 121 priv->cfg->mod_params->num_of_queues <= IWLAGN_NUM_QUEUES)
122 priv->cfg->num_of_queues = 122 priv->cfg->num_of_queues =
123 priv->cfg->mod_params->num_of_queues; 123 priv->cfg->mod_params->num_of_queues;
124 124
@@ -126,13 +126,13 @@ static int iwl1000_hw_set_hw_params(struct iwl_priv *priv)
126 priv->hw_params.dma_chnl_num = FH50_TCSR_CHNL_NUM; 126 priv->hw_params.dma_chnl_num = FH50_TCSR_CHNL_NUM;
127 priv->hw_params.scd_bc_tbls_size = 127 priv->hw_params.scd_bc_tbls_size =
128 priv->cfg->num_of_queues * 128 priv->cfg->num_of_queues *
129 sizeof(struct iwl5000_scd_bc_tbl); 129 sizeof(struct iwlagn_scd_bc_tbl);
130 priv->hw_params.tfd_size = sizeof(struct iwl_tfd); 130 priv->hw_params.tfd_size = sizeof(struct iwl_tfd);
131 priv->hw_params.max_stations = IWL5000_STATION_COUNT; 131 priv->hw_params.max_stations = IWL5000_STATION_COUNT;
132 priv->hw_params.bcast_sta_id = IWL5000_BROADCAST_ID; 132 priv->hw_params.bcast_sta_id = IWL5000_BROADCAST_ID;
133 133
134 priv->hw_params.max_data_size = IWL50_RTC_DATA_SIZE; 134 priv->hw_params.max_data_size = IWLAGN_RTC_DATA_SIZE;
135 priv->hw_params.max_inst_size = IWL50_RTC_INST_SIZE; 135 priv->hw_params.max_inst_size = IWLAGN_RTC_INST_SIZE;
136 136
137 priv->hw_params.max_bsm_size = 0; 137 priv->hw_params.max_bsm_size = 0;
138 priv->hw_params.ht40_channel = BIT(IEEE80211_BAND_2GHZ) | 138 priv->hw_params.ht40_channel = BIT(IEEE80211_BAND_2GHZ) |
@@ -235,8 +235,8 @@ struct iwl_cfg iwl1000_bgn_cfg = {
235 .eeprom_size = OTP_LOW_IMAGE_SIZE, 235 .eeprom_size = OTP_LOW_IMAGE_SIZE,
236 .eeprom_ver = EEPROM_1000_EEPROM_VERSION, 236 .eeprom_ver = EEPROM_1000_EEPROM_VERSION,
237 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 237 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
238 .num_of_queues = IWL50_NUM_QUEUES, 238 .num_of_queues = IWLAGN_NUM_QUEUES,
239 .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES, 239 .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES,
240 .mod_params = &iwl50_mod_params, 240 .mod_params = &iwl50_mod_params,
241 .valid_tx_ant = ANT_A, 241 .valid_tx_ant = ANT_A,
242 .valid_rx_ant = ANT_AB, 242 .valid_rx_ant = ANT_AB,
@@ -265,8 +265,8 @@ struct iwl_cfg iwl1000_bg_cfg = {
265 .eeprom_size = OTP_LOW_IMAGE_SIZE, 265 .eeprom_size = OTP_LOW_IMAGE_SIZE,
266 .eeprom_ver = EEPROM_1000_EEPROM_VERSION, 266 .eeprom_ver = EEPROM_1000_EEPROM_VERSION,
267 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 267 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
268 .num_of_queues = IWL50_NUM_QUEUES, 268 .num_of_queues = IWLAGN_NUM_QUEUES,
269 .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES, 269 .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES,
270 .mod_params = &iwl50_mod_params, 270 .mod_params = &iwl50_mod_params,
271 .valid_tx_ant = ANT_A, 271 .valid_tx_ant = ANT_A,
272 .valid_rx_ant = ANT_AB, 272 .valid_rx_ant = ANT_AB,
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000-hw.h b/drivers/net/wireless/iwlwifi/iwl-5000-hw.h
index 714e032f621..146e6431ae9 100644
--- a/drivers/net/wireless/iwlwifi/iwl-5000-hw.h
+++ b/drivers/net/wireless/iwlwifi/iwl-5000-hw.h
@@ -68,25 +68,6 @@
68#ifndef __iwl_5000_hw_h__ 68#ifndef __iwl_5000_hw_h__
69#define __iwl_5000_hw_h__ 69#define __iwl_5000_hw_h__
70 70
71#define IWL50_RTC_INST_LOWER_BOUND (0x000000)
72#define IWL50_RTC_INST_UPPER_BOUND (0x020000)
73
74#define IWL50_RTC_DATA_LOWER_BOUND (0x800000)
75#define IWL50_RTC_DATA_UPPER_BOUND (0x80C000)
76
77#define IWL50_RTC_INST_SIZE (IWL50_RTC_INST_UPPER_BOUND - \
78 IWL50_RTC_INST_LOWER_BOUND)
79#define IWL50_RTC_DATA_SIZE (IWL50_RTC_DATA_UPPER_BOUND - \
80 IWL50_RTC_DATA_LOWER_BOUND)
81
82/* EEPROM */
83#define IWL_5000_EEPROM_IMG_SIZE 2048
84
85#define IWL50_CMD_FIFO_NUM 7
86#define IWL50_NUM_QUEUES 20
87#define IWL50_NUM_AMPDU_QUEUES 10
88#define IWL50_FIRST_AMPDU_QUEUE 10
89
90/* 5150 only */ 71/* 5150 only */
91#define IWL_5150_VOLTAGE_TO_TEMPERATURE_COEFF (-5) 72#define IWL_5150_VOLTAGE_TO_TEMPERATURE_COEFF (-5)
92 73
@@ -103,19 +84,5 @@ static inline s32 iwl_temp_calib_to_offset(struct iwl_priv *priv)
103 return (s32)(temperature - voltage / IWL_5150_VOLTAGE_TO_TEMPERATURE_COEFF); 84 return (s32)(temperature - voltage / IWL_5150_VOLTAGE_TO_TEMPERATURE_COEFF);
104} 85}
105 86
106/* Fixed (non-configurable) rx data from phy */
107
108/**
109 * struct iwl5000_schedq_bc_tbl scheduler byte count table
110 * base physical address of iwl5000_shared
111 * is provided to SCD_DRAM_BASE_ADDR
112 * @tfd_offset 0-12 - tx command byte count
113 * 12-16 - station index
114 */
115struct iwl5000_scd_bc_tbl {
116 __le16 tfd_offset[TFD_QUEUE_BC_SIZE];
117} __attribute__ ((packed));
118
119
120#endif /* __iwl_5000_hw_h__ */ 87#endif /* __iwl_5000_hw_h__ */
121 88
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c
index 7e278956ec3..a41af47c192 100644
--- a/drivers/net/wireless/iwlwifi/iwl-5000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-5000.c
@@ -45,6 +45,7 @@
45#include "iwl-helpers.h" 45#include "iwl-helpers.h"
46#include "iwl-agn.h" 46#include "iwl-agn.h"
47#include "iwl-agn-led.h" 47#include "iwl-agn-led.h"
48#include "iwl-agn-hw.h"
48#include "iwl-5000-hw.h" 49#include "iwl-5000-hw.h"
49#include "iwl-6000-hw.h" 50#include "iwl-6000-hw.h"
50 51
@@ -69,7 +70,7 @@ static const s8 iwl5000_default_queue_to_tx_fifo[] = {
69 IWL_TX_FIFO_VI, 70 IWL_TX_FIFO_VI,
70 IWL_TX_FIFO_BE, 71 IWL_TX_FIFO_BE,
71 IWL_TX_FIFO_BK, 72 IWL_TX_FIFO_BK,
72 IWL50_CMD_FIFO_NUM, 73 IWLAGN_CMD_FIFO_NUM,
73 IWL_TX_FIFO_UNUSED, 74 IWL_TX_FIFO_UNUSED,
74 IWL_TX_FIFO_UNUSED, 75 IWL_TX_FIFO_UNUSED,
75 IWL_TX_FIFO_UNUSED, 76 IWL_TX_FIFO_UNUSED,
@@ -456,7 +457,7 @@ int iwl5000_alive_notify(struct iwl_priv *priv)
456int iwl5000_hw_set_hw_params(struct iwl_priv *priv) 457int iwl5000_hw_set_hw_params(struct iwl_priv *priv)
457{ 458{
458 if (priv->cfg->mod_params->num_of_queues >= IWL_MIN_NUM_QUEUES && 459 if (priv->cfg->mod_params->num_of_queues >= IWL_MIN_NUM_QUEUES &&
459 priv->cfg->mod_params->num_of_queues <= IWL50_NUM_QUEUES) 460 priv->cfg->mod_params->num_of_queues <= IWLAGN_NUM_QUEUES)
460 priv->cfg->num_of_queues = 461 priv->cfg->num_of_queues =
461 priv->cfg->mod_params->num_of_queues; 462 priv->cfg->mod_params->num_of_queues;
462 463
@@ -464,13 +465,13 @@ int iwl5000_hw_set_hw_params(struct iwl_priv *priv)
464 priv->hw_params.dma_chnl_num = FH50_TCSR_CHNL_NUM; 465 priv->hw_params.dma_chnl_num = FH50_TCSR_CHNL_NUM;
465 priv->hw_params.scd_bc_tbls_size = 466 priv->hw_params.scd_bc_tbls_size =
466 priv->cfg->num_of_queues * 467 priv->cfg->num_of_queues *
467 sizeof(struct iwl5000_scd_bc_tbl); 468 sizeof(struct iwlagn_scd_bc_tbl);
468 priv->hw_params.tfd_size = sizeof(struct iwl_tfd); 469 priv->hw_params.tfd_size = sizeof(struct iwl_tfd);
469 priv->hw_params.max_stations = IWL5000_STATION_COUNT; 470 priv->hw_params.max_stations = IWL5000_STATION_COUNT;
470 priv->hw_params.bcast_sta_id = IWL5000_BROADCAST_ID; 471 priv->hw_params.bcast_sta_id = IWL5000_BROADCAST_ID;
471 472
472 priv->hw_params.max_data_size = IWL50_RTC_DATA_SIZE; 473 priv->hw_params.max_data_size = IWLAGN_RTC_DATA_SIZE;
473 priv->hw_params.max_inst_size = IWL50_RTC_INST_SIZE; 474 priv->hw_params.max_inst_size = IWLAGN_RTC_INST_SIZE;
474 475
475 priv->hw_params.max_bsm_size = 0; 476 priv->hw_params.max_bsm_size = 0;
476 priv->hw_params.ht40_channel = BIT(IEEE80211_BAND_2GHZ) | 477 priv->hw_params.ht40_channel = BIT(IEEE80211_BAND_2GHZ) |
@@ -741,8 +742,8 @@ void iwl5000_rx_handler_setup(struct iwl_priv *priv)
741 742
742int iwl5000_hw_valid_rtc_data_addr(u32 addr) 743int iwl5000_hw_valid_rtc_data_addr(u32 addr)
743{ 744{
744 return (addr >= IWL50_RTC_DATA_LOWER_BOUND) && 745 return (addr >= IWLAGN_RTC_DATA_LOWER_BOUND) &&
745 (addr < IWL50_RTC_DATA_UPPER_BOUND); 746 (addr < IWLAGN_RTC_DATA_UPPER_BOUND);
746} 747}
747 748
748int iwl5000_send_tx_power(struct iwl_priv *priv) 749int iwl5000_send_tx_power(struct iwl_priv *priv)
@@ -977,11 +978,11 @@ struct iwl_cfg iwl5300_agn_cfg = {
977 .ucode_api_min = IWL5000_UCODE_API_MIN, 978 .ucode_api_min = IWL5000_UCODE_API_MIN,
978 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, 979 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N,
979 .ops = &iwl5000_ops, 980 .ops = &iwl5000_ops,
980 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE, 981 .eeprom_size = IWLAGN_EEPROM_IMG_SIZE,
981 .eeprom_ver = EEPROM_5000_EEPROM_VERSION, 982 .eeprom_ver = EEPROM_5000_EEPROM_VERSION,
982 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 983 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
983 .num_of_queues = IWL50_NUM_QUEUES, 984 .num_of_queues = IWLAGN_NUM_QUEUES,
984 .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES, 985 .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES,
985 .mod_params = &iwl50_mod_params, 986 .mod_params = &iwl50_mod_params,
986 .valid_tx_ant = ANT_ABC, 987 .valid_tx_ant = ANT_ABC,
987 .valid_rx_ant = ANT_ABC, 988 .valid_rx_ant = ANT_ABC,
@@ -1004,11 +1005,11 @@ struct iwl_cfg iwl5100_bgn_cfg = {
1004 .ucode_api_min = IWL5000_UCODE_API_MIN, 1005 .ucode_api_min = IWL5000_UCODE_API_MIN,
1005 .sku = IWL_SKU_G|IWL_SKU_N, 1006 .sku = IWL_SKU_G|IWL_SKU_N,
1006 .ops = &iwl5000_ops, 1007 .ops = &iwl5000_ops,
1007 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE, 1008 .eeprom_size = IWLAGN_EEPROM_IMG_SIZE,
1008 .eeprom_ver = EEPROM_5000_EEPROM_VERSION, 1009 .eeprom_ver = EEPROM_5000_EEPROM_VERSION,
1009 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 1010 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
1010 .num_of_queues = IWL50_NUM_QUEUES, 1011 .num_of_queues = IWLAGN_NUM_QUEUES,
1011 .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES, 1012 .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES,
1012 .mod_params = &iwl50_mod_params, 1013 .mod_params = &iwl50_mod_params,
1013 .valid_tx_ant = ANT_B, 1014 .valid_tx_ant = ANT_B,
1014 .valid_rx_ant = ANT_AB, 1015 .valid_rx_ant = ANT_AB,
@@ -1031,11 +1032,11 @@ struct iwl_cfg iwl5100_abg_cfg = {
1031 .ucode_api_min = IWL5000_UCODE_API_MIN, 1032 .ucode_api_min = IWL5000_UCODE_API_MIN,
1032 .sku = IWL_SKU_A|IWL_SKU_G, 1033 .sku = IWL_SKU_A|IWL_SKU_G,
1033 .ops = &iwl5000_ops, 1034 .ops = &iwl5000_ops,
1034 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE, 1035 .eeprom_size = IWLAGN_EEPROM_IMG_SIZE,
1035 .eeprom_ver = EEPROM_5000_EEPROM_VERSION, 1036 .eeprom_ver = EEPROM_5000_EEPROM_VERSION,
1036 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 1037 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
1037 .num_of_queues = IWL50_NUM_QUEUES, 1038 .num_of_queues = IWLAGN_NUM_QUEUES,
1038 .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES, 1039 .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES,
1039 .mod_params = &iwl50_mod_params, 1040 .mod_params = &iwl50_mod_params,
1040 .valid_tx_ant = ANT_B, 1041 .valid_tx_ant = ANT_B,
1041 .valid_rx_ant = ANT_AB, 1042 .valid_rx_ant = ANT_AB,
@@ -1056,11 +1057,11 @@ struct iwl_cfg iwl5100_agn_cfg = {
1056 .ucode_api_min = IWL5000_UCODE_API_MIN, 1057 .ucode_api_min = IWL5000_UCODE_API_MIN,
1057 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, 1058 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N,
1058 .ops = &iwl5000_ops, 1059 .ops = &iwl5000_ops,
1059 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE, 1060 .eeprom_size = IWLAGN_EEPROM_IMG_SIZE,
1060 .eeprom_ver = EEPROM_5000_EEPROM_VERSION, 1061 .eeprom_ver = EEPROM_5000_EEPROM_VERSION,
1061 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 1062 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
1062 .num_of_queues = IWL50_NUM_QUEUES, 1063 .num_of_queues = IWLAGN_NUM_QUEUES,
1063 .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES, 1064 .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES,
1064 .mod_params = &iwl50_mod_params, 1065 .mod_params = &iwl50_mod_params,
1065 .valid_tx_ant = ANT_B, 1066 .valid_tx_ant = ANT_B,
1066 .valid_rx_ant = ANT_AB, 1067 .valid_rx_ant = ANT_AB,
@@ -1083,11 +1084,11 @@ struct iwl_cfg iwl5350_agn_cfg = {
1083 .ucode_api_min = IWL5000_UCODE_API_MIN, 1084 .ucode_api_min = IWL5000_UCODE_API_MIN,
1084 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, 1085 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N,
1085 .ops = &iwl5000_ops, 1086 .ops = &iwl5000_ops,
1086 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE, 1087 .eeprom_size = IWLAGN_EEPROM_IMG_SIZE,
1087 .eeprom_ver = EEPROM_5050_EEPROM_VERSION, 1088 .eeprom_ver = EEPROM_5050_EEPROM_VERSION,
1088 .eeprom_calib_ver = EEPROM_5050_TX_POWER_VERSION, 1089 .eeprom_calib_ver = EEPROM_5050_TX_POWER_VERSION,
1089 .num_of_queues = IWL50_NUM_QUEUES, 1090 .num_of_queues = IWLAGN_NUM_QUEUES,
1090 .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES, 1091 .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES,
1091 .mod_params = &iwl50_mod_params, 1092 .mod_params = &iwl50_mod_params,
1092 .valid_tx_ant = ANT_ABC, 1093 .valid_tx_ant = ANT_ABC,
1093 .valid_rx_ant = ANT_ABC, 1094 .valid_rx_ant = ANT_ABC,
@@ -1110,11 +1111,11 @@ struct iwl_cfg iwl5150_agn_cfg = {
1110 .ucode_api_min = IWL5150_UCODE_API_MIN, 1111 .ucode_api_min = IWL5150_UCODE_API_MIN,
1111 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, 1112 .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N,
1112 .ops = &iwl5150_ops, 1113 .ops = &iwl5150_ops,
1113 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE, 1114 .eeprom_size = IWLAGN_EEPROM_IMG_SIZE,
1114 .eeprom_ver = EEPROM_5050_EEPROM_VERSION, 1115 .eeprom_ver = EEPROM_5050_EEPROM_VERSION,
1115 .eeprom_calib_ver = EEPROM_5050_TX_POWER_VERSION, 1116 .eeprom_calib_ver = EEPROM_5050_TX_POWER_VERSION,
1116 .num_of_queues = IWL50_NUM_QUEUES, 1117 .num_of_queues = IWLAGN_NUM_QUEUES,
1117 .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES, 1118 .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES,
1118 .mod_params = &iwl50_mod_params, 1119 .mod_params = &iwl50_mod_params,
1119 .valid_tx_ant = ANT_A, 1120 .valid_tx_ant = ANT_A,
1120 .valid_rx_ant = ANT_AB, 1121 .valid_rx_ant = ANT_AB,
@@ -1137,11 +1138,11 @@ struct iwl_cfg iwl5150_abg_cfg = {
1137 .ucode_api_min = IWL5150_UCODE_API_MIN, 1138 .ucode_api_min = IWL5150_UCODE_API_MIN,
1138 .sku = IWL_SKU_A|IWL_SKU_G, 1139 .sku = IWL_SKU_A|IWL_SKU_G,
1139 .ops = &iwl5150_ops, 1140 .ops = &iwl5150_ops,
1140 .eeprom_size = IWL_5000_EEPROM_IMG_SIZE, 1141 .eeprom_size = IWLAGN_EEPROM_IMG_SIZE,
1141 .eeprom_ver = EEPROM_5050_EEPROM_VERSION, 1142 .eeprom_ver = EEPROM_5050_EEPROM_VERSION,
1142 .eeprom_calib_ver = EEPROM_5050_TX_POWER_VERSION, 1143 .eeprom_calib_ver = EEPROM_5050_TX_POWER_VERSION,
1143 .num_of_queues = IWL50_NUM_QUEUES, 1144 .num_of_queues = IWLAGN_NUM_QUEUES,
1144 .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES, 1145 .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES,
1145 .mod_params = &iwl50_mod_params, 1146 .mod_params = &iwl50_mod_params,
1146 .valid_tx_ant = ANT_A, 1147 .valid_tx_ant = ANT_A,
1147 .valid_rx_ant = ANT_AB, 1148 .valid_rx_ant = ANT_AB,
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c
index f3763900348..2bbff18694c 100644
--- a/drivers/net/wireless/iwlwifi/iwl-6000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-6000.c
@@ -44,7 +44,7 @@
44#include "iwl-sta.h" 44#include "iwl-sta.h"
45#include "iwl-agn.h" 45#include "iwl-agn.h"
46#include "iwl-helpers.h" 46#include "iwl-helpers.h"
47#include "iwl-5000-hw.h" 47#include "iwl-agn-hw.h"
48#include "iwl-6000-hw.h" 48#include "iwl-6000-hw.h"
49#include "iwl-agn-led.h" 49#include "iwl-agn-led.h"
50 50
@@ -137,7 +137,7 @@ static struct iwl_sensitivity_ranges iwl6000_sensitivity = {
137static int iwl6000_hw_set_hw_params(struct iwl_priv *priv) 137static int iwl6000_hw_set_hw_params(struct iwl_priv *priv)
138{ 138{
139 if (priv->cfg->mod_params->num_of_queues >= IWL_MIN_NUM_QUEUES && 139 if (priv->cfg->mod_params->num_of_queues >= IWL_MIN_NUM_QUEUES &&
140 priv->cfg->mod_params->num_of_queues <= IWL50_NUM_QUEUES) 140 priv->cfg->mod_params->num_of_queues <= IWLAGN_NUM_QUEUES)
141 priv->cfg->num_of_queues = 141 priv->cfg->num_of_queues =
142 priv->cfg->mod_params->num_of_queues; 142 priv->cfg->mod_params->num_of_queues;
143 143
@@ -145,7 +145,7 @@ static int iwl6000_hw_set_hw_params(struct iwl_priv *priv)
145 priv->hw_params.dma_chnl_num = FH50_TCSR_CHNL_NUM; 145 priv->hw_params.dma_chnl_num = FH50_TCSR_CHNL_NUM;
146 priv->hw_params.scd_bc_tbls_size = 146 priv->hw_params.scd_bc_tbls_size =
147 priv->cfg->num_of_queues * 147 priv->cfg->num_of_queues *
148 sizeof(struct iwl5000_scd_bc_tbl); 148 sizeof(struct iwlagn_scd_bc_tbl);
149 priv->hw_params.tfd_size = sizeof(struct iwl_tfd); 149 priv->hw_params.tfd_size = sizeof(struct iwl_tfd);
150 priv->hw_params.max_stations = IWL5000_STATION_COUNT; 150 priv->hw_params.max_stations = IWL5000_STATION_COUNT;
151 priv->hw_params.bcast_sta_id = IWL5000_BROADCAST_ID; 151 priv->hw_params.bcast_sta_id = IWL5000_BROADCAST_ID;
@@ -372,8 +372,8 @@ struct iwl_cfg iwl6000i_2agn_cfg = {
372 .eeprom_size = OTP_LOW_IMAGE_SIZE, 372 .eeprom_size = OTP_LOW_IMAGE_SIZE,
373 .eeprom_ver = EEPROM_6000_EEPROM_VERSION, 373 .eeprom_ver = EEPROM_6000_EEPROM_VERSION,
374 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 374 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
375 .num_of_queues = IWL50_NUM_QUEUES, 375 .num_of_queues = IWLAGN_NUM_QUEUES,
376 .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES, 376 .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES,
377 .mod_params = &iwl50_mod_params, 377 .mod_params = &iwl50_mod_params,
378 .valid_tx_ant = ANT_BC, 378 .valid_tx_ant = ANT_BC,
379 .valid_rx_ant = ANT_BC, 379 .valid_rx_ant = ANT_BC,
@@ -405,8 +405,8 @@ struct iwl_cfg iwl6000i_2abg_cfg = {
405 .eeprom_size = OTP_LOW_IMAGE_SIZE, 405 .eeprom_size = OTP_LOW_IMAGE_SIZE,
406 .eeprom_ver = EEPROM_6000_EEPROM_VERSION, 406 .eeprom_ver = EEPROM_6000_EEPROM_VERSION,
407 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 407 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
408 .num_of_queues = IWL50_NUM_QUEUES, 408 .num_of_queues = IWLAGN_NUM_QUEUES,
409 .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES, 409 .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES,
410 .mod_params = &iwl50_mod_params, 410 .mod_params = &iwl50_mod_params,
411 .valid_tx_ant = ANT_BC, 411 .valid_tx_ant = ANT_BC,
412 .valid_rx_ant = ANT_BC, 412 .valid_rx_ant = ANT_BC,
@@ -437,8 +437,8 @@ struct iwl_cfg iwl6000i_2bg_cfg = {
437 .eeprom_size = OTP_LOW_IMAGE_SIZE, 437 .eeprom_size = OTP_LOW_IMAGE_SIZE,
438 .eeprom_ver = EEPROM_6000_EEPROM_VERSION, 438 .eeprom_ver = EEPROM_6000_EEPROM_VERSION,
439 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 439 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
440 .num_of_queues = IWL50_NUM_QUEUES, 440 .num_of_queues = IWLAGN_NUM_QUEUES,
441 .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES, 441 .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES,
442 .mod_params = &iwl50_mod_params, 442 .mod_params = &iwl50_mod_params,
443 .valid_tx_ant = ANT_BC, 443 .valid_tx_ant = ANT_BC,
444 .valid_rx_ant = ANT_BC, 444 .valid_rx_ant = ANT_BC,
@@ -469,8 +469,8 @@ struct iwl_cfg iwl6050_2agn_cfg = {
469 .eeprom_size = OTP_LOW_IMAGE_SIZE, 469 .eeprom_size = OTP_LOW_IMAGE_SIZE,
470 .eeprom_ver = EEPROM_6050_EEPROM_VERSION, 470 .eeprom_ver = EEPROM_6050_EEPROM_VERSION,
471 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 471 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
472 .num_of_queues = IWL50_NUM_QUEUES, 472 .num_of_queues = IWLAGN_NUM_QUEUES,
473 .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES, 473 .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES,
474 .mod_params = &iwl50_mod_params, 474 .mod_params = &iwl50_mod_params,
475 .valid_tx_ant = ANT_AB, 475 .valid_tx_ant = ANT_AB,
476 .valid_rx_ant = ANT_AB, 476 .valid_rx_ant = ANT_AB,
@@ -502,8 +502,8 @@ struct iwl_cfg iwl6050_2abg_cfg = {
502 .eeprom_size = OTP_LOW_IMAGE_SIZE, 502 .eeprom_size = OTP_LOW_IMAGE_SIZE,
503 .eeprom_ver = EEPROM_6050_EEPROM_VERSION, 503 .eeprom_ver = EEPROM_6050_EEPROM_VERSION,
504 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 504 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
505 .num_of_queues = IWL50_NUM_QUEUES, 505 .num_of_queues = IWLAGN_NUM_QUEUES,
506 .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES, 506 .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES,
507 .mod_params = &iwl50_mod_params, 507 .mod_params = &iwl50_mod_params,
508 .valid_tx_ant = ANT_AB, 508 .valid_tx_ant = ANT_AB,
509 .valid_rx_ant = ANT_AB, 509 .valid_rx_ant = ANT_AB,
@@ -534,8 +534,8 @@ struct iwl_cfg iwl6000_3agn_cfg = {
534 .eeprom_size = OTP_LOW_IMAGE_SIZE, 534 .eeprom_size = OTP_LOW_IMAGE_SIZE,
535 .eeprom_ver = EEPROM_6000_EEPROM_VERSION, 535 .eeprom_ver = EEPROM_6000_EEPROM_VERSION,
536 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, 536 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
537 .num_of_queues = IWL50_NUM_QUEUES, 537 .num_of_queues = IWLAGN_NUM_QUEUES,
538 .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES, 538 .num_of_ampdu_queues = IWLAGN_NUM_AMPDU_QUEUES,
539 .mod_params = &iwl50_mod_params, 539 .mod_params = &iwl50_mod_params,
540 .valid_tx_ant = ANT_ABC, 540 .valid_tx_ant = ANT_ABC,
541 .valid_rx_ant = ANT_ABC, 541 .valid_rx_ant = ANT_ABC,
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c b/drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c
index 3ac010b1b1c..a0e3c110613 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c
@@ -35,7 +35,6 @@
35#include "iwl-dev.h" 35#include "iwl-dev.h"
36#include "iwl-core.h" 36#include "iwl-core.h"
37#include "iwl-io.h" 37#include "iwl-io.h"
38#include "iwl-5000-hw.h"
39 38
40static int iwlagn_send_rxon_assoc(struct iwl_priv *priv) 39static int iwlagn_send_rxon_assoc(struct iwl_priv *priv)
41{ 40{
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-hw.h b/drivers/net/wireless/iwlwifi/iwl-agn-hw.h
new file mode 100644
index 00000000000..e2ad870bb34
--- /dev/null
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-hw.h
@@ -0,0 +1,102 @@
1/******************************************************************************
2 *
3 * This file is provided under a dual BSD/GPLv2 license. When using or
4 * redistributing this file, you may do so under either license.
5 *
6 * GPL LICENSE SUMMARY
7 *
8 * Copyright(c) 2007 - 2010 Intel Corporation. All rights reserved.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of version 2 of the GNU General Public License as
12 * published by the Free Software Foundation.
13 *
14 * This program is distributed in the hope that it will be useful, but
15 * WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110,
22 * USA
23 *
24 * The full GNU General Public License is included in this distribution
25 * in the file called LICENSE.GPL.
26 *
27 * Contact Information:
28 * Intel Linux Wireless <ilw@linux.intel.com>
29 * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
30 *
31 * BSD LICENSE
32 *
33 * Copyright(c) 2005 - 2010 Intel Corporation. All rights reserved.
34 * All rights reserved.
35 *
36 * Redistribution and use in source and binary forms, with or without
37 * modification, are permitted provided that the following conditions
38 * are met:
39 *
40 * * Redistributions of source code must retain the above copyright
41 * notice, this list of conditions and the following disclaimer.
42 * * Redistributions in binary form must reproduce the above copyright
43 * notice, this list of conditions and the following disclaimer in
44 * the documentation and/or other materials provided with the
45 * distribution.
46 * * Neither the name Intel Corporation nor the names of its
47 * contributors may be used to endorse or promote products derived
48 * from this software without specific prior written permission.
49 *
50 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
51 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
52 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
53 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
54 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
55 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
56 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
57 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
58 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
59 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
60 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
61 *
62 *****************************************************************************/
63/*
64 * Please use this file (iwl-agn-hw.h) only for hardware-related definitions.
65 */
66
67#ifndef __iwl_agn_hw_h__
68#define __iwl_agn_hw_h__
69
70#define IWLAGN_RTC_INST_LOWER_BOUND (0x000000)
71#define IWLAGN_RTC_INST_UPPER_BOUND (0x020000)
72
73#define IWLAGN_RTC_DATA_LOWER_BOUND (0x800000)
74#define IWLAGN_RTC_DATA_UPPER_BOUND (0x80C000)
75
76#define IWLAGN_RTC_INST_SIZE (IWLAGN_RTC_INST_UPPER_BOUND - \
77 IWLAGN_RTC_INST_LOWER_BOUND)
78#define IWLAGN_RTC_DATA_SIZE (IWLAGN_RTC_DATA_UPPER_BOUND - \
79 IWLAGN_RTC_DATA_LOWER_BOUND)
80
81/* EEPROM */
82#define IWLAGN_EEPROM_IMG_SIZE 2048
83
84#define IWLAGN_CMD_FIFO_NUM 7
85#define IWLAGN_NUM_QUEUES 20
86#define IWLAGN_NUM_AMPDU_QUEUES 10
87#define IWLAGN_FIRST_AMPDU_QUEUE 10
88
89/* Fixed (non-configurable) rx data from phy */
90
91/**
92 * struct iwlagn_schedq_bc_tbl scheduler byte count table
93 * base physical address provided by SCD_DRAM_BASE_ADDR
94 * @tfd_offset 0-12 - tx command byte count
95 * 12-16 - station index
96 */
97struct iwlagn_scd_bc_tbl {
98 __le16 tfd_offset[TFD_QUEUE_BC_SIZE];
99} __attribute__ ((packed));
100
101
102#endif /* __iwl_agn_hw_h__ */
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
index 44b3d53e9c7..43bdd9d9df4 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c
@@ -36,7 +36,7 @@
36#include "iwl-core.h" 36#include "iwl-core.h"
37#include "iwl-sta.h" 37#include "iwl-sta.h"
38#include "iwl-io.h" 38#include "iwl-io.h"
39#include "iwl-5000-hw.h" 39#include "iwl-agn-hw.h"
40 40
41/** 41/**
42 * iwlagn_txq_update_byte_cnt_tbl - Set up entry in Tx byte-count array 42 * iwlagn_txq_update_byte_cnt_tbl - Set up entry in Tx byte-count array
@@ -45,7 +45,7 @@ void iwlagn_txq_update_byte_cnt_tbl(struct iwl_priv *priv,
45 struct iwl_tx_queue *txq, 45 struct iwl_tx_queue *txq,
46 u16 byte_cnt) 46 u16 byte_cnt)
47{ 47{
48 struct iwl5000_scd_bc_tbl *scd_bc_tbl = priv->scd_bc_tbls.addr; 48 struct iwlagn_scd_bc_tbl *scd_bc_tbl = priv->scd_bc_tbls.addr;
49 int write_ptr = txq->q.write_ptr; 49 int write_ptr = txq->q.write_ptr;
50 int txq_id = txq->q.id; 50 int txq_id = txq->q.id;
51 u8 sec_ctl = 0; 51 u8 sec_ctl = 0;
@@ -84,7 +84,7 @@ void iwlagn_txq_update_byte_cnt_tbl(struct iwl_priv *priv,
84void iwlagn_txq_inval_byte_cnt_tbl(struct iwl_priv *priv, 84void iwlagn_txq_inval_byte_cnt_tbl(struct iwl_priv *priv,
85 struct iwl_tx_queue *txq) 85 struct iwl_tx_queue *txq)
86{ 86{
87 struct iwl5000_scd_bc_tbl *scd_bc_tbl = priv->scd_bc_tbls.addr; 87 struct iwlagn_scd_bc_tbl *scd_bc_tbl = priv->scd_bc_tbls.addr;
88 int txq_id = txq->q.id; 88 int txq_id = txq->q.id;
89 int read_ptr = txq->q.read_ptr; 89 int read_ptr = txq->q.read_ptr;
90 u8 sta_id = 0; 90 u8 sta_id = 0;
@@ -171,13 +171,13 @@ int iwlagn_txq_agg_enable(struct iwl_priv *priv, int txq_id,
171 unsigned long flags; 171 unsigned long flags;
172 u16 ra_tid; 172 u16 ra_tid;
173 173
174 if ((IWL50_FIRST_AMPDU_QUEUE > txq_id) || 174 if ((IWLAGN_FIRST_AMPDU_QUEUE > txq_id) ||
175 (IWL50_FIRST_AMPDU_QUEUE + priv->cfg->num_of_ampdu_queues 175 (IWLAGN_FIRST_AMPDU_QUEUE + priv->cfg->num_of_ampdu_queues
176 <= txq_id)) { 176 <= txq_id)) {
177 IWL_WARN(priv, 177 IWL_WARN(priv,
178 "queue number out of range: %d, must be %d to %d\n", 178 "queue number out of range: %d, must be %d to %d\n",
179 txq_id, IWL50_FIRST_AMPDU_QUEUE, 179 txq_id, IWLAGN_FIRST_AMPDU_QUEUE,
180 IWL50_FIRST_AMPDU_QUEUE + 180 IWLAGN_FIRST_AMPDU_QUEUE +
181 priv->cfg->num_of_ampdu_queues - 1); 181 priv->cfg->num_of_ampdu_queues - 1);
182 return -EINVAL; 182 return -EINVAL;
183 } 183 }
@@ -231,13 +231,13 @@ int iwlagn_txq_agg_enable(struct iwl_priv *priv, int txq_id,
231int iwlagn_txq_agg_disable(struct iwl_priv *priv, u16 txq_id, 231int iwlagn_txq_agg_disable(struct iwl_priv *priv, u16 txq_id,
232 u16 ssn_idx, u8 tx_fifo) 232 u16 ssn_idx, u8 tx_fifo)
233{ 233{
234 if ((IWL50_FIRST_AMPDU_QUEUE > txq_id) || 234 if ((IWLAGN_FIRST_AMPDU_QUEUE > txq_id) ||
235 (IWL50_FIRST_AMPDU_QUEUE + priv->cfg->num_of_ampdu_queues 235 (IWLAGN_FIRST_AMPDU_QUEUE + priv->cfg->num_of_ampdu_queues
236 <= txq_id)) { 236 <= txq_id)) {
237 IWL_ERR(priv, 237 IWL_ERR(priv,
238 "queue number out of range: %d, must be %d to %d\n", 238 "queue number out of range: %d, must be %d to %d\n",
239 txq_id, IWL50_FIRST_AMPDU_QUEUE, 239 txq_id, IWLAGN_FIRST_AMPDU_QUEUE,
240 IWL50_FIRST_AMPDU_QUEUE + 240 IWLAGN_FIRST_AMPDU_QUEUE +
241 priv->cfg->num_of_ampdu_queues - 1); 241 priv->cfg->num_of_ampdu_queues - 1);
242 return -EINVAL; 242 return -EINVAL;
243 } 243 }
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c b/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c
index f57a4f8033f..f0af3881b74 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-ucode.c
@@ -35,7 +35,7 @@
35#include "iwl-dev.h" 35#include "iwl-dev.h"
36#include "iwl-core.h" 36#include "iwl-core.h"
37#include "iwl-io.h" 37#include "iwl-io.h"
38#include "iwl-5000-hw.h" 38#include "iwl-agn-hw.h"
39 39
40/* 40/*
41 * ucode 41 * ucode
@@ -101,12 +101,12 @@ static int iwlagn_load_given_ucode(struct iwl_priv *priv,
101 int ret = 0; 101 int ret = 0;
102 102
103 ret = iwlagn_load_section(priv, "INST", inst_image, 103 ret = iwlagn_load_section(priv, "INST", inst_image,
104 IWL50_RTC_INST_LOWER_BOUND); 104 IWLAGN_RTC_INST_LOWER_BOUND);
105 if (ret) 105 if (ret)
106 return ret; 106 return ret;
107 107
108 return iwlagn_load_section(priv, "DATA", data_image, 108 return iwlagn_load_section(priv, "DATA", data_image,
109 IWL50_RTC_DATA_LOWER_BOUND); 109 IWLAGN_RTC_DATA_LOWER_BOUND);
110} 110}
111 111
112int iwlagn_load_ucode(struct iwl_priv *priv) 112int iwlagn_load_ucode(struct iwl_priv *priv)