aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-dev.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-dev.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-dev.h183
1 files changed, 59 insertions, 124 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h
index 9966d4e384ce..0468fcc1ea98 100644
--- a/drivers/net/wireless/iwlwifi/iwl-dev.h
+++ b/drivers/net/wireless/iwlwifi/iwl-dev.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 *****************************************************************************/
@@ -54,6 +54,7 @@ extern struct iwl_cfg iwl5100_agn_cfg;
54extern struct iwl_cfg iwl5350_agn_cfg; 54extern struct iwl_cfg iwl5350_agn_cfg;
55extern struct iwl_cfg iwl5100_bg_cfg; 55extern struct iwl_cfg iwl5100_bg_cfg;
56extern struct iwl_cfg iwl5100_abg_cfg; 56extern struct iwl_cfg iwl5100_abg_cfg;
57extern struct iwl_cfg iwl5150_agn_cfg;
57 58
58/* CT-KILL constants */ 59/* CT-KILL constants */
59#define CT_KILL_THRESHOLD 110 /* in Celsius */ 60#define CT_KILL_THRESHOLD 110 /* in Celsius */
@@ -113,11 +114,9 @@ struct iwl_queue {
113 * space less than this */ 114 * space less than this */
114} __attribute__ ((packed)); 115} __attribute__ ((packed));
115 116
116#define MAX_NUM_OF_TBS (20)
117
118/* One for each TFD */ 117/* One for each TFD */
119struct iwl_tx_info { 118struct iwl_tx_info {
120 struct sk_buff *skb[MAX_NUM_OF_TBS]; 119 struct sk_buff *skb[IWL_NUM_OF_TBS - 1];
121}; 120};
122 121
123/** 122/**
@@ -135,12 +134,13 @@ struct iwl_tx_info {
135 */ 134 */
136struct iwl_tx_queue { 135struct iwl_tx_queue {
137 struct iwl_queue q; 136 struct iwl_queue q;
138 struct iwl_tfd_frame *bd; 137 struct iwl_tfd *tfds;
139 struct iwl_cmd *cmd[TFD_TX_CMD_SLOTS]; 138 struct iwl_cmd *cmd[TFD_TX_CMD_SLOTS];
140 struct iwl_tx_info *txb; 139 struct iwl_tx_info *txb;
141 int need_update; 140 u8 need_update;
142 int sched_retry; 141 u8 sched_retry;
143 int active; 142 u8 active;
143 u8 swq_id;
144}; 144};
145 145
146#define IWL_NUM_SCAN_RATES (2) 146#define IWL_NUM_SCAN_RATES (2)
@@ -186,12 +186,6 @@ struct iwl_channel_info {
186 u8 fat_extension_channel; /* HT_IE_EXT_CHANNEL_* */ 186 u8 fat_extension_channel; /* HT_IE_EXT_CHANNEL_* */
187}; 187};
188 188
189struct iwl4965_clip_group {
190 /* maximum power level to prevent clipping for each rate, derived by
191 * us from this band's saturation power in EEPROM */
192 const s8 clip_powers[IWL_MAX_RATES];
193};
194
195 189
196#define IWL_TX_FIFO_AC0 0 190#define IWL_TX_FIFO_AC0 0
197#define IWL_TX_FIFO_AC1 1 191#define IWL_TX_FIFO_AC1 1
@@ -253,7 +247,8 @@ struct iwl_cmd_meta {
253 /* The CMD_SIZE_HUGE flag bit indicates that the command 247 /* The CMD_SIZE_HUGE flag bit indicates that the command
254 * structure is stored at the end of the shared queue memory. */ 248 * structure is stored at the end of the shared queue memory. */
255 u32 flags; 249 u32 flags;
256 250 DECLARE_PCI_UNMAP_ADDR(mapping)
251 DECLARE_PCI_UNMAP_LEN(len)
257} __attribute__ ((packed)); 252} __attribute__ ((packed));
258 253
259#define IWL_CMD_MAX_PAYLOAD 320 254#define IWL_CMD_MAX_PAYLOAD 320
@@ -269,24 +264,16 @@ struct iwl_cmd {
269 struct iwl_cmd_meta meta; /* driver data */ 264 struct iwl_cmd_meta meta; /* driver data */
270 struct iwl_cmd_header hdr; /* uCode API */ 265 struct iwl_cmd_header hdr; /* uCode API */
271 union { 266 union {
272 struct iwl_addsta_cmd addsta;
273 struct iwl_led_cmd led;
274 u32 flags; 267 u32 flags;
275 u8 val8; 268 u8 val8;
276 u16 val16; 269 u16 val16;
277 u32 val32; 270 u32 val32;
278 struct iwl4965_bt_cmd bt;
279 struct iwl4965_rxon_time_cmd rxon_time;
280 struct iwl_powertable_cmd powertable;
281 struct iwl_qosparam_cmd qosparam;
282 struct iwl_tx_cmd tx; 271 struct iwl_tx_cmd tx;
283 struct iwl4965_rxon_assoc_cmd rxon_assoc;
284 struct iwl_rem_sta_cmd rm_sta;
285 u8 *indirect;
286 u8 payload[IWL_CMD_MAX_PAYLOAD]; 272 u8 payload[IWL_CMD_MAX_PAYLOAD];
287 } __attribute__ ((packed)) cmd; 273 } __attribute__ ((packed)) cmd;
288} __attribute__ ((packed)); 274} __attribute__ ((packed));
289 275
276
290struct iwl_host_cmd { 277struct iwl_host_cmd {
291 u8 id; 278 u8 id;
292 u16 len; 279 u16 len;
@@ -309,7 +296,6 @@ struct iwl_host_cmd {
309 296
310/** 297/**
311 * struct iwl_rx_queue - Rx queue 298 * struct iwl_rx_queue - Rx queue
312 * @processed: Internal index to last handled Rx packet
313 * @read: Shared index to newest available Rx buffer 299 * @read: Shared index to newest available Rx buffer
314 * @write: Shared index to oldest written Rx packet 300 * @write: Shared index to oldest written Rx packet
315 * @free_count: Number of pre-allocated buffers in rx_free 301 * @free_count: Number of pre-allocated buffers in rx_free
@@ -324,26 +310,19 @@ struct iwl_rx_queue {
324 dma_addr_t dma_addr; 310 dma_addr_t dma_addr;
325 struct iwl_rx_mem_buffer pool[RX_QUEUE_SIZE + RX_FREE_BUFFERS]; 311 struct iwl_rx_mem_buffer pool[RX_QUEUE_SIZE + RX_FREE_BUFFERS];
326 struct iwl_rx_mem_buffer *queue[RX_QUEUE_SIZE]; 312 struct iwl_rx_mem_buffer *queue[RX_QUEUE_SIZE];
327 u32 processed;
328 u32 read; 313 u32 read;
329 u32 write; 314 u32 write;
330 u32 free_count; 315 u32 free_count;
331 struct list_head rx_free; 316 struct list_head rx_free;
332 struct list_head rx_used; 317 struct list_head rx_used;
333 int need_update; 318 int need_update;
319 struct iwl_rb_status *rb_stts;
320 dma_addr_t rb_stts_dma;
334 spinlock_t lock; 321 spinlock_t lock;
335}; 322};
336 323
337#define IWL_SUPPORTED_RATES_IE_LEN 8 324#define IWL_SUPPORTED_RATES_IE_LEN 8
338 325
339#define SCAN_INTERVAL 100
340
341#define MAX_A_CHANNELS 252
342#define MIN_A_CHANNELS 7
343
344#define MAX_B_CHANNELS 14
345#define MIN_B_CHANNELS 1
346
347#define MAX_TID_COUNT 9 326#define MAX_TID_COUNT 9
348 327
349#define IWL_INVALID_RATE 0xFF 328#define IWL_INVALID_RATE 0xFF
@@ -413,9 +392,8 @@ struct iwl_ht_info {
413 u8 max_amsdu_size; 392 u8 max_amsdu_size;
414 u8 ampdu_factor; 393 u8 ampdu_factor;
415 u8 mpdu_density; 394 u8 mpdu_density;
416 u8 supp_mcs_set[16]; 395 struct ieee80211_mcs_info mcs;
417 /* BSS related data */ 396 /* BSS related data */
418 u8 control_channel;
419 u8 extension_chan_offset; 397 u8 extension_chan_offset;
420 u8 tx_chan_width; 398 u8 tx_chan_width;
421 u8 ht_protection; 399 u8 ht_protection;
@@ -444,7 +422,6 @@ union iwl_qos_capabity {
444 422
445/* QoS structures */ 423/* QoS structures */
446struct iwl_qos_info { 424struct iwl_qos_info {
447 int qos_enable;
448 int qos_active; 425 int qos_active;
449 union iwl_qos_capabity qos_cap; 426 union iwl_qos_capabity qos_cap;
450 struct iwl_qosparam_cmd def_qos_parm; 427 struct iwl_qosparam_cmd def_qos_parm;
@@ -470,7 +447,7 @@ struct fw_desc {
470 447
471/* uCode file layout */ 448/* uCode file layout */
472struct iwl_ucode { 449struct iwl_ucode {
473 __le32 ver; /* major/minor/subminor */ 450 __le32 ver; /* major/minor/API/serial */
474 __le32 inst_size; /* bytes of runtime instructions */ 451 __le32 inst_size; /* bytes of runtime instructions */
475 __le32 data_size; /* bytes of runtime data */ 452 __le32 data_size; /* bytes of runtime data */
476 __le32 init_size; /* bytes of initialization instructions */ 453 __le32 init_size; /* bytes of initialization instructions */
@@ -511,11 +488,15 @@ struct iwl_sensitivity_ranges {
511}; 488};
512 489
513 490
514#define IWL_FAT_CHANNEL_52 BIT(IEEE80211_BAND_5GHZ) 491#define KELVIN_TO_CELSIUS(x) ((x)-273)
492#define CELSIUS_TO_KELVIN(x) ((x)+273)
493
515 494
516/** 495/**
517 * struct iwl_hw_params 496 * struct iwl_hw_params
518 * @max_txq_num: Max # Tx queues supported 497 * @max_txq_num: Max # Tx queues supported
498 * @dma_chnl_num: Number of Tx DMA/FIFO channels
499 * @scd_bc_tbls_size: size of scheduler byte count tables
519 * @tx/rx_chains_num: Number of TX/RX chains 500 * @tx/rx_chains_num: Number of TX/RX chains
520 * @valid_tx/rx_ant: usable antennas 501 * @valid_tx/rx_ant: usable antennas
521 * @max_rxq_size: Max # Rx frames in Rx queue (must be power-of-2) 502 * @max_rxq_size: Max # Rx frames in Rx queue (must be power-of-2)
@@ -528,11 +509,13 @@ struct iwl_sensitivity_ranges {
528 * @sw_crypto: 0 for hw, 1 for sw 509 * @sw_crypto: 0 for hw, 1 for sw
529 * @max_xxx_size: for ucode uses 510 * @max_xxx_size: for ucode uses
530 * @ct_kill_threshold: temperature threshold 511 * @ct_kill_threshold: temperature threshold
512 * @calib_init_cfg: setup initial calibrations for the hw
531 * @struct iwl_sensitivity_ranges: range of sensitivity values 513 * @struct iwl_sensitivity_ranges: range of sensitivity values
532 * @first_ampdu_q: first HW queue available for ampdu
533 */ 514 */
534struct iwl_hw_params { 515struct iwl_hw_params {
535 u16 max_txq_num; 516 u8 max_txq_num;
517 u8 dma_chnl_num;
518 u16 scd_bc_tbls_size;
536 u8 tx_chains_num; 519 u8 tx_chains_num;
537 u8 rx_chains_num; 520 u8 rx_chains_num;
538 u8 valid_tx_ant; 521 u8 valid_tx_ant;
@@ -549,22 +532,10 @@ struct iwl_hw_params {
549 u32 max_data_size; 532 u32 max_data_size;
550 u32 max_bsm_size; 533 u32 max_bsm_size;
551 u32 ct_kill_threshold; /* value in hw-dependent units */ 534 u32 ct_kill_threshold; /* value in hw-dependent units */
535 u32 calib_init_cfg;
552 const struct iwl_sensitivity_ranges *sens; 536 const struct iwl_sensitivity_ranges *sens;
553 u8 first_ampdu_q;
554}; 537};
555 538
556#define HT_SHORT_GI_20MHZ (1 << 0)
557#define HT_SHORT_GI_40MHZ (1 << 1)
558
559
560#define IWL_RX_HDR(x) ((struct iwl4965_rx_frame_hdr *)(\
561 x->u.rx_frame.stats.payload + \
562 x->u.rx_frame.stats.phy_count))
563#define IWL_RX_END(x) ((struct iwl4965_rx_frame_end *)(\
564 IWL_RX_HDR(x)->payload + \
565 le16_to_cpu(IWL_RX_HDR(x)->len)))
566#define IWL_RX_STATS(x) (&x->u.rx_frame.stats)
567#define IWL_RX_DATA(x) (IWL_RX_HDR(x)->payload)
568 539
569/****************************************************************************** 540/******************************************************************************
570 * 541 *
@@ -581,13 +552,8 @@ struct iwl_hw_params {
581 * iwl4965_mac_ <-- mac80211 callback 552 * iwl4965_mac_ <-- mac80211 callback
582 * 553 *
583 ****************************************************************************/ 554 ****************************************************************************/
584struct iwl_addsta_cmd; 555extern void iwl_update_chain_flags(struct iwl_priv *priv);
585extern int iwl_send_add_sta(struct iwl_priv *priv, 556extern int iwl_set_pwr_src(struct iwl_priv *priv, enum iwl_pwr_src src);
586 struct iwl_addsta_cmd *sta, u8 flags);
587extern u8 iwl_add_station_flags(struct iwl_priv *priv, const u8 *addr,
588 int is_ap, u8 flags, struct ieee80211_ht_info *ht_info);
589extern void iwl4965_update_chain_flags(struct iwl_priv *priv);
590extern int iwl4965_set_pwr_src(struct iwl_priv *priv, enum iwl_pwr_src src);
591extern const u8 iwl_bcast_addr[ETH_ALEN]; 557extern const u8 iwl_bcast_addr[ETH_ALEN];
592extern int iwl_rxq_stop(struct iwl_priv *priv); 558extern int iwl_rxq_stop(struct iwl_priv *priv);
593extern void iwl_txq_ctx_stop(struct iwl_priv *priv); 559extern void iwl_txq_ctx_stop(struct iwl_priv *priv);
@@ -611,19 +577,15 @@ static inline u8 get_cmd_index(struct iwl_queue *q, u32 index, int is_huge)
611} 577}
612 578
613 579
614struct iwl_priv; 580struct iwl_dma_ptr {
615 581 dma_addr_t dma;
616 582 void *addr;
617/* Structures, enum, and defines specific to the 4965 */
618
619#define IWL_KW_SIZE 0x1000 /*4k */
620
621struct iwl_kw {
622 dma_addr_t dma_addr;
623 void *v_addr;
624 size_t size; 583 size_t size;
625}; 584};
626 585
586#define HT_SHORT_GI_20MHZ (1 << 0)
587#define HT_SHORT_GI_40MHZ (1 << 1)
588
627#define IWL_CHANNEL_WIDTH_20MHZ 0 589#define IWL_CHANNEL_WIDTH_20MHZ 0
628#define IWL_CHANNEL_WIDTH_40MHZ 1 590#define IWL_CHANNEL_WIDTH_40MHZ 1
629 591
@@ -638,7 +600,6 @@ struct iwl_kw {
638#define TX_POWER_IWL_ILLEGAL_VOLTAGE -10000 600#define TX_POWER_IWL_ILLEGAL_VOLTAGE -10000
639 601
640/* Sensitivity and chain noise calibration */ 602/* Sensitivity and chain noise calibration */
641#define INTERFERENCE_DATA_AVAILABLE __constant_cpu_to_le32(1)
642#define INITIALIZATION_VALUE 0xFFFF 603#define INITIALIZATION_VALUE 0xFFFF
643#define CAL_NUM_OF_BEACONS 20 604#define CAL_NUM_OF_BEACONS 20
644#define MAXIMUM_ALLOWED_PATHLOSS 15 605#define MAXIMUM_ALLOWED_PATHLOSS 15
@@ -691,13 +652,20 @@ enum iwl4965_calib_enabled_state {
691 IWL_CALIB_ENABLED = 1, 652 IWL_CALIB_ENABLED = 1,
692}; 653};
693 654
694struct statistics_general_data { 655
695 u32 beacon_silence_rssi_a; 656/*
696 u32 beacon_silence_rssi_b; 657 * enum iwl_calib
697 u32 beacon_silence_rssi_c; 658 * defines the order in which results of initial calibrations
698 u32 beacon_energy_a; 659 * should be sent to the runtime uCode
699 u32 beacon_energy_b; 660 */
700 u32 beacon_energy_c; 661enum iwl_calib {
662 IWL_CALIB_XTAL,
663 IWL_CALIB_DC,
664 IWL_CALIB_LO,
665 IWL_CALIB_TX_IQ,
666 IWL_CALIB_TX_IQ_PERD,
667 IWL_CALIB_BASE_BAND,
668 IWL_CALIB_MAX
701}; 669};
702 670
703/* Opaque calibration results */ 671/* Opaque calibration results */
@@ -766,7 +734,6 @@ enum {
766 734
767 735
768#define IWL_MAX_NUM_QUEUES 20 /* FIXME: do dynamic allocation */ 736#define IWL_MAX_NUM_QUEUES 20 /* FIXME: do dynamic allocation */
769#define IWL_CALIB_MAX 3
770 737
771struct iwl_priv { 738struct iwl_priv {
772 739
@@ -790,7 +757,7 @@ struct iwl_priv {
790 757
791#ifdef CONFIG_IWLAGN_SPECTRUM_MEASUREMENT 758#ifdef CONFIG_IWLAGN_SPECTRUM_MEASUREMENT
792 /* spectrum measurement report caching */ 759 /* spectrum measurement report caching */
793 struct iwl4965_spectrum_notification measure_report; 760 struct iwl_spectrum_notification measure_report;
794 u8 measurement_status; 761 u8 measurement_status;
795#endif 762#endif
796 /* ucode beacon time */ 763 /* ucode beacon time */
@@ -801,10 +768,6 @@ struct iwl_priv {
801 struct iwl_channel_info *channel_info; /* channel info array */ 768 struct iwl_channel_info *channel_info; /* channel info array */
802 u8 channel_count; /* # of channels */ 769 u8 channel_count; /* # of channels */
803 770
804 /* each calibration channel group in the EEPROM has a derived
805 * clip setting for each rate. */
806 const struct iwl4965_clip_group clip_groups[5];
807
808 /* thermal calibration */ 771 /* thermal calibration */
809 s32 temperature; /* degrees Kelvin */ 772 s32 temperature; /* degrees Kelvin */
810 s32 last_temperature; 773 s32 last_temperature;
@@ -818,12 +781,13 @@ struct iwl_priv {
818 unsigned long scan_start; 781 unsigned long scan_start;
819 unsigned long scan_pass_start; 782 unsigned long scan_pass_start;
820 unsigned long scan_start_tsf; 783 unsigned long scan_start_tsf;
784 struct iwl_scan_cmd *scan;
821 int scan_bands; 785 int scan_bands;
822 int one_direct_scan; 786 int one_direct_scan;
823 u8 direct_ssid_len; 787 u8 direct_ssid_len;
824 u8 direct_ssid[IW_ESSID_MAX_SIZE]; 788 u8 direct_ssid[IW_ESSID_MAX_SIZE];
825 struct iwl_scan_cmd *scan; 789 u8 scan_tx_ant[IEEE80211_NUM_BANDS];
826 u32 scan_tx_ant[IEEE80211_NUM_BANDS]; 790 u8 mgmt_tx_ant;
827 791
828 /* spinlock */ 792 /* spinlock */
829 spinlock_t lock; /* protect general shared data */ 793 spinlock_t lock; /* protect general shared data */
@@ -840,6 +804,8 @@ struct iwl_priv {
840 u8 rev_id; 804 u8 rev_id;
841 805
842 /* uCode images, save to reload in case of failure */ 806 /* uCode images, save to reload in case of failure */
807 u32 ucode_ver; /* version of ucode, copy of
808 iwl_ucode.ver */
843 struct fw_desc ucode_code; /* runtime inst */ 809 struct fw_desc ucode_code; /* runtime inst */
844 struct fw_desc ucode_data; /* runtime data original */ 810 struct fw_desc ucode_data; /* runtime data original */
845 struct fw_desc ucode_data_backup; /* runtime data save/restore */ 811 struct fw_desc ucode_data_backup; /* runtime data save/restore */
@@ -850,7 +816,7 @@ struct iwl_priv {
850 u8 ucode_write_complete; /* the image write is complete */ 816 u8 ucode_write_complete; /* the image write is complete */
851 817
852 818
853 struct iwl4965_rxon_time_cmd rxon_timing; 819 struct iwl_rxon_time_cmd rxon_timing;
854 820
855 /* We declare this const so it can only be 821 /* We declare this const so it can only be
856 * changed via explicit cast within the 822 * changed via explicit cast within the
@@ -882,7 +848,6 @@ struct iwl_priv {
882 u16 active_rate_basic; 848 u16 active_rate_basic;
883 849
884 u8 assoc_station_added; 850 u8 assoc_station_added;
885 u8 use_ant_b_for_management_frame; /* Tx antenna selection */
886 u8 start_calib; 851 u8 start_calib;
887 struct iwl_sensitivity_data sensitivity_data; 852 struct iwl_sensitivity_data sensitivity_data;
888 struct iwl_chain_noise_data chain_noise_data; 853 struct iwl_chain_noise_data chain_noise_data;
@@ -903,12 +868,14 @@ struct iwl_priv {
903 struct iwl_rx_queue rxq; 868 struct iwl_rx_queue rxq;
904 struct iwl_tx_queue txq[IWL_MAX_NUM_QUEUES]; 869 struct iwl_tx_queue txq[IWL_MAX_NUM_QUEUES];
905 unsigned long txq_ctx_active_msk; 870 unsigned long txq_ctx_active_msk;
906 struct iwl_kw kw; /* keep warm address */ 871 struct iwl_dma_ptr kw; /* keep warm address */
872 struct iwl_dma_ptr scd_bc_tbls;
873
907 u32 scd_base_addr; /* scheduler sram base address */ 874 u32 scd_base_addr; /* scheduler sram base address */
908 875
909 unsigned long status; 876 unsigned long status;
910 877
911 int last_rx_rssi; /* From Rx packet statisitics */ 878 int last_rx_rssi; /* From Rx packet statistics */
912 int last_rx_noise; /* From beacon statistics */ 879 int last_rx_noise; /* From beacon statistics */
913 880
914 /* counts mgmt, ctl, and data packets */ 881 /* counts mgmt, ctl, and data packets */
@@ -923,8 +890,6 @@ struct iwl_priv {
923 unsigned long last_statistics_time; 890 unsigned long last_statistics_time;
924 891
925 /* context information */ 892 /* context information */
926 u8 essid[IW_ESSID_MAX_SIZE];
927 u8 essid_len;
928 u16 rates_mask; 893 u16 rates_mask;
929 894
930 u32 power_mode; 895 u32 power_mode;
@@ -965,11 +930,7 @@ struct iwl_priv {
965 struct ieee80211_vif *vif; 930 struct ieee80211_vif *vif;
966 931
967 struct iwl_hw_params hw_params; 932 struct iwl_hw_params hw_params;
968 /* driver/uCode shared Tx Byte Counts and Rx status */ 933
969 void *shared_virt;
970 int rb_closed_offset;
971 /* Physical Pointer to Tx Byte Counts and Rx status */
972 dma_addr_t shared_phys;
973 934
974 /* Current association information needed to configure the 935 /* Current association information needed to configure the
975 * hardware */ 936 * hardware */
@@ -992,7 +953,6 @@ struct iwl_priv {
992 struct work_struct report_work; 953 struct work_struct report_work;
993 struct work_struct request_scan; 954 struct work_struct request_scan;
994 struct work_struct beacon_update; 955 struct work_struct beacon_update;
995 struct work_struct set_monitor;
996 956
997 struct tasklet_struct irq_tasklet; 957 struct tasklet_struct irq_tasklet;
998 958
@@ -1004,9 +964,6 @@ struct iwl_priv {
1004 s8 tx_power_user_lmt; 964 s8 tx_power_user_lmt;
1005 s8 tx_power_channel_lmt; 965 s8 tx_power_channel_lmt;
1006 966
1007#ifdef CONFIG_PM
1008 u32 pm_state[16];
1009#endif
1010 967
1011#ifdef CONFIG_IWLWIFI_DEBUG 968#ifdef CONFIG_IWLWIFI_DEBUG
1012 /* debugging info */ 969 /* debugging info */
@@ -1091,26 +1048,4 @@ static inline int is_channel_ibss(const struct iwl_channel_info *ch)
1091 return ((ch->flags & EEPROM_CHANNEL_IBSS)) ? 1 : 0; 1048 return ((ch->flags & EEPROM_CHANNEL_IBSS)) ? 1 : 0;
1092} 1049}
1093 1050
1094#ifdef CONFIG_IWLWIFI_DEBUG
1095static inline void iwl_print_hex_dump(struct iwl_priv *priv, int level,
1096 void *p, u32 len)
1097{
1098 if (!(priv->debug_level & level))
1099 return;
1100
1101 print_hex_dump(KERN_DEBUG, "iwl data: ", DUMP_PREFIX_OFFSET, 16, 1,
1102 p, len, 1);
1103}
1104#else
1105static inline void iwl_print_hex_dump(struct iwl_priv *priv, int level,
1106 void *p, u32 len)
1107{
1108}
1109#endif
1110
1111extern const struct iwl_channel_info *iwl_get_channel_info(
1112 const struct iwl_priv *priv, enum ieee80211_band band, u16 channel);
1113
1114/* Requires full declaration of iwl_priv before including */
1115
1116#endif /* __iwl_dev_h__ */ 1051#endif /* __iwl_dev_h__ */