|
@@ -129,18 +129,16 @@ static struct iwl_sensitivity_ranges iwl6000_sensitivity = {
|
|
|
|
|
|
static int iwl6000_hw_set_hw_params(struct iwl_priv *priv)
|
|
|
{
|
|
|
- if ((priv->cfg->mod_params->num_of_queues > IWL50_NUM_QUEUES) ||
|
|
|
- (priv->cfg->mod_params->num_of_queues < IWL_MIN_NUM_QUEUES)) {
|
|
|
- IWL_ERR(priv,
|
|
|
- "invalid queues_num, should be between %d and %d\n",
|
|
|
- IWL_MIN_NUM_QUEUES, IWL50_NUM_QUEUES);
|
|
|
- return -EINVAL;
|
|
|
- }
|
|
|
+ if (priv->cfg->mod_params->num_of_queues >= IWL_MIN_NUM_QUEUES &&
|
|
|
+ priv->cfg->mod_params->num_of_queues <= IWL50_NUM_QUEUES)
|
|
|
+ priv->cfg->num_of_queues =
|
|
|
+ priv->cfg->mod_params->num_of_queues;
|
|
|
|
|
|
- priv->hw_params.max_txq_num = priv->cfg->mod_params->num_of_queues;
|
|
|
+ priv->hw_params.max_txq_num = priv->cfg->num_of_queues;
|
|
|
priv->hw_params.dma_chnl_num = FH50_TCSR_CHNL_NUM;
|
|
|
priv->hw_params.scd_bc_tbls_size =
|
|
|
- IWL50_NUM_QUEUES * sizeof(struct iwl5000_scd_bc_tbl);
|
|
|
+ priv->cfg->num_of_queues *
|
|
|
+ sizeof(struct iwl5000_scd_bc_tbl);
|
|
|
priv->hw_params.tfd_size = sizeof(struct iwl_tfd);
|
|
|
priv->hw_params.max_stations = IWL5000_STATION_COUNT;
|
|
|
priv->hw_params.bcast_sta_id = IWL5000_BROADCAST_ID;
|
|
@@ -248,6 +246,8 @@ struct iwl_cfg iwl6000h_2agn_cfg = {
|
|
|
.eeprom_size = OTP_LOW_IMAGE_SIZE,
|
|
|
.eeprom_ver = EEPROM_6000_EEPROM_VERSION,
|
|
|
.eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
|
|
|
+ .num_of_queues = IWL50_NUM_QUEUES,
|
|
|
+ .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES,
|
|
|
.mod_params = &iwl50_mod_params,
|
|
|
.valid_tx_ant = ANT_AB,
|
|
|
.valid_rx_ant = ANT_AB,
|
|
@@ -272,6 +272,8 @@ struct iwl_cfg iwl6000h_2abg_cfg = {
|
|
|
.eeprom_size = OTP_LOW_IMAGE_SIZE,
|
|
|
.eeprom_ver = EEPROM_6000_EEPROM_VERSION,
|
|
|
.eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
|
|
|
+ .num_of_queues = IWL50_NUM_QUEUES,
|
|
|
+ .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES,
|
|
|
.mod_params = &iwl50_mod_params,
|
|
|
.valid_tx_ant = ANT_AB,
|
|
|
.valid_rx_ant = ANT_AB,
|
|
@@ -295,6 +297,8 @@ struct iwl_cfg iwl6000h_2bg_cfg = {
|
|
|
.eeprom_size = OTP_LOW_IMAGE_SIZE,
|
|
|
.eeprom_ver = EEPROM_6000_EEPROM_VERSION,
|
|
|
.eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
|
|
|
+ .num_of_queues = IWL50_NUM_QUEUES,
|
|
|
+ .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES,
|
|
|
.mod_params = &iwl50_mod_params,
|
|
|
.valid_tx_ant = ANT_AB,
|
|
|
.valid_rx_ant = ANT_AB,
|
|
@@ -321,6 +325,8 @@ struct iwl_cfg iwl6000i_2agn_cfg = {
|
|
|
.eeprom_size = OTP_LOW_IMAGE_SIZE,
|
|
|
.eeprom_ver = EEPROM_6000_EEPROM_VERSION,
|
|
|
.eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
|
|
|
+ .num_of_queues = IWL50_NUM_QUEUES,
|
|
|
+ .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES,
|
|
|
.mod_params = &iwl50_mod_params,
|
|
|
.valid_tx_ant = ANT_BC,
|
|
|
.valid_rx_ant = ANT_BC,
|
|
@@ -345,6 +351,8 @@ struct iwl_cfg iwl6000i_2abg_cfg = {
|
|
|
.eeprom_size = OTP_LOW_IMAGE_SIZE,
|
|
|
.eeprom_ver = EEPROM_6000_EEPROM_VERSION,
|
|
|
.eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
|
|
|
+ .num_of_queues = IWL50_NUM_QUEUES,
|
|
|
+ .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES,
|
|
|
.mod_params = &iwl50_mod_params,
|
|
|
.valid_tx_ant = ANT_BC,
|
|
|
.valid_rx_ant = ANT_BC,
|
|
@@ -368,6 +376,8 @@ struct iwl_cfg iwl6000i_2bg_cfg = {
|
|
|
.eeprom_size = OTP_LOW_IMAGE_SIZE,
|
|
|
.eeprom_ver = EEPROM_6000_EEPROM_VERSION,
|
|
|
.eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
|
|
|
+ .num_of_queues = IWL50_NUM_QUEUES,
|
|
|
+ .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES,
|
|
|
.mod_params = &iwl50_mod_params,
|
|
|
.valid_tx_ant = ANT_BC,
|
|
|
.valid_rx_ant = ANT_BC,
|
|
@@ -391,6 +401,8 @@ struct iwl_cfg iwl6050_2agn_cfg = {
|
|
|
.eeprom_size = OTP_LOW_IMAGE_SIZE,
|
|
|
.eeprom_ver = EEPROM_6000_EEPROM_VERSION,
|
|
|
.eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
|
|
|
+ .num_of_queues = IWL50_NUM_QUEUES,
|
|
|
+ .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES,
|
|
|
.mod_params = &iwl50_mod_params,
|
|
|
.valid_tx_ant = ANT_AB,
|
|
|
.valid_rx_ant = ANT_AB,
|
|
@@ -415,6 +427,8 @@ struct iwl_cfg iwl6050_2abg_cfg = {
|
|
|
.eeprom_size = OTP_LOW_IMAGE_SIZE,
|
|
|
.eeprom_ver = EEPROM_6000_EEPROM_VERSION,
|
|
|
.eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
|
|
|
+ .num_of_queues = IWL50_NUM_QUEUES,
|
|
|
+ .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES,
|
|
|
.mod_params = &iwl50_mod_params,
|
|
|
.valid_tx_ant = ANT_AB,
|
|
|
.valid_rx_ant = ANT_AB,
|
|
@@ -438,6 +452,8 @@ struct iwl_cfg iwl6000_3agn_cfg = {
|
|
|
.eeprom_size = OTP_LOW_IMAGE_SIZE,
|
|
|
.eeprom_ver = EEPROM_6000_EEPROM_VERSION,
|
|
|
.eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
|
|
|
+ .num_of_queues = IWL50_NUM_QUEUES,
|
|
|
+ .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES,
|
|
|
.mod_params = &iwl50_mod_params,
|
|
|
.valid_tx_ant = ANT_ABC,
|
|
|
.valid_rx_ant = ANT_ABC,
|
|
@@ -462,6 +478,8 @@ struct iwl_cfg iwl6050_3agn_cfg = {
|
|
|
.eeprom_size = OTP_LOW_IMAGE_SIZE,
|
|
|
.eeprom_ver = EEPROM_6000_EEPROM_VERSION,
|
|
|
.eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
|
|
|
+ .num_of_queues = IWL50_NUM_QUEUES,
|
|
|
+ .num_of_ampdu_queues = IWL50_NUM_AMPDU_QUEUES,
|
|
|
.mod_params = &iwl50_mod_params,
|
|
|
.valid_tx_ant = ANT_ABC,
|
|
|
.valid_rx_ant = ANT_ABC,
|