aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2008-04-15 19:01:47 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-04-16 16:00:02 -0400
commitfcc76c6b3367e654377d61403f4945ac85c4b651 (patch)
tree9c4d50139868dee48ef0940abd1103c6e4fb7092
parent59003835020ed696e941df2f8a50210bdc6e246c (diff)
iwlwifi: Use HW acceleration decryption by default
This patch reverses the hw_crypto logic and makes HW crypto a default. Giving swcrypto=1 as parameter to the module disables HW crypto. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.c7
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.h2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c4
3 files changed, 6 insertions, 7 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c
index b072523c63e..17f629fb96f 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965.c
+++ b/drivers/net/wireless/iwlwifi/iwl-4965.c
@@ -3691,7 +3691,7 @@ static void iwl4965_handle_data_packet(struct iwl_priv *priv, int is_data,
3691 stats->flag = 0; 3691 stats->flag = 0;
3692 hdr = (struct ieee80211_hdr *)rxb->skb->data; 3692 hdr = (struct ieee80211_hdr *)rxb->skb->data;
3693 3693
3694 if (priv->cfg->mod_params->hw_crypto) 3694 if (!priv->cfg->mod_params->sw_crypto)
3695 iwl4965_set_decrypted_flag(priv, rxb->skb, ampdu_status, stats); 3695 iwl4965_set_decrypted_flag(priv, rxb->skb, ampdu_status, stats);
3696 3696
3697 if (priv->add_radiotap) 3697 if (priv->add_radiotap)
@@ -4988,9 +4988,8 @@ module_param_named(antenna, iwl4965_mod_params.antenna, int, 0444);
4988MODULE_PARM_DESC(antenna, "select antenna (1=Main, 2=Aux, default 0 [both])"); 4988MODULE_PARM_DESC(antenna, "select antenna (1=Main, 2=Aux, default 0 [both])");
4989module_param_named(disable, iwl4965_mod_params.disable, int, 0444); 4989module_param_named(disable, iwl4965_mod_params.disable, int, 0444);
4990MODULE_PARM_DESC(disable, "manually disable the radio (default 0 [radio on])"); 4990MODULE_PARM_DESC(disable, "manually disable the radio (default 0 [radio on])");
4991module_param_named(hwcrypto, iwl4965_mod_params.hw_crypto, int, 0444); 4991module_param_named(swcrypto, iwl4965_mod_params.sw_crypto, int, 0444);
4992MODULE_PARM_DESC(hwcrypto, 4992MODULE_PARM_DESC(swcrypto, "using crypto in software (default 0 [hardware])\n");
4993 "using hardware crypto engine (default 0 [software])\n");
4994module_param_named(debug, iwl4965_mod_params.debug, int, 0444); 4993module_param_named(debug, iwl4965_mod_params.debug, int, 0444);
4995MODULE_PARM_DESC(debug, "debug output mask"); 4994MODULE_PARM_DESC(debug, "debug output mask");
4996module_param_named( 4995module_param_named(
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h
index e22563ad352..7193d97630d 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.h
+++ b/drivers/net/wireless/iwlwifi/iwl-core.h
@@ -120,7 +120,7 @@ struct iwl_ops {
120 120
121struct iwl_mod_params { 121struct iwl_mod_params {
122 int disable; /* def: 0 = enable radio */ 122 int disable; /* def: 0 = enable radio */
123 int hw_crypto; /* def: 0 = using software encryption */ 123 int sw_crypto; /* def: 0 = using hardware encryption */
124 int debug; /* def: 0 = minimal debug log messages */ 124 int debug; /* def: 0 = minimal debug log messages */
125 int disable_hw_scan; /* def: 0 = use h/w scan */ 125 int disable_hw_scan; /* def: 0 = use h/w scan */
126 int num_of_queues; /* def: HW dependent */ 126 int num_of_queues; /* def: HW dependent */
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index dae881e4729..d7e2358a213 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -835,7 +835,7 @@ static int iwl4965_commit_rxon(struct iwl_priv *priv)
835 le16_to_cpu(priv->staging_rxon.channel), 835 le16_to_cpu(priv->staging_rxon.channel),
836 print_mac(mac, priv->staging_rxon.bssid_addr)); 836 print_mac(mac, priv->staging_rxon.bssid_addr));
837 837
838 iwl4965_set_rxon_hwcrypto(priv, priv->cfg->mod_params->hw_crypto); 838 iwl4965_set_rxon_hwcrypto(priv, !priv->cfg->mod_params->sw_crypto);
839 /* Apply the new configuration */ 839 /* Apply the new configuration */
840 rc = iwl_send_cmd_pdu(priv, REPLY_RXON, 840 rc = iwl_send_cmd_pdu(priv, REPLY_RXON,
841 sizeof(struct iwl4965_rxon_cmd), &priv->staging_rxon); 841 sizeof(struct iwl4965_rxon_cmd), &priv->staging_rxon);
@@ -6840,7 +6840,7 @@ static int iwl4965_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
6840 6840
6841 IWL_DEBUG_MAC80211("enter\n"); 6841 IWL_DEBUG_MAC80211("enter\n");
6842 6842
6843 if (!priv->cfg->mod_params->hw_crypto) { 6843 if (priv->cfg->mod_params->sw_crypto) {
6844 IWL_DEBUG_MAC80211("leave - hwcrypto disabled\n"); 6844 IWL_DEBUG_MAC80211("leave - hwcrypto disabled\n");
6845 return -EOPNOTSUPP; 6845 return -EOPNOTSUPP;
6846 } 6846 }