diff options
author | Ben Cahill <ben.m.cahill@intel.com> | 2007-11-28 22:09:49 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 18:05:19 -0500 |
commit | bc47279f558e7e9ea70dad1d484d2816ec239bb0 (patch) | |
tree | be0b2be7b15e70df44f85f5c8bd8c3b9f21bc69d /drivers/net/wireless/iwlwifi/iwl-4965.h | |
parent | 81cd110d818dd4649cbac17f95f698a24c7acc45 (diff) |
iwlwifi: Add comments to some driver data structures
Add comments to some driver data structures
Remove unused "sched_retry" member from struct iwl3945_tx_queue
Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
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.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.h | 58 |
1 files changed, 51 insertions, 7 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.h b/drivers/net/wireless/iwlwifi/iwl-4965.h index d0abbb3a5ac7..30001482c485 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.h +++ b/drivers/net/wireless/iwlwifi/iwl-4965.h | |||
@@ -129,6 +129,7 @@ struct iwl4965_queue { | |||
129 | 129 | ||
130 | #define MAX_NUM_OF_TBS (20) | 130 | #define MAX_NUM_OF_TBS (20) |
131 | 131 | ||
132 | /* One for each TFD */ | ||
132 | struct iwl4965_tx_info { | 133 | struct iwl4965_tx_info { |
133 | struct ieee80211_tx_status status; | 134 | struct ieee80211_tx_status status; |
134 | struct sk_buff *skb[MAX_NUM_OF_TBS]; | 135 | struct sk_buff *skb[MAX_NUM_OF_TBS]; |
@@ -136,10 +137,16 @@ struct iwl4965_tx_info { | |||
136 | 137 | ||
137 | /** | 138 | /** |
138 | * struct iwl4965_tx_queue - Tx Queue for DMA | 139 | * struct iwl4965_tx_queue - Tx Queue for DMA |
139 | * @need_update: need to update read/write index | 140 | * @q: generic Rx/Tx queue descriptor |
140 | * @shed_retry: queue is HT AGG enabled | 141 | * @bd: base of circular buffer of TFDs |
142 | * @cmd: array of command/Tx buffers | ||
143 | * @dma_addr_cmd: physical address of cmd/tx buffer array | ||
144 | * @txb: array of per-TFD driver data | ||
145 | * @need_update: indicates need to update read/write index | ||
146 | * @sched_retry: indicates queue is high-throughput aggregation (HT AGG) enabled | ||
141 | * | 147 | * |
142 | * Queue consists of circular buffer of BD's and required locking structures. | 148 | * A Tx queue consists of circular buffer of BDs (a.k.a. TFDs, transmit frame |
149 | * descriptors) and required locking structures. | ||
143 | */ | 150 | */ |
144 | struct iwl4965_tx_queue { | 151 | struct iwl4965_tx_queue { |
145 | struct iwl4965_queue q; | 152 | struct iwl4965_queue q; |
@@ -332,9 +339,16 @@ struct iwl4965_cmd_meta { | |||
332 | 339 | ||
333 | } __attribute__ ((packed)); | 340 | } __attribute__ ((packed)); |
334 | 341 | ||
342 | /** | ||
343 | * struct iwl4965_cmd | ||
344 | * | ||
345 | * For allocation of the command and tx queues, this establishes the overall | ||
346 | * size of the largest command we send to uCode, except for a scan command | ||
347 | * (which is relatively huge; space is allocated separately). | ||
348 | */ | ||
335 | struct iwl4965_cmd { | 349 | struct iwl4965_cmd { |
336 | struct iwl4965_cmd_meta meta; | 350 | struct iwl4965_cmd_meta meta; /* driver data */ |
337 | struct iwl4965_cmd_header hdr; | 351 | struct iwl4965_cmd_header hdr; /* uCode API */ |
338 | union { | 352 | union { |
339 | struct iwl4965_addsta_cmd addsta; | 353 | struct iwl4965_addsta_cmd addsta; |
340 | struct iwl4965_led_cmd led; | 354 | struct iwl4965_led_cmd led; |
@@ -436,6 +450,20 @@ struct iwl4965_rx_queue { | |||
436 | 450 | ||
437 | #ifdef CONFIG_IWL4965_HT | 451 | #ifdef CONFIG_IWL4965_HT |
438 | #ifdef CONFIG_IWL4965_HT_AGG | 452 | #ifdef CONFIG_IWL4965_HT_AGG |
453 | /** | ||
454 | * struct iwl4965_ht_agg -- aggregation status while waiting for block-ack | ||
455 | * @txq_id: Tx queue used for Tx attempt | ||
456 | * @frame_count: # frames attempted by Tx command | ||
457 | * @wait_for_ba: Expect block-ack before next Tx reply | ||
458 | * @start_idx: Index of 1st Transmit Frame Descriptor (TFD) in Tx window | ||
459 | * @bitmap0: Low order bitmap, one bit for each frame pending ACK in Tx window | ||
460 | * @bitmap1: High order, one bit for each frame pending ACK in Tx window | ||
461 | * @rate_n_flags: Rate at which Tx was attempted | ||
462 | * | ||
463 | * If REPLY_TX indicates that aggregation was attempted, driver must wait | ||
464 | * for block ack (REPLY_COMPRESSED_BA). This struct stores tx reply info | ||
465 | * until block ack arrives. | ||
466 | */ | ||
439 | struct iwl4965_ht_agg { | 467 | struct iwl4965_ht_agg { |
440 | u16 txq_id; | 468 | u16 txq_id; |
441 | u16 frame_count; | 469 | u16 frame_count; |
@@ -566,6 +594,19 @@ struct iwl4965_ibss_seq { | |||
566 | struct list_head list; | 594 | struct list_head list; |
567 | }; | 595 | }; |
568 | 596 | ||
597 | /** | ||
598 | * struct iwl4965_driver_hw_info | ||
599 | * @max_txq_num: Max # Tx queues supported | ||
600 | * @ac_queue_count: # Tx queues for EDCA Access Categories (AC) | ||
601 | * @tx_cmd_len: Size of Tx command (but not including frame itself) | ||
602 | * @max_rxq_size: Max # Rx frames in Rx queue (must be power-of-2) | ||
603 | * @rx_buffer_size: | ||
604 | * @max_rxq_log: Log-base-2 of max_rxq_size | ||
605 | * @max_stations: | ||
606 | * @bcast_sta_id: | ||
607 | * @shared_virt: Pointer to driver/uCode shared Tx Byte Counts and Rx status | ||
608 | * @shared_phys: Physical Pointer to Tx Byte Counts and Rx status | ||
609 | */ | ||
569 | struct iwl4965_driver_hw_info { | 610 | struct iwl4965_driver_hw_info { |
570 | u16 max_txq_num; | 611 | u16 max_txq_num; |
571 | u16 ac_queue_count; | 612 | u16 ac_queue_count; |
@@ -1149,10 +1190,11 @@ struct iwl4965_priv { | |||
1149 | u8 call_post_assoc_from_beacon; | 1190 | u8 call_post_assoc_from_beacon; |
1150 | u8 assoc_station_added; | 1191 | u8 assoc_station_added; |
1151 | u8 use_ant_b_for_management_frame; /* Tx antenna selection */ | 1192 | u8 use_ant_b_for_management_frame; /* Tx antenna selection */ |
1152 | /* HT variables */ | 1193 | |
1194 | /* High Throughput (HT) variables */ | ||
1153 | u8 is_dup; | 1195 | u8 is_dup; |
1154 | u8 is_ht_enabled; | 1196 | u8 is_ht_enabled; |
1155 | u8 channel_width; /* 0=20MHZ, 1=40MHZ */ | 1197 | u8 channel_width; /* 0=20MHZ, 1=40MHZ supported */ |
1156 | u8 current_channel_width; | 1198 | u8 current_channel_width; |
1157 | u8 valid_antenna; /* Bit mask of antennas actually connected */ | 1199 | u8 valid_antenna; /* Bit mask of antennas actually connected */ |
1158 | #ifdef CONFIG_IWL4965_SENSITIVITY | 1200 | #ifdef CONFIG_IWL4965_SENSITIVITY |
@@ -1229,6 +1271,8 @@ struct iwl4965_priv { | |||
1229 | u16 last_seq_num; | 1271 | u16 last_seq_num; |
1230 | u16 last_frag_num; | 1272 | u16 last_frag_num; |
1231 | unsigned long last_packet_time; | 1273 | unsigned long last_packet_time; |
1274 | |||
1275 | /* Hash table for finding stations in IBSS network */ | ||
1232 | struct list_head ibss_mac_hash[IWL_IBSS_MAC_HASH_SIZE]; | 1276 | struct list_head ibss_mac_hash[IWL_IBSS_MAC_HASH_SIZE]; |
1233 | 1277 | ||
1234 | /* eeprom */ | 1278 | /* eeprom */ |