aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-4965.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2007-10-25 05:15:51 -0400
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:03:25 -0500
commitc8b0e6e19c0bcd30689cb6c6f64eb140f5d61894 (patch)
tree5c9ef861d391a3d8d56f3e24cd9920f19161f7d2 /drivers/net/wireless/iwlwifi/iwl-4965.c
parent5d08cd1dfdc57dc834c47eb9f023fcf861f3d6bf (diff)
iwlwifi: cleanup Kconfig and ifdefs to split 3945 and 4965
Currently the iwl3945 & iwl4965 drivers share some common Kconfig symbols. This split it up into options for the individual drivers and gets rid of all the CONFIG_IWLWIFI cruft. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-4965.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.c92
1 files changed, 46 insertions, 46 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c
index f8f77fe41283..fed2357b7ef2 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965.c
+++ b/drivers/net/wireless/iwlwifi/iwl-4965.c
@@ -86,14 +86,14 @@ static int is_fat_channel(__le32 rxon_flags)
86 86
87static u8 is_single_stream(struct iwl_priv *priv) 87static u8 is_single_stream(struct iwl_priv *priv)
88{ 88{
89#ifdef CONFIG_IWLWIFI_HT 89#ifdef CONFIG_IWL4965_HT
90 if (!priv->is_ht_enabled || !priv->current_assoc_ht.is_ht || 90 if (!priv->is_ht_enabled || !priv->current_assoc_ht.is_ht ||
91 (priv->active_rate_ht[1] == 0) || 91 (priv->active_rate_ht[1] == 0) ||
92 (priv->ps_mode == IWL_MIMO_PS_STATIC)) 92 (priv->ps_mode == IWL_MIMO_PS_STATIC))
93 return 1; 93 return 1;
94#else 94#else
95 return 1; 95 return 1;
96#endif /*CONFIG_IWLWIFI_HT */ 96#endif /*CONFIG_IWL4965_HT */
97 return 0; 97 return 0;
98} 98}
99 99
@@ -743,7 +743,7 @@ void iwl4965_rf_kill_ct_config(struct iwl_priv *priv)
743 IWL_DEBUG_INFO("REPLY_CT_KILL_CONFIG_CMD succeeded\n"); 743 IWL_DEBUG_INFO("REPLY_CT_KILL_CONFIG_CMD succeeded\n");
744} 744}
745 745
746#ifdef CONFIG_IWLWIFI_SENSITIVITY 746#ifdef CONFIG_IWL4965_SENSITIVITY
747 747
748/* "false alarms" are signals that our DSP tries to lock onto, 748/* "false alarms" are signals that our DSP tries to lock onto,
749 * but then determines that they are either noise, or transmissions 749 * but then determines that they are either noise, or transmissions
@@ -1546,7 +1546,7 @@ static void iwl4965_bg_sensitivity_work(struct work_struct *work)
1546 mutex_unlock(&priv->mutex); 1546 mutex_unlock(&priv->mutex);
1547 return; 1547 return;
1548} 1548}
1549#endif /*CONFIG_IWLWIFI_SENSITIVITY*/ 1549#endif /*CONFIG_IWL4965_SENSITIVITY*/
1550 1550
1551static void iwl4965_bg_txpower_work(struct work_struct *work) 1551static void iwl4965_bg_txpower_work(struct work_struct *work)
1552{ 1552{
@@ -1638,7 +1638,7 @@ int iwl4965_alive_notify(struct iwl_priv *priv)
1638 1638
1639 spin_lock_irqsave(&priv->lock, flags); 1639 spin_lock_irqsave(&priv->lock, flags);
1640 1640
1641#ifdef CONFIG_IWLWIFI_SENSITIVITY 1641#ifdef CONFIG_IWL4965_SENSITIVITY
1642 memset(&(priv->sensitivity_data), 0, 1642 memset(&(priv->sensitivity_data), 0,
1643 sizeof(struct iwl_sensitivity_data)); 1643 sizeof(struct iwl_sensitivity_data));
1644 memset(&(priv->chain_noise_data), 0, 1644 memset(&(priv->chain_noise_data), 0,
@@ -1646,7 +1646,7 @@ int iwl4965_alive_notify(struct iwl_priv *priv)
1646 for (i = 0; i < NUM_RX_CHAINS; i++) 1646 for (i = 0; i < NUM_RX_CHAINS; i++)
1647 priv->chain_noise_data.delta_gain_code[i] = 1647 priv->chain_noise_data.delta_gain_code[i] =
1648 CHAIN_NOISE_DELTA_GAIN_INIT_VAL; 1648 CHAIN_NOISE_DELTA_GAIN_INIT_VAL;
1649#endif /* CONFIG_IWLWIFI_SENSITIVITY*/ 1649#endif /* CONFIG_IWL4965_SENSITIVITY*/
1650 rc = iwl_grab_nic_access(priv); 1650 rc = iwl_grab_nic_access(priv);
1651 if (rc) { 1651 if (rc) {
1652 spin_unlock_irqrestore(&priv->lock, flags); 1652 spin_unlock_irqrestore(&priv->lock, flags);
@@ -2814,8 +2814,8 @@ void iwl4965_set_rxon_chain(struct iwl_priv *priv)
2814 IWL_DEBUG_ASSOC("rx chain %X\n", priv->staging_rxon.rx_chain); 2814 IWL_DEBUG_ASSOC("rx chain %X\n", priv->staging_rxon.rx_chain);
2815} 2815}
2816 2816
2817#ifdef CONFIG_IWLWIFI_HT 2817#ifdef CONFIG_IWL4965_HT
2818#ifdef CONFIG_IWLWIFI_HT_AGG 2818#ifdef CONFIG_IWL4965_HT_AGG
2819/* 2819/*
2820 get the traffic load value for tid 2820 get the traffic load value for tid
2821*/ 2821*/
@@ -3149,8 +3149,8 @@ static void iwl4965_bg_agg_work(struct work_struct *work)
3149 spin_unlock_irqrestore(&priv->lq_mngr.lock, flags); 3149 spin_unlock_irqrestore(&priv->lq_mngr.lock, flags);
3150 return; 3150 return;
3151} 3151}
3152#endif /*CONFIG_IWLWIFI_HT_AGG */ 3152#endif /*CONFIG_IWL4965_HT_AGG */
3153#endif /* CONFIG_IWLWIFI_HT */ 3153#endif /* CONFIG_IWL4965_HT */
3154 3154
3155int iwl4965_tx_cmd(struct iwl_priv *priv, struct iwl_cmd *out_cmd, 3155int iwl4965_tx_cmd(struct iwl_priv *priv, struct iwl_cmd *out_cmd,
3156 u8 sta_id, dma_addr_t txcmd_phys, 3156 u8 sta_id, dma_addr_t txcmd_phys,
@@ -3165,11 +3165,11 @@ int iwl4965_tx_cmd(struct iwl_priv *priv, struct iwl_cmd *out_cmd,
3165 u16 fc; 3165 u16 fc;
3166 u16 rate_flags; 3166 u16 rate_flags;
3167 int rate_index = min(ctrl->tx_rate & 0xffff, IWL_RATE_COUNT - 1); 3167 int rate_index = min(ctrl->tx_rate & 0xffff, IWL_RATE_COUNT - 1);
3168#ifdef CONFIG_IWLWIFI_HT 3168#ifdef CONFIG_IWL4965_HT
3169#ifdef CONFIG_IWLWIFI_HT_AGG 3169#ifdef CONFIG_IWL4965_HT_AGG
3170 __le16 *qc; 3170 __le16 *qc;
3171#endif /*CONFIG_IWLWIFI_HT_AGG */ 3171#endif /*CONFIG_IWL4965_HT_AGG */
3172#endif /* CONFIG_IWLWIFI_HT */ 3172#endif /* CONFIG_IWL4965_HT */
3173 3173
3174 unicast = !is_multicast_ether_addr(hdr->addr1); 3174 unicast = !is_multicast_ether_addr(hdr->addr1);
3175 3175
@@ -3230,8 +3230,8 @@ int iwl4965_tx_cmd(struct iwl_priv *priv, struct iwl_cmd *out_cmd,
3230 if (ieee80211_is_back_request(fc)) 3230 if (ieee80211_is_back_request(fc))
3231 tx->tx_flags |= TX_CMD_FLG_ACK_MSK | 3231 tx->tx_flags |= TX_CMD_FLG_ACK_MSK |
3232 TX_CMD_FLG_IMM_BA_RSP_MASK; 3232 TX_CMD_FLG_IMM_BA_RSP_MASK;
3233#ifdef CONFIG_IWLWIFI_HT 3233#ifdef CONFIG_IWL4965_HT
3234#ifdef CONFIG_IWLWIFI_HT_AGG 3234#ifdef CONFIG_IWL4965_HT_AGG
3235 qc = ieee80211_get_qos_ctrl(hdr); 3235 qc = ieee80211_get_qos_ctrl(hdr);
3236 if (qc && 3236 if (qc &&
3237 (priv->iw_mode != IEEE80211_IF_TYPE_IBSS)) { 3237 (priv->iw_mode != IEEE80211_IF_TYPE_IBSS)) {
@@ -3443,7 +3443,7 @@ void iwl_hw_rx_statistics(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb)
3443 if (unlikely(!test_bit(STATUS_SCANNING, &priv->status)) && 3443 if (unlikely(!test_bit(STATUS_SCANNING, &priv->status)) &&
3444 (pkt->hdr.cmd == STATISTICS_NOTIFICATION)) { 3444 (pkt->hdr.cmd == STATISTICS_NOTIFICATION)) {
3445 iwl4965_rx_calc_noise(priv); 3445 iwl4965_rx_calc_noise(priv);
3446#ifdef CONFIG_IWLWIFI_SENSITIVITY 3446#ifdef CONFIG_IWL4965_SENSITIVITY
3447 queue_work(priv->workqueue, &priv->sensitivity_work); 3447 queue_work(priv->workqueue, &priv->sensitivity_work);
3448#endif 3448#endif
3449 } 3449 }
@@ -3596,7 +3596,7 @@ static int iwl4965_calc_rssi(struct iwl4965_rx_phy_res *rx_resp)
3596 return (max_rssi - agc - IWL_RSSI_OFFSET); 3596 return (max_rssi - agc - IWL_RSSI_OFFSET);
3597} 3597}
3598 3598
3599#ifdef CONFIG_IWLWIFI_HT 3599#ifdef CONFIG_IWL4965_HT
3600 3600
3601/* Parsed Information Elements */ 3601/* Parsed Information Elements */
3602struct ieee802_11_elems { 3602struct ieee802_11_elems {
@@ -3668,7 +3668,7 @@ static int parse_elems(u8 *start, size_t len, struct ieee802_11_elems *elems)
3668 3668
3669 return 0; 3669 return 0;
3670} 3670}
3671#endif /* CONFIG_IWLWIFI_HT */ 3671#endif /* CONFIG_IWL4965_HT */
3672 3672
3673static void iwl4965_sta_modify_ps_wake(struct iwl_priv *priv, int sta_id) 3673static void iwl4965_sta_modify_ps_wake(struct iwl_priv *priv, int sta_id)
3674{ 3674{
@@ -3728,9 +3728,9 @@ static void iwl4965_rx_reply_rx(struct iwl_priv *priv,
3728 .antenna = 0, 3728 .antenna = 0,
3729 .rate = iwl_hw_get_rate(rx_start->rate_n_flags), 3729 .rate = iwl_hw_get_rate(rx_start->rate_n_flags),
3730 .flag = 0, 3730 .flag = 0,
3731#ifdef CONFIG_IWLWIFI_HT_AGG 3731#ifdef CONFIG_IWL4965_HT_AGG
3732 .ordered = 0 3732 .ordered = 0
3733#endif /* CONFIG_IWLWIFI_HT_AGG */ 3733#endif /* CONFIG_IWL4965_HT_AGG */
3734 }; 3734 };
3735 u8 network_packet; 3735 u8 network_packet;
3736 3736
@@ -3802,7 +3802,7 @@ static void iwl4965_rx_reply_rx(struct iwl_priv *priv,
3802 if (!iwl_is_associated(priv)) 3802 if (!iwl_is_associated(priv))
3803 priv->last_rx_noise = IWL_NOISE_MEAS_NOT_AVAILABLE; 3803 priv->last_rx_noise = IWL_NOISE_MEAS_NOT_AVAILABLE;
3804 3804
3805#ifdef CONFIG_IWLWIFI_DEBUG 3805#ifdef CONFIG_IWL4965_DEBUG
3806 /* TODO: Parts of iwl_report_frame are broken for 4965 */ 3806 /* TODO: Parts of iwl_report_frame are broken for 4965 */
3807 if (iwl_debug_level & (IWL_DL_RX)) 3807 if (iwl_debug_level & (IWL_DL_RX))
3808 /* Set "1" to report good data frames in groups of 100 */ 3808 /* Set "1" to report good data frames in groups of 100 */
@@ -3866,10 +3866,10 @@ static void iwl4965_rx_reply_rx(struct iwl_priv *priv,
3866 case IEEE80211_STYPE_ASSOC_RESP: 3866 case IEEE80211_STYPE_ASSOC_RESP:
3867 case IEEE80211_STYPE_REASSOC_RESP: 3867 case IEEE80211_STYPE_REASSOC_RESP:
3868 if (network_packet) { 3868 if (network_packet) {
3869#ifdef CONFIG_IWLWIFI_HT 3869#ifdef CONFIG_IWL4965_HT
3870 u8 *pos = NULL; 3870 u8 *pos = NULL;
3871 struct ieee802_11_elems elems; 3871 struct ieee802_11_elems elems;
3872#endif /*CONFIG_IWLWIFI_HT */ 3872#endif /*CONFIG_IWL4965_HT */
3873 struct ieee80211_mgmt *mgnt = 3873 struct ieee80211_mgmt *mgnt =
3874 (struct ieee80211_mgmt *)header; 3874 (struct ieee80211_mgmt *)header;
3875 3875
@@ -3878,7 +3878,7 @@ static void iwl4965_rx_reply_rx(struct iwl_priv *priv,
3878 priv->assoc_capability = 3878 priv->assoc_capability =
3879 le16_to_cpu( 3879 le16_to_cpu(
3880 mgnt->u.assoc_resp.capab_info); 3880 mgnt->u.assoc_resp.capab_info);
3881#ifdef CONFIG_IWLWIFI_HT 3881#ifdef CONFIG_IWL4965_HT
3882 pos = mgnt->u.assoc_resp.variable; 3882 pos = mgnt->u.assoc_resp.variable;
3883 if (!parse_elems(pos, 3883 if (!parse_elems(pos,
3884 len - (pos - (u8 *) mgnt), 3884 len - (pos - (u8 *) mgnt),
@@ -3887,7 +3887,7 @@ static void iwl4965_rx_reply_rx(struct iwl_priv *priv,
3887 elems.ht_cap_param) 3887 elems.ht_cap_param)
3888 break; 3888 break;
3889 } 3889 }
3890#endif /*CONFIG_IWLWIFI_HT */ 3890#endif /*CONFIG_IWL4965_HT */
3891 /* assoc_id is 0 no association */ 3891 /* assoc_id is 0 no association */
3892 if (!priv->assoc_id) 3892 if (!priv->assoc_id)
3893 break; 3893 break;
@@ -3919,7 +3919,7 @@ static void iwl4965_rx_reply_rx(struct iwl_priv *priv,
3919 break; 3919 break;
3920 3920
3921 case IEEE80211_FTYPE_CTL: 3921 case IEEE80211_FTYPE_CTL:
3922#ifdef CONFIG_IWLWIFI_HT_AGG 3922#ifdef CONFIG_IWL4965_HT_AGG
3923 switch (fc & IEEE80211_FCTL_STYPE) { 3923 switch (fc & IEEE80211_FCTL_STYPE) {
3924 case IEEE80211_STYPE_BACK_REQ: 3924 case IEEE80211_STYPE_BACK_REQ:
3925 IWL_DEBUG_HT("IEEE80211_STYPE_BACK_REQ arrived\n"); 3925 IWL_DEBUG_HT("IEEE80211_STYPE_BACK_REQ arrived\n");
@@ -3979,7 +3979,7 @@ static void iwl4965_rx_missed_beacon_notif(struct iwl_priv *priv,
3979 struct iwl_rx_mem_buffer *rxb) 3979 struct iwl_rx_mem_buffer *rxb)
3980 3980
3981{ 3981{
3982#ifdef CONFIG_IWLWIFI_SENSITIVITY 3982#ifdef CONFIG_IWL4965_SENSITIVITY
3983 struct iwl_rx_packet *pkt = (void *)rxb->skb->data; 3983 struct iwl_rx_packet *pkt = (void *)rxb->skb->data;
3984 struct iwl_missed_beacon_notif *missed_beacon; 3984 struct iwl_missed_beacon_notif *missed_beacon;
3985 3985
@@ -3994,11 +3994,11 @@ static void iwl4965_rx_missed_beacon_notif(struct iwl_priv *priv,
3994 if (unlikely(!test_bit(STATUS_SCANNING, &priv->status))) 3994 if (unlikely(!test_bit(STATUS_SCANNING, &priv->status)))
3995 queue_work(priv->workqueue, &priv->sensitivity_work); 3995 queue_work(priv->workqueue, &priv->sensitivity_work);
3996 } 3996 }
3997#endif /*CONFIG_IWLWIFI_SENSITIVITY*/ 3997#endif /*CONFIG_IWL4965_SENSITIVITY*/
3998} 3998}
3999 3999
4000#ifdef CONFIG_IWLWIFI_HT 4000#ifdef CONFIG_IWL4965_HT
4001#ifdef CONFIG_IWLWIFI_HT_AGG 4001#ifdef CONFIG_IWL4965_HT_AGG
4002 4002
4003static void iwl4965_set_tx_status(struct iwl_priv *priv, int txq_id, int idx, 4003static void iwl4965_set_tx_status(struct iwl_priv *priv, int txq_id, int idx,
4004 u32 status, u32 retry_count, u32 rate) 4004 u32 status, u32 retry_count, u32 rate)
@@ -4267,8 +4267,8 @@ static int iwl4965_tx_queue_agg_disable(struct iwl_priv *priv, u16 txq_id,
4267 return 0; 4267 return 0;
4268} 4268}
4269 4269
4270#endif/* CONFIG_IWLWIFI_HT_AGG */ 4270#endif/* CONFIG_IWL4965_HT_AGG */
4271#endif /* CONFIG_IWLWIFI_HT */ 4271#endif /* CONFIG_IWL4965_HT */
4272/* 4272/*
4273 * RATE SCALE CODE 4273 * RATE SCALE CODE
4274 */ 4274 */
@@ -4331,7 +4331,7 @@ void iwl4965_add_station(struct iwl_priv *priv, const u8 *addr, int is_ap)
4331 &link_cmd); 4331 &link_cmd);
4332} 4332}
4333 4333
4334#ifdef CONFIG_IWLWIFI_HT 4334#ifdef CONFIG_IWL4965_HT
4335 4335
4336static u8 iwl_is_channel_extension(struct iwl_priv *priv, int phymode, 4336static u8 iwl_is_channel_extension(struct iwl_priv *priv, int phymode,
4337 u16 channel, u8 extension_chan_offset) 4337 u16 channel, u8 extension_chan_offset)
@@ -4468,7 +4468,7 @@ void iwl4965_set_ht_add_station(struct iwl_priv *priv, u8 index)
4468 return; 4468 return;
4469} 4469}
4470 4470
4471#ifdef CONFIG_IWLWIFI_HT_AGG 4471#ifdef CONFIG_IWL4965_HT_AGG
4472 4472
4473static void iwl4965_sta_modify_add_ba_tid(struct iwl_priv *priv, 4473static void iwl4965_sta_modify_add_ba_tid(struct iwl_priv *priv,
4474 int sta_id, int tid, u16 ssn) 4474 int sta_id, int tid, u16 ssn)
@@ -4642,8 +4642,8 @@ int iwl_mac_ht_rx_agg_stop(struct ieee80211_hw *hw, u8 *da,
4642 return 0; 4642 return 0;
4643} 4643}
4644 4644
4645#endif /* CONFIG_IWLWIFI_HT_AGG */ 4645#endif /* CONFIG_IWL4965_HT_AGG */
4646#endif /* CONFIG_IWLWIFI_HT */ 4646#endif /* CONFIG_IWL4965_HT */
4647 4647
4648/* Set up 4965-specific Rx frame reply handlers */ 4648/* Set up 4965-specific Rx frame reply handlers */
4649void iwl_hw_rx_handler_setup(struct iwl_priv *priv) 4649void iwl_hw_rx_handler_setup(struct iwl_priv *priv)
@@ -4658,25 +4658,25 @@ void iwl_hw_rx_handler_setup(struct iwl_priv *priv)
4658 priv->rx_handlers[MISSED_BEACONS_NOTIFICATION] = 4658 priv->rx_handlers[MISSED_BEACONS_NOTIFICATION] =
4659 iwl4965_rx_missed_beacon_notif; 4659 iwl4965_rx_missed_beacon_notif;
4660 4660
4661#ifdef CONFIG_IWLWIFI_HT 4661#ifdef CONFIG_IWL4965_HT
4662#ifdef CONFIG_IWLWIFI_HT_AGG 4662#ifdef CONFIG_IWL4965_HT_AGG
4663 priv->rx_handlers[REPLY_COMPRESSED_BA] = iwl4965_rx_reply_compressed_ba; 4663 priv->rx_handlers[REPLY_COMPRESSED_BA] = iwl4965_rx_reply_compressed_ba;
4664#endif /* CONFIG_IWLWIFI_AGG */ 4664#endif /* CONFIG_IWL4965_HT_AGG */
4665#endif /* CONFIG_IWLWIFI */ 4665#endif /* CONFIG_IWL4965_HT */
4666} 4666}
4667 4667
4668void iwl_hw_setup_deferred_work(struct iwl_priv *priv) 4668void iwl_hw_setup_deferred_work(struct iwl_priv *priv)
4669{ 4669{
4670 INIT_WORK(&priv->txpower_work, iwl4965_bg_txpower_work); 4670 INIT_WORK(&priv->txpower_work, iwl4965_bg_txpower_work);
4671 INIT_WORK(&priv->statistics_work, iwl4965_bg_statistics_work); 4671 INIT_WORK(&priv->statistics_work, iwl4965_bg_statistics_work);
4672#ifdef CONFIG_IWLWIFI_SENSITIVITY 4672#ifdef CONFIG_IWL4965_SENSITIVITY
4673 INIT_WORK(&priv->sensitivity_work, iwl4965_bg_sensitivity_work); 4673 INIT_WORK(&priv->sensitivity_work, iwl4965_bg_sensitivity_work);
4674#endif 4674#endif
4675#ifdef CONFIG_IWLWIFI_HT 4675#ifdef CONFIG_IWL4965_HT
4676#ifdef CONFIG_IWLWIFI_HT_AGG 4676#ifdef CONFIG_IWL4965_HT_AGG
4677 INIT_WORK(&priv->agg_work, iwl4965_bg_agg_work); 4677 INIT_WORK(&priv->agg_work, iwl4965_bg_agg_work);
4678#endif /* CONFIG_IWLWIFI_AGG */ 4678#endif /* CONFIG_IWL4965_AGG */
4679#endif /* CONFIG_IWLWIFI_HT */ 4679#endif /* CONFIG_IWL4965_HT */
4680 init_timer(&priv->statistics_periodic); 4680 init_timer(&priv->statistics_periodic);
4681 priv->statistics_periodic.data = (unsigned long)priv; 4681 priv->statistics_periodic.data = (unsigned long)priv;
4682 priv->statistics_periodic.function = iwl4965_bg_statistics_periodic; 4682 priv->statistics_periodic.function = iwl4965_bg_statistics_periodic;