aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-3945.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-3945.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-3945.h40
1 files changed, 18 insertions, 22 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.h b/drivers/net/wireless/iwlwifi/iwl-3945.h
index bdd32475b99c..2c0ddc5110c6 100644
--- a/drivers/net/wireless/iwlwifi/iwl-3945.h
+++ b/drivers/net/wireless/iwlwifi/iwl-3945.h
@@ -19,7 +19,7 @@
19 * file called LICENSE. 19 * file called LICENSE.
20 * 20 *
21 * Contact Information: 21 * Contact Information:
22 * James P. Ketrenos <ipw2100-admin@linux.intel.com> 22 * Intel Linux Wireless <ilw@linux.intel.com>
23 * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 23 * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
24 * 24 *
25 *****************************************************************************/ 25 *****************************************************************************/
@@ -50,11 +50,15 @@ extern struct pci_device_id iwl3945_hw_card_ids[];
50#include "iwl-3945-debug.h" 50#include "iwl-3945-debug.h"
51#include "iwl-3945-led.h" 51#include "iwl-3945-led.h"
52 52
53/* Change firmware file name, using "-" and incrementing number, 53/* Highest firmware API version supported */
54 * *only* when uCode interface or architecture changes so that it 54#define IWL3945_UCODE_API_MAX 2
55 * is not compatible with earlier drivers. 55
56 * This number will also appear in << 8 position of 1st dword of uCode file */ 56/* Lowest firmware API version supported */
57#define IWL3945_UCODE_API "-1" 57#define IWL3945_UCODE_API_MIN 1
58
59#define IWL3945_FW_PRE "iwlwifi-3945-"
60#define _IWL3945_MODULE_FIRMWARE(api) IWL3945_FW_PRE #api ".ucode"
61#define IWL3945_MODULE_FIRMWARE(api) _IWL3945_MODULE_FIRMWARE(api)
58 62
59/* Default noise level to report when noise measurement is not available. 63/* Default noise level to report when noise measurement is not available.
60 * This may be because we're: 64 * This may be because we're:
@@ -401,12 +405,6 @@ struct iwl3945_rx_queue {
401 405
402#define SCAN_INTERVAL 100 406#define SCAN_INTERVAL 100
403 407
404#define MAX_A_CHANNELS 252
405#define MIN_A_CHANNELS 7
406
407#define MAX_B_CHANNELS 14
408#define MIN_B_CHANNELS 1
409
410#define STATUS_HCMD_ACTIVE 0 /* host command in progress */ 408#define STATUS_HCMD_ACTIVE 0 /* host command in progress */
411#define STATUS_HCMD_SYNC_ACTIVE 1 /* sync host command in progress */ 409#define STATUS_HCMD_SYNC_ACTIVE 1 /* sync host command in progress */
412#define STATUS_INT_ENABLED 2 410#define STATUS_INT_ENABLED 2
@@ -472,7 +470,6 @@ union iwl3945_qos_capabity {
472 470
473/* QoS structures */ 471/* QoS structures */
474struct iwl3945_qos_info { 472struct iwl3945_qos_info {
475 int qos_enable;
476 int qos_active; 473 int qos_active;
477 union iwl3945_qos_capabity qos_cap; 474 union iwl3945_qos_capabity qos_cap;
478 struct iwl3945_qosparam_cmd def_qos_parm; 475 struct iwl3945_qosparam_cmd def_qos_parm;
@@ -505,7 +502,7 @@ struct fw_desc {
505 502
506/* uCode file layout */ 503/* uCode file layout */
507struct iwl3945_ucode { 504struct iwl3945_ucode {
508 __le32 ver; /* major/minor/subminor */ 505 __le32 ver; /* major/minor/API/serial */
509 __le32 inst_size; /* bytes of runtime instructions */ 506 __le32 inst_size; /* bytes of runtime instructions */
510 __le32 data_size; /* bytes of runtime data */ 507 __le32 data_size; /* bytes of runtime data */
511 __le32 init_size; /* bytes of initialization instructions */ 508 __le32 init_size; /* bytes of initialization instructions */
@@ -587,8 +584,7 @@ extern int iwl3945_send_cmd_pdu(struct iwl3945_priv *priv, u8 id, u16 len,
587extern int __must_check iwl3945_send_cmd(struct iwl3945_priv *priv, 584extern int __must_check iwl3945_send_cmd(struct iwl3945_priv *priv,
588 struct iwl3945_host_cmd *cmd); 585 struct iwl3945_host_cmd *cmd);
589extern unsigned int iwl3945_fill_beacon_frame(struct iwl3945_priv *priv, 586extern unsigned int iwl3945_fill_beacon_frame(struct iwl3945_priv *priv,
590 struct ieee80211_hdr *hdr, 587 struct ieee80211_hdr *hdr,int left);
591 const u8 *dest, int left);
592extern int iwl3945_rx_queue_update_write_ptr(struct iwl3945_priv *priv, 588extern int iwl3945_rx_queue_update_write_ptr(struct iwl3945_priv *priv,
593 struct iwl3945_rx_queue *q); 589 struct iwl3945_rx_queue *q);
594extern int iwl3945_send_statistics_request(struct iwl3945_priv *priv); 590extern int iwl3945_send_statistics_request(struct iwl3945_priv *priv);
@@ -762,6 +758,8 @@ struct iwl3945_priv {
762 void __iomem *hw_base; 758 void __iomem *hw_base;
763 759
764 /* uCode images, save to reload in case of failure */ 760 /* uCode images, save to reload in case of failure */
761 u32 ucode_ver; /* ucode version, copy of
762 iwl3945_ucode.ver */
765 struct fw_desc ucode_code; /* runtime inst */ 763 struct fw_desc ucode_code; /* runtime inst */
766 struct fw_desc ucode_data; /* runtime data original */ 764 struct fw_desc ucode_data; /* runtime data original */
767 struct fw_desc ucode_data_backup; /* runtime data save/restore */ 765 struct fw_desc ucode_data_backup; /* runtime data save/restore */
@@ -804,6 +802,8 @@ struct iwl3945_priv {
804 u16 active_rate; 802 u16 active_rate;
805 u16 active_rate_basic; 803 u16 active_rate_basic;
806 804
805 u32 sta_supp_rates;
806
807 u8 call_post_assoc_from_beacon; 807 u8 call_post_assoc_from_beacon;
808 /* Rate scaling data */ 808 /* Rate scaling data */
809 s8 data_retry_limit; 809 s8 data_retry_limit;
@@ -828,8 +828,6 @@ struct iwl3945_priv {
828 unsigned long last_statistics_time; 828 unsigned long last_statistics_time;
829 829
830 /* context information */ 830 /* context information */
831 u8 essid[IW_ESSID_MAX_SIZE];
832 u8 essid_len;
833 u16 rates_mask; 831 u16 rates_mask;
834 832
835 u32 power_mode; 833 u32 power_mode;
@@ -888,7 +886,6 @@ struct iwl3945_priv {
888 struct work_struct report_work; 886 struct work_struct report_work;
889 struct work_struct request_scan; 887 struct work_struct request_scan;
890 struct work_struct beacon_update; 888 struct work_struct beacon_update;
891 struct work_struct set_monitor;
892 889
893 struct tasklet_struct irq_tasklet; 890 struct tasklet_struct irq_tasklet;
894 891
@@ -903,9 +900,6 @@ struct iwl3945_priv {
903 s8 user_txpower_limit; 900 s8 user_txpower_limit;
904 s8 max_channel_txpower_limit; 901 s8 max_channel_txpower_limit;
905 902
906#ifdef CONFIG_PM
907 u32 pm_state[16];
908#endif
909 903
910#ifdef CONFIG_IWL3945_DEBUG 904#ifdef CONFIG_IWL3945_DEBUG
911 /* debugging info */ 905 /* debugging info */
@@ -954,6 +948,8 @@ static inline int is_channel_ibss(const struct iwl3945_channel_info *ch)
954extern const struct iwl3945_channel_info *iwl3945_get_channel_info( 948extern const struct iwl3945_channel_info *iwl3945_get_channel_info(
955 const struct iwl3945_priv *priv, enum ieee80211_band band, u16 channel); 949 const struct iwl3945_priv *priv, enum ieee80211_band band, u16 channel);
956 950
951extern int iwl3945_rs_next_rate(struct iwl3945_priv *priv, int rate);
952
957/* Requires full declaration of iwl3945_priv before including */ 953/* Requires full declaration of iwl3945_priv before including */
958#include "iwl-3945-io.h" 954#include "iwl-3945-io.h"
959 955