iwlwifi: move iwl_setup_mac to iwlagn
This function is only used in iwlagn so there is no need to have it in iwlcore. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
3ab312a893
commit
f0b6e2e8cb
@@ -2284,6 +2284,68 @@ void iwl_post_associate(struct iwl_priv *priv)
|
|||||||
|
|
||||||
#define UCODE_READY_TIMEOUT (4 * HZ)
|
#define UCODE_READY_TIMEOUT (4 * HZ)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Not a mac80211 entry point function, but it fits in with all the
|
||||||
|
* other mac80211 functions grouped here.
|
||||||
|
*/
|
||||||
|
static int iwl_setup_mac(struct iwl_priv *priv)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
struct ieee80211_hw *hw = priv->hw;
|
||||||
|
hw->rate_control_algorithm = "iwl-agn-rs";
|
||||||
|
|
||||||
|
/* Tell mac80211 our characteristics */
|
||||||
|
hw->flags = IEEE80211_HW_SIGNAL_DBM |
|
||||||
|
IEEE80211_HW_NOISE_DBM |
|
||||||
|
IEEE80211_HW_AMPDU_AGGREGATION |
|
||||||
|
IEEE80211_HW_SPECTRUM_MGMT;
|
||||||
|
|
||||||
|
if (!priv->cfg->broken_powersave)
|
||||||
|
hw->flags |= IEEE80211_HW_SUPPORTS_PS |
|
||||||
|
IEEE80211_HW_SUPPORTS_DYNAMIC_PS;
|
||||||
|
|
||||||
|
hw->wiphy->interface_modes =
|
||||||
|
BIT(NL80211_IFTYPE_STATION) |
|
||||||
|
BIT(NL80211_IFTYPE_ADHOC);
|
||||||
|
|
||||||
|
hw->wiphy->custom_regulatory = true;
|
||||||
|
|
||||||
|
/* Firmware does not support this */
|
||||||
|
hw->wiphy->disable_beacon_hints = true;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* For now, disable PS by default because it affects
|
||||||
|
* RX performance significantly.
|
||||||
|
*/
|
||||||
|
hw->wiphy->ps_default = false;
|
||||||
|
|
||||||
|
hw->wiphy->max_scan_ssids = PROBE_OPTION_MAX;
|
||||||
|
/* we create the 802.11 header and a zero-length SSID element */
|
||||||
|
hw->wiphy->max_scan_ie_len = IWL_MAX_PROBE_REQUEST - 24 - 2;
|
||||||
|
|
||||||
|
/* Default value; 4 EDCA QOS priorities */
|
||||||
|
hw->queues = 4;
|
||||||
|
|
||||||
|
hw->max_listen_interval = IWL_CONN_MAX_LISTEN_INTERVAL;
|
||||||
|
|
||||||
|
if (priv->bands[IEEE80211_BAND_2GHZ].n_channels)
|
||||||
|
priv->hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
|
||||||
|
&priv->bands[IEEE80211_BAND_2GHZ];
|
||||||
|
if (priv->bands[IEEE80211_BAND_5GHZ].n_channels)
|
||||||
|
priv->hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
|
||||||
|
&priv->bands[IEEE80211_BAND_5GHZ];
|
||||||
|
|
||||||
|
ret = ieee80211_register_hw(priv->hw);
|
||||||
|
if (ret) {
|
||||||
|
IWL_ERR(priv, "Failed to register hw (error %d)\n", ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
priv->mac80211_registered = 1;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int iwl_mac_start(struct ieee80211_hw *hw)
|
static int iwl_mac_start(struct ieee80211_hw *hw)
|
||||||
{
|
{
|
||||||
struct iwl_priv *priv = hw->priv;
|
struct iwl_priv *priv = hw->priv;
|
||||||
|
@@ -1429,64 +1429,6 @@ void iwl_configure_filter(struct ieee80211_hw *hw,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(iwl_configure_filter);
|
EXPORT_SYMBOL(iwl_configure_filter);
|
||||||
|
|
||||||
int iwl_setup_mac(struct iwl_priv *priv)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
struct ieee80211_hw *hw = priv->hw;
|
|
||||||
hw->rate_control_algorithm = "iwl-agn-rs";
|
|
||||||
|
|
||||||
/* Tell mac80211 our characteristics */
|
|
||||||
hw->flags = IEEE80211_HW_SIGNAL_DBM |
|
|
||||||
IEEE80211_HW_NOISE_DBM |
|
|
||||||
IEEE80211_HW_AMPDU_AGGREGATION |
|
|
||||||
IEEE80211_HW_SPECTRUM_MGMT;
|
|
||||||
|
|
||||||
if (!priv->cfg->broken_powersave)
|
|
||||||
hw->flags |= IEEE80211_HW_SUPPORTS_PS |
|
|
||||||
IEEE80211_HW_SUPPORTS_DYNAMIC_PS;
|
|
||||||
|
|
||||||
hw->wiphy->interface_modes =
|
|
||||||
BIT(NL80211_IFTYPE_STATION) |
|
|
||||||
BIT(NL80211_IFTYPE_ADHOC);
|
|
||||||
|
|
||||||
hw->wiphy->custom_regulatory = true;
|
|
||||||
|
|
||||||
/* Firmware does not support this */
|
|
||||||
hw->wiphy->disable_beacon_hints = true;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* For now, disable PS by default because it affects
|
|
||||||
* RX performance significantly.
|
|
||||||
*/
|
|
||||||
hw->wiphy->ps_default = false;
|
|
||||||
|
|
||||||
hw->wiphy->max_scan_ssids = PROBE_OPTION_MAX;
|
|
||||||
/* we create the 802.11 header and a zero-length SSID element */
|
|
||||||
hw->wiphy->max_scan_ie_len = IWL_MAX_PROBE_REQUEST - 24 - 2;
|
|
||||||
|
|
||||||
/* Default value; 4 EDCA QOS priorities */
|
|
||||||
hw->queues = 4;
|
|
||||||
|
|
||||||
hw->max_listen_interval = IWL_CONN_MAX_LISTEN_INTERVAL;
|
|
||||||
|
|
||||||
if (priv->bands[IEEE80211_BAND_2GHZ].n_channels)
|
|
||||||
priv->hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
|
|
||||||
&priv->bands[IEEE80211_BAND_2GHZ];
|
|
||||||
if (priv->bands[IEEE80211_BAND_5GHZ].n_channels)
|
|
||||||
priv->hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
|
|
||||||
&priv->bands[IEEE80211_BAND_5GHZ];
|
|
||||||
|
|
||||||
ret = ieee80211_register_hw(priv->hw);
|
|
||||||
if (ret) {
|
|
||||||
IWL_ERR(priv, "Failed to register hw (error %d)\n", ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
priv->mac80211_registered = 1;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(iwl_setup_mac);
|
|
||||||
|
|
||||||
int iwl_set_hw_params(struct iwl_priv *priv)
|
int iwl_set_hw_params(struct iwl_priv *priv)
|
||||||
{
|
{
|
||||||
priv->hw_params.max_rxq_size = RX_QUEUE_SIZE;
|
priv->hw_params.max_rxq_size = RX_QUEUE_SIZE;
|
||||||
|
@@ -305,7 +305,6 @@ void iwl_configure_filter(struct ieee80211_hw *hw,
|
|||||||
unsigned int changed_flags,
|
unsigned int changed_flags,
|
||||||
unsigned int *total_flags, u64 multicast);
|
unsigned int *total_flags, u64 multicast);
|
||||||
int iwl_hw_nic_init(struct iwl_priv *priv);
|
int iwl_hw_nic_init(struct iwl_priv *priv);
|
||||||
int iwl_setup_mac(struct iwl_priv *priv);
|
|
||||||
int iwl_set_hw_params(struct iwl_priv *priv);
|
int iwl_set_hw_params(struct iwl_priv *priv);
|
||||||
int iwl_init_drv(struct iwl_priv *priv);
|
int iwl_init_drv(struct iwl_priv *priv);
|
||||||
void iwl_uninit_drv(struct iwl_priv *priv);
|
void iwl_uninit_drv(struct iwl_priv *priv);
|
||||||
|
Reference in New Issue
Block a user