Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7c4559c9 authored by John W. Linville's avatar John W. Linville
Browse files
parents 9b682c78 69b172f7
Loading
Loading
Loading
Loading
+7 −7
Original line number Original line Diff line number Diff line
@@ -124,10 +124,10 @@ static int iwl1000_hw_set_hw_params(struct iwl_priv *priv)
{
{
	if (iwlagn_mod_params.num_of_queues >= IWL_MIN_NUM_QUEUES &&
	if (iwlagn_mod_params.num_of_queues >= IWL_MIN_NUM_QUEUES &&
	    iwlagn_mod_params.num_of_queues <= IWLAGN_NUM_QUEUES)
	    iwlagn_mod_params.num_of_queues <= IWLAGN_NUM_QUEUES)
		priv->cfg->base_params->num_of_queues =
		cfg(priv)->base_params->num_of_queues =
			iwlagn_mod_params.num_of_queues;
			iwlagn_mod_params.num_of_queues;


	hw_params(priv).max_txq_num = priv->cfg->base_params->num_of_queues;
	hw_params(priv).max_txq_num = cfg(priv)->base_params->num_of_queues;
	priv->contexts[IWL_RXON_CTX_BSS].bcast_sta_id = IWLAGN_BROADCAST_ID;
	priv->contexts[IWL_RXON_CTX_BSS].bcast_sta_id = IWLAGN_BROADCAST_ID;


	hw_params(priv).max_data_size = IWLAGN_RTC_DATA_SIZE;
	hw_params(priv).max_data_size = IWLAGN_RTC_DATA_SIZE;
@@ -135,14 +135,14 @@ static int iwl1000_hw_set_hw_params(struct iwl_priv *priv)


	hw_params(priv).ht40_channel =  BIT(IEEE80211_BAND_2GHZ);
	hw_params(priv).ht40_channel =  BIT(IEEE80211_BAND_2GHZ);


	hw_params(priv).tx_chains_num = num_of_ant(priv->cfg->valid_tx_ant);
	hw_params(priv).tx_chains_num = num_of_ant(cfg(priv)->valid_tx_ant);
	if (priv->cfg->rx_with_siso_diversity)
	if (cfg(priv)->rx_with_siso_diversity)
		hw_params(priv).rx_chains_num = 1;
		hw_params(priv).rx_chains_num = 1;
	else
	else
		hw_params(priv).rx_chains_num =
		hw_params(priv).rx_chains_num =
			num_of_ant(priv->cfg->valid_rx_ant);
			num_of_ant(cfg(priv)->valid_rx_ant);
	hw_params(priv).valid_tx_ant = priv->cfg->valid_tx_ant;
	hw_params(priv).valid_tx_ant = cfg(priv)->valid_tx_ant;
	hw_params(priv).valid_rx_ant = priv->cfg->valid_rx_ant;
	hw_params(priv).valid_rx_ant = cfg(priv)->valid_rx_ant;


	iwl1000_set_ct_threshold(priv);
	iwl1000_set_ct_threshold(priv);


+14 −14
Original line number Original line Diff line number Diff line
@@ -86,7 +86,7 @@ static void iwl2000_nic_config(struct iwl_priv *priv)
{
{
	iwl_rf_config(priv);
	iwl_rf_config(priv);


	if (priv->cfg->iq_invert)
	if (cfg(priv)->iq_invert)
		iwl_set_bit(bus(priv), CSR_GP_DRIVER_REG,
		iwl_set_bit(bus(priv), CSR_GP_DRIVER_REG,
			    CSR_GP_DRIVER_REG_BIT_RADIO_IQ_INVER);
			    CSR_GP_DRIVER_REG_BIT_RADIO_IQ_INVER);
}
}
@@ -120,10 +120,10 @@ static int iwl2000_hw_set_hw_params(struct iwl_priv *priv)
{
{
	if (iwlagn_mod_params.num_of_queues >= IWL_MIN_NUM_QUEUES &&
	if (iwlagn_mod_params.num_of_queues >= IWL_MIN_NUM_QUEUES &&
	    iwlagn_mod_params.num_of_queues <= IWLAGN_NUM_QUEUES)
	    iwlagn_mod_params.num_of_queues <= IWLAGN_NUM_QUEUES)
		priv->cfg->base_params->num_of_queues =
		cfg(priv)->base_params->num_of_queues =
			iwlagn_mod_params.num_of_queues;
			iwlagn_mod_params.num_of_queues;


	hw_params(priv).max_txq_num = priv->cfg->base_params->num_of_queues;
	hw_params(priv).max_txq_num = cfg(priv)->base_params->num_of_queues;
	priv->contexts[IWL_RXON_CTX_BSS].bcast_sta_id = IWLAGN_BROADCAST_ID;
	priv->contexts[IWL_RXON_CTX_BSS].bcast_sta_id = IWLAGN_BROADCAST_ID;


	hw_params(priv).max_data_size = IWL60_RTC_DATA_SIZE;
	hw_params(priv).max_data_size = IWL60_RTC_DATA_SIZE;
@@ -131,14 +131,14 @@ static int iwl2000_hw_set_hw_params(struct iwl_priv *priv)


	hw_params(priv).ht40_channel =  BIT(IEEE80211_BAND_2GHZ);
	hw_params(priv).ht40_channel =  BIT(IEEE80211_BAND_2GHZ);


	hw_params(priv).tx_chains_num = num_of_ant(priv->cfg->valid_tx_ant);
	hw_params(priv).tx_chains_num = num_of_ant(cfg(priv)->valid_tx_ant);
	if (priv->cfg->rx_with_siso_diversity)
	if (cfg(priv)->rx_with_siso_diversity)
		hw_params(priv).rx_chains_num = 1;
		hw_params(priv).rx_chains_num = 1;
	else
	else
		hw_params(priv).rx_chains_num =
		hw_params(priv).rx_chains_num =
			num_of_ant(priv->cfg->valid_rx_ant);
			num_of_ant(cfg(priv)->valid_rx_ant);
	hw_params(priv).valid_tx_ant = priv->cfg->valid_tx_ant;
	hw_params(priv).valid_tx_ant = cfg(priv)->valid_tx_ant;
	hw_params(priv).valid_rx_ant = priv->cfg->valid_rx_ant;
	hw_params(priv).valid_rx_ant = cfg(priv)->valid_rx_ant;


	iwl2000_set_ct_threshold(priv);
	iwl2000_set_ct_threshold(priv);


@@ -254,13 +254,13 @@ static struct iwl_bt_params iwl2030_bt_params = {
	.iq_invert = true					\
	.iq_invert = true					\


struct iwl_cfg iwl2000_2bgn_cfg = {
struct iwl_cfg iwl2000_2bgn_cfg = {
	.name = "2000 Series 2x2 BGN",
	.name = "Intel(R) Centrino(R) Wireless-N 2200 BGN",
	IWL_DEVICE_2000,
	IWL_DEVICE_2000,
	.ht_params = &iwl2000_ht_params,
	.ht_params = &iwl2000_ht_params,
};
};


struct iwl_cfg iwl2000_2bgn_d_cfg = {
struct iwl_cfg iwl2000_2bgn_d_cfg = {
	.name = "2000D Series 2x2 BGN",
	.name = "Intel(R) Centrino(R) Wireless-N 2200D BGN",
	IWL_DEVICE_2000,
	IWL_DEVICE_2000,
	.ht_params = &iwl2000_ht_params,
	.ht_params = &iwl2000_ht_params,
};
};
@@ -282,7 +282,7 @@ struct iwl_cfg iwl2000_2bgn_d_cfg = {
	.iq_invert = true					\
	.iq_invert = true					\


struct iwl_cfg iwl2030_2bgn_cfg = {
struct iwl_cfg iwl2030_2bgn_cfg = {
	.name = "2000 Series 2x2 BGN/BT",
	.name = "Intel(R) Centrino(R) Wireless-N 2230 BGN",
	IWL_DEVICE_2030,
	IWL_DEVICE_2030,
	.ht_params = &iwl2000_ht_params,
	.ht_params = &iwl2000_ht_params,
};
};
@@ -304,13 +304,13 @@ struct iwl_cfg iwl2030_2bgn_cfg = {
	.iq_invert = true					\
	.iq_invert = true					\


struct iwl_cfg iwl105_bgn_cfg = {
struct iwl_cfg iwl105_bgn_cfg = {
	.name = "105 Series 1x1 BGN",
	.name = "Intel(R) Centrino(R) Wireless-N 105 BGN",
	IWL_DEVICE_105,
	IWL_DEVICE_105,
	.ht_params = &iwl2000_ht_params,
	.ht_params = &iwl2000_ht_params,
};
};


struct iwl_cfg iwl105_bgn_d_cfg = {
struct iwl_cfg iwl105_bgn_d_cfg = {
	.name = "105D Series 1x1 BGN",
	.name = "Intel(R) Centrino(R) Wireless-N 105D BGN",
	IWL_DEVICE_105,
	IWL_DEVICE_105,
	.ht_params = &iwl2000_ht_params,
	.ht_params = &iwl2000_ht_params,
};
};
@@ -333,7 +333,7 @@ struct iwl_cfg iwl105_bgn_d_cfg = {
	.iq_invert = true					\
	.iq_invert = true					\


struct iwl_cfg iwl135_bgn_cfg = {
struct iwl_cfg iwl135_bgn_cfg = {
	.name = "135 Series 1x1 BGN/BT",
	.name = "Intel(R) Centrino(R) Wireless-N 135 BGN",
	IWL_DEVICE_135,
	IWL_DEVICE_135,
	.ht_params = &iwl2000_ht_params,
	.ht_params = &iwl2000_ht_params,
};
};
+12 −12
Original line number Original line Diff line number Diff line
@@ -166,10 +166,10 @@ static int iwl5000_hw_set_hw_params(struct iwl_priv *priv)
{
{
	if (iwlagn_mod_params.num_of_queues >= IWL_MIN_NUM_QUEUES &&
	if (iwlagn_mod_params.num_of_queues >= IWL_MIN_NUM_QUEUES &&
	    iwlagn_mod_params.num_of_queues <= IWLAGN_NUM_QUEUES)
	    iwlagn_mod_params.num_of_queues <= IWLAGN_NUM_QUEUES)
		priv->cfg->base_params->num_of_queues =
		cfg(priv)->base_params->num_of_queues =
			iwlagn_mod_params.num_of_queues;
			iwlagn_mod_params.num_of_queues;


	hw_params(priv).max_txq_num = priv->cfg->base_params->num_of_queues;
	hw_params(priv).max_txq_num = cfg(priv)->base_params->num_of_queues;
	priv->contexts[IWL_RXON_CTX_BSS].bcast_sta_id = IWLAGN_BROADCAST_ID;
	priv->contexts[IWL_RXON_CTX_BSS].bcast_sta_id = IWLAGN_BROADCAST_ID;


	hw_params(priv).max_data_size = IWLAGN_RTC_DATA_SIZE;
	hw_params(priv).max_data_size = IWLAGN_RTC_DATA_SIZE;
@@ -178,10 +178,10 @@ static int iwl5000_hw_set_hw_params(struct iwl_priv *priv)
	hw_params(priv).ht40_channel =  BIT(IEEE80211_BAND_2GHZ) |
	hw_params(priv).ht40_channel =  BIT(IEEE80211_BAND_2GHZ) |
					BIT(IEEE80211_BAND_5GHZ);
					BIT(IEEE80211_BAND_5GHZ);


	hw_params(priv).tx_chains_num = num_of_ant(priv->cfg->valid_tx_ant);
	hw_params(priv).tx_chains_num = num_of_ant(cfg(priv)->valid_tx_ant);
	hw_params(priv).rx_chains_num = num_of_ant(priv->cfg->valid_rx_ant);
	hw_params(priv).rx_chains_num = num_of_ant(cfg(priv)->valid_rx_ant);
	hw_params(priv).valid_tx_ant = priv->cfg->valid_tx_ant;
	hw_params(priv).valid_tx_ant = cfg(priv)->valid_tx_ant;
	hw_params(priv).valid_rx_ant = priv->cfg->valid_rx_ant;
	hw_params(priv).valid_rx_ant = cfg(priv)->valid_rx_ant;


	iwl5000_set_ct_threshold(priv);
	iwl5000_set_ct_threshold(priv);


@@ -195,10 +195,10 @@ static int iwl5150_hw_set_hw_params(struct iwl_priv *priv)
{
{
	if (iwlagn_mod_params.num_of_queues >= IWL_MIN_NUM_QUEUES &&
	if (iwlagn_mod_params.num_of_queues >= IWL_MIN_NUM_QUEUES &&
	    iwlagn_mod_params.num_of_queues <= IWLAGN_NUM_QUEUES)
	    iwlagn_mod_params.num_of_queues <= IWLAGN_NUM_QUEUES)
		priv->cfg->base_params->num_of_queues =
		cfg(priv)->base_params->num_of_queues =
			iwlagn_mod_params.num_of_queues;
			iwlagn_mod_params.num_of_queues;


	hw_params(priv).max_txq_num = priv->cfg->base_params->num_of_queues;
	hw_params(priv).max_txq_num = cfg(priv)->base_params->num_of_queues;
	priv->contexts[IWL_RXON_CTX_BSS].bcast_sta_id = IWLAGN_BROADCAST_ID;
	priv->contexts[IWL_RXON_CTX_BSS].bcast_sta_id = IWLAGN_BROADCAST_ID;


	hw_params(priv).max_data_size = IWLAGN_RTC_DATA_SIZE;
	hw_params(priv).max_data_size = IWLAGN_RTC_DATA_SIZE;
@@ -207,10 +207,10 @@ static int iwl5150_hw_set_hw_params(struct iwl_priv *priv)
	hw_params(priv).ht40_channel =  BIT(IEEE80211_BAND_2GHZ) |
	hw_params(priv).ht40_channel =  BIT(IEEE80211_BAND_2GHZ) |
					BIT(IEEE80211_BAND_5GHZ);
					BIT(IEEE80211_BAND_5GHZ);


	hw_params(priv).tx_chains_num = num_of_ant(priv->cfg->valid_tx_ant);
	hw_params(priv).tx_chains_num = num_of_ant(cfg(priv)->valid_tx_ant);
	hw_params(priv).rx_chains_num = num_of_ant(priv->cfg->valid_rx_ant);
	hw_params(priv).rx_chains_num = num_of_ant(cfg(priv)->valid_rx_ant);
	hw_params(priv).valid_tx_ant = priv->cfg->valid_tx_ant;
	hw_params(priv).valid_tx_ant = cfg(priv)->valid_tx_ant;
	hw_params(priv).valid_rx_ant = priv->cfg->valid_rx_ant;
	hw_params(priv).valid_rx_ant = cfg(priv)->valid_rx_ant;


	iwl5150_set_ct_threshold(priv);
	iwl5150_set_ct_threshold(priv);


+11 −11
Original line number Original line Diff line number Diff line
@@ -102,14 +102,14 @@ static void iwl6000_nic_config(struct iwl_priv *priv)
	iwl_rf_config(priv);
	iwl_rf_config(priv);


	/* no locking required for register write */
	/* no locking required for register write */
	if (priv->cfg->pa_type == IWL_PA_INTERNAL) {
	if (cfg(priv)->pa_type == IWL_PA_INTERNAL) {
		/* 2x2 IPA phy type */
		/* 2x2 IPA phy type */
		iwl_write32(bus(priv), CSR_GP_DRIVER_REG,
		iwl_write32(bus(priv), CSR_GP_DRIVER_REG,
			     CSR_GP_DRIVER_REG_BIT_RADIO_SKU_2x2_IPA);
			     CSR_GP_DRIVER_REG_BIT_RADIO_SKU_2x2_IPA);
	}
	}
	/* do additional nic configuration if needed */
	/* do additional nic configuration if needed */
	if (priv->cfg->additional_nic_config)
	if (cfg(priv)->additional_nic_config)
			priv->cfg->additional_nic_config(priv);
			cfg(priv)->additional_nic_config(priv);
}
}


static struct iwl_sensitivity_ranges iwl6000_sensitivity = {
static struct iwl_sensitivity_ranges iwl6000_sensitivity = {
@@ -141,10 +141,10 @@ static int iwl6000_hw_set_hw_params(struct iwl_priv *priv)
{
{
	if (iwlagn_mod_params.num_of_queues >= IWL_MIN_NUM_QUEUES &&
	if (iwlagn_mod_params.num_of_queues >= IWL_MIN_NUM_QUEUES &&
	    iwlagn_mod_params.num_of_queues <= IWLAGN_NUM_QUEUES)
	    iwlagn_mod_params.num_of_queues <= IWLAGN_NUM_QUEUES)
		priv->cfg->base_params->num_of_queues =
		cfg(priv)->base_params->num_of_queues =
			iwlagn_mod_params.num_of_queues;
			iwlagn_mod_params.num_of_queues;


	hw_params(priv).max_txq_num = priv->cfg->base_params->num_of_queues;
	hw_params(priv).max_txq_num = cfg(priv)->base_params->num_of_queues;
	priv->contexts[IWL_RXON_CTX_BSS].bcast_sta_id = IWLAGN_BROADCAST_ID;
	priv->contexts[IWL_RXON_CTX_BSS].bcast_sta_id = IWLAGN_BROADCAST_ID;


	hw_params(priv).max_data_size = IWL60_RTC_DATA_SIZE;
	hw_params(priv).max_data_size = IWL60_RTC_DATA_SIZE;
@@ -153,14 +153,14 @@ static int iwl6000_hw_set_hw_params(struct iwl_priv *priv)
	hw_params(priv).ht40_channel =  BIT(IEEE80211_BAND_2GHZ) |
	hw_params(priv).ht40_channel =  BIT(IEEE80211_BAND_2GHZ) |
					BIT(IEEE80211_BAND_5GHZ);
					BIT(IEEE80211_BAND_5GHZ);


	hw_params(priv).tx_chains_num = num_of_ant(priv->cfg->valid_tx_ant);
	hw_params(priv).tx_chains_num = num_of_ant(cfg(priv)->valid_tx_ant);
	if (priv->cfg->rx_with_siso_diversity)
	if (cfg(priv)->rx_with_siso_diversity)
		hw_params(priv).rx_chains_num = 1;
		hw_params(priv).rx_chains_num = 1;
	else
	else
		hw_params(priv).rx_chains_num =
		hw_params(priv).rx_chains_num =
			num_of_ant(priv->cfg->valid_rx_ant);
			num_of_ant(cfg(priv)->valid_rx_ant);
	hw_params(priv).valid_tx_ant = priv->cfg->valid_tx_ant;
	hw_params(priv).valid_tx_ant = cfg(priv)->valid_tx_ant;
	hw_params(priv).valid_rx_ant = priv->cfg->valid_rx_ant;
	hw_params(priv).valid_rx_ant = cfg(priv)->valid_rx_ant;


	iwl6000_set_ct_threshold(priv);
	iwl6000_set_ct_threshold(priv);


@@ -423,7 +423,7 @@ struct iwl_cfg iwl6030_2bg_cfg = {
};
};


struct iwl_cfg iwl6035_2agn_cfg = {
struct iwl_cfg iwl6035_2agn_cfg = {
	.name = "6035 Series 2x2 AGN/BT",
	.name = "Intel(R) Centrino(R) Advanced-N 6235 AGN",
	IWL_DEVICE_6030,
	IWL_DEVICE_6030,
	.ht_params = &iwl6000_ht_params,
	.ht_params = &iwl6000_ht_params,
};
};
+6 −6
Original line number Original line Diff line number Diff line
@@ -513,7 +513,7 @@ static int iwl_enhance_sensitivity_write(struct iwl_priv *priv)


	iwl_prepare_legacy_sensitivity_tbl(priv, data, &cmd.enhance_table[0]);
	iwl_prepare_legacy_sensitivity_tbl(priv, data, &cmd.enhance_table[0]);


	if (priv->cfg->base_params->hd_v2) {
	if (cfg(priv)->base_params->hd_v2) {
		cmd.enhance_table[HD_INA_NON_SQUARE_DET_OFDM_INDEX] =
		cmd.enhance_table[HD_INA_NON_SQUARE_DET_OFDM_INDEX] =
			HD_INA_NON_SQUARE_DET_OFDM_DATA_V2;
			HD_INA_NON_SQUARE_DET_OFDM_DATA_V2;
		cmd.enhance_table[HD_INA_NON_SQUARE_DET_CCK_INDEX] =
		cmd.enhance_table[HD_INA_NON_SQUARE_DET_CCK_INDEX] =
@@ -847,7 +847,7 @@ static void iwl_find_disconn_antenna(struct iwl_priv *priv, u32* average_sig,
			 * connect the first valid tx chain
			 * connect the first valid tx chain
			 */
			 */
			first_chain =
			first_chain =
				find_first_chain(priv->cfg->valid_tx_ant);
				find_first_chain(cfg(priv)->valid_tx_ant);
			data->disconn_array[first_chain] = 0;
			data->disconn_array[first_chain] = 0;
			active_chains |= BIT(first_chain);
			active_chains |= BIT(first_chain);
			IWL_DEBUG_CALIB(priv,
			IWL_DEBUG_CALIB(priv,
@@ -890,7 +890,7 @@ static void iwlagn_gain_computation(struct iwl_priv *priv,
			continue;
			continue;
		}
		}


		delta_g = (priv->cfg->base_params->chain_noise_scale *
		delta_g = (cfg(priv)->base_params->chain_noise_scale *
			((s32)average_noise[default_chain] -
			((s32)average_noise[default_chain] -
			(s32)average_noise[i])) / 1500;
			(s32)average_noise[i])) / 1500;


@@ -1047,8 +1047,8 @@ void iwl_chain_noise_calibration(struct iwl_priv *priv)
		return;
		return;


	/* Analyze signal for disconnected antenna */
	/* Analyze signal for disconnected antenna */
	if (priv->cfg->bt_params &&
	if (cfg(priv)->bt_params &&
	    priv->cfg->bt_params->advanced_bt_coexist) {
	    cfg(priv)->bt_params->advanced_bt_coexist) {
		/* Disable disconnected antenna algorithm for advanced
		/* Disable disconnected antenna algorithm for advanced
		   bt coex, assuming valid antennas are connected */
		   bt coex, assuming valid antennas are connected */
		data->active_chains = hw_params(priv).valid_rx_ant;
		data->active_chains = hw_params(priv).valid_rx_ant;
@@ -1082,7 +1082,7 @@ void iwl_chain_noise_calibration(struct iwl_priv *priv)


	iwlagn_gain_computation(priv, average_noise,
	iwlagn_gain_computation(priv, average_noise,
				min_average_noise_antenna_i, min_average_noise,
				min_average_noise_antenna_i, min_average_noise,
				find_first_chain(priv->cfg->valid_rx_ant));
				find_first_chain(cfg(priv)->valid_rx_ant));


	/* Some power changes may have been made during the calibration.
	/* Some power changes may have been made during the calibration.
	 * Update and commit the RXON
	 * Update and commit the RXON
Loading