aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-commands.h
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2010-08-23 10:56:53 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-08-25 14:33:20 -0400
commit767d055d6a85435bf1d5e63a5097402a5399cfdc (patch)
treecfac35d8bf467267bf9ebf1d08bc02693660d04e /drivers/net/wireless/iwlwifi/iwl-commands.h
parent5c673fbf193e272c8c786931b31f23090ab3cb9d (diff)
iwlwifi: comments cleanup
No code or function changes, just some cleanup work for out-of-date comments Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-commands.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-commands.h62
1 files changed, 33 insertions, 29 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/wireless/iwlwifi/iwl-commands.h
index 4083e443082..e2f3616f5b8 100644
--- a/drivers/net/wireless/iwlwifi/iwl-commands.h
+++ b/drivers/net/wireless/iwlwifi/iwl-commands.h
@@ -62,7 +62,7 @@
62 *****************************************************************************/ 62 *****************************************************************************/
63/* 63/*
64 * Please use this file (iwl-commands.h) only for uCode API definitions. 64 * Please use this file (iwl-commands.h) only for uCode API definitions.
65 * Please use iwl-4965-hw.h for hardware-related definitions. 65 * Please use iwl-xxxx-hw.h for hardware-related definitions.
66 * Please use iwl-dev.h for driver implementation definitions. 66 * Please use iwl-dev.h for driver implementation definitions.
67 */ 67 */
68 68
@@ -1056,7 +1056,8 @@ struct sta_id_modify {
1056 * 1056 *
1057 * The device contains an internal table of per-station information, 1057 * The device contains an internal table of per-station information,
1058 * with info on security keys, aggregation parameters, and Tx rates for 1058 * with info on security keys, aggregation parameters, and Tx rates for
1059 * initial Tx attempt and any retries (4965 uses REPLY_TX_LINK_QUALITY_CMD, 1059 * initial Tx attempt and any retries (agn devices uses
1060 * REPLY_TX_LINK_QUALITY_CMD,
1060 * 3945 uses REPLY_RATE_SCALE to set up rate tables). 1061 * 3945 uses REPLY_RATE_SCALE to set up rate tables).
1061 * 1062 *
1062 * REPLY_ADD_STA sets up the table entry for one station, either creating 1063 * REPLY_ADD_STA sets up the table entry for one station, either creating
@@ -1427,12 +1428,12 @@ struct iwl_rx_mpdu_res_start {
1427 * uCode handles all timing and protocol related to control frames 1428 * uCode handles all timing and protocol related to control frames
1428 * (RTS/CTS/ACK), based on flags in the Tx command. uCode and Tx scheduler 1429 * (RTS/CTS/ACK), based on flags in the Tx command. uCode and Tx scheduler
1429 * handle reception of block-acks; uCode updates the host driver via 1430 * handle reception of block-acks; uCode updates the host driver via
1430 * REPLY_COMPRESSED_BA (4965). 1431 * REPLY_COMPRESSED_BA.
1431 * 1432 *
1432 * uCode handles retrying Tx when an ACK is expected but not received. 1433 * uCode handles retrying Tx when an ACK is expected but not received.
1433 * This includes trying lower data rates than the one requested in the Tx 1434 * This includes trying lower data rates than the one requested in the Tx
1434 * command, as set up by the REPLY_RATE_SCALE (for 3945) or 1435 * command, as set up by the REPLY_RATE_SCALE (for 3945) or
1435 * REPLY_TX_LINK_QUALITY_CMD (4965). 1436 * REPLY_TX_LINK_QUALITY_CMD (agn).
1436 * 1437 *
1437 * Driver sets up transmit power for various rates via REPLY_TX_PWR_TABLE_CMD. 1438 * Driver sets up transmit power for various rates via REPLY_TX_PWR_TABLE_CMD.
1438 * This command must be executed after every RXON command, before Tx can occur. 1439 * This command must be executed after every RXON command, before Tx can occur.
@@ -1468,7 +1469,7 @@ struct iwl_rx_mpdu_res_start {
1468 * Set this for unicast frames, but not broadcast/multicast. */ 1469 * Set this for unicast frames, but not broadcast/multicast. */
1469#define TX_CMD_FLG_ACK_MSK cpu_to_le32(1 << 3) 1470#define TX_CMD_FLG_ACK_MSK cpu_to_le32(1 << 3)
1470 1471
1471/* For 4965: 1472/* For agn devices:
1472 * 1: Use rate scale table (see REPLY_TX_LINK_QUALITY_CMD). 1473 * 1: Use rate scale table (see REPLY_TX_LINK_QUALITY_CMD).
1473 * Tx command's initial_rate_index indicates first rate to try; 1474 * Tx command's initial_rate_index indicates first rate to try;
1474 * uCode walks through table for additional Tx attempts. 1475 * uCode walks through table for additional Tx attempts.
@@ -1487,7 +1488,7 @@ struct iwl_rx_mpdu_res_start {
1487 */ 1488 */
1488#define TX_CMD_FLG_FULL_TXOP_PROT_MSK cpu_to_le32(1 << 7) 1489#define TX_CMD_FLG_FULL_TXOP_PROT_MSK cpu_to_le32(1 << 7)
1489 1490
1490/* Tx antenna selection field; used only for 3945, reserved (0) for 4965. 1491/* Tx antenna selection field; used only for 3945, reserved (0) for agn devices.
1491 * Set field to "0" to allow 3945 uCode to select antenna (normal usage). */ 1492 * Set field to "0" to allow 3945 uCode to select antenna (normal usage). */
1492#define TX_CMD_FLG_ANT_SEL_MSK cpu_to_le32(0xf00) 1493#define TX_CMD_FLG_ANT_SEL_MSK cpu_to_le32(0xf00)
1493#define TX_CMD_FLG_ANT_A_MSK cpu_to_le32(1 << 8) 1494#define TX_CMD_FLG_ANT_A_MSK cpu_to_le32(1 << 8)
@@ -1870,9 +1871,10 @@ enum {
1870 * frame in this new agg block failed in previous agg block(s). 1871 * frame in this new agg block failed in previous agg block(s).
1871 * 1872 *
1872 * Note that, for aggregation, ACK (block-ack) status is not delivered here; 1873 * Note that, for aggregation, ACK (block-ack) status is not delivered here;
1873 * block-ack has not been received by the time the 4965 records this status. 1874 * block-ack has not been received by the time the agn device records
1875 * this status.
1874 * This status relates to reasons the tx might have been blocked or aborted 1876 * This status relates to reasons the tx might have been blocked or aborted
1875 * within the sending station (this 4965), rather than whether it was 1877 * within the sending station (this agn device), rather than whether it was
1876 * received successfully by the destination station. 1878 * received successfully by the destination station.
1877 */ 1879 */
1878struct agg_tx_status { 1880struct agg_tx_status {
@@ -2140,14 +2142,16 @@ struct iwl_link_qual_agg_params {
2140/* 2142/*
2141 * REPLY_TX_LINK_QUALITY_CMD = 0x4e (command, has simple generic response) 2143 * REPLY_TX_LINK_QUALITY_CMD = 0x4e (command, has simple generic response)
2142 * 2144 *
2143 * For 4965 only; 3945 uses REPLY_RATE_SCALE. 2145 * For agn devices only; 3945 uses REPLY_RATE_SCALE.
2144 * 2146 *
2145 * Each station in the 4965's internal station table has its own table of 16 2147 * Each station in the agn device's internal station table has its own table
2148 * of 16
2146 * Tx rates and modulation modes (e.g. legacy/SISO/MIMO) for retrying Tx when 2149 * Tx rates and modulation modes (e.g. legacy/SISO/MIMO) for retrying Tx when
2147 * an ACK is not received. This command replaces the entire table for 2150 * an ACK is not received. This command replaces the entire table for
2148 * one station. 2151 * one station.
2149 * 2152 *
2150 * NOTE: Station must already be in 4965's station table. Use REPLY_ADD_STA. 2153 * NOTE: Station must already be in agn device's station table.
2154 * Use REPLY_ADD_STA.
2151 * 2155 *
2152 * The rate scaling procedures described below work well. Of course, other 2156 * The rate scaling procedures described below work well. Of course, other
2153 * procedures are possible, and may work better for particular environments. 2157 * procedures are possible, and may work better for particular environments.
@@ -2184,12 +2188,12 @@ struct iwl_link_qual_agg_params {
2184 * 2188 *
2185 * ACCUMULATING HISTORY 2189 * ACCUMULATING HISTORY
2186 * 2190 *
2187 * The rate scaling algorithm for 4965, as implemented in Linux driver, uses 2191 * The rate scaling algorithm for agn devices, as implemented in Linux driver,
2188 * two sets of frame Tx success history: One for the current/active modulation 2192 * uses two sets of frame Tx success history: One for the current/active
2189 * mode, and one for a speculative/search mode that is being attempted. If the 2193 * modulation mode, and one for a speculative/search mode that is being
2190 * speculative mode turns out to be more effective (i.e. actual transfer 2194 * attempted. If the speculative mode turns out to be more effective (i.e.
2191 * rate is better), then the driver continues to use the speculative mode 2195 * actual transfer rate is better), then the driver continues to use the
2192 * as the new current active mode. 2196 * speculative mode as the new current active mode.
2193 * 2197 *
2194 * Each history set contains, separately for each possible rate, data for a 2198 * Each history set contains, separately for each possible rate, data for a
2195 * sliding window of the 62 most recent tx attempts at that rate. The data 2199 * sliding window of the 62 most recent tx attempts at that rate. The data
@@ -2200,12 +2204,12 @@ struct iwl_link_qual_agg_params {
2200 * The driver uses the bit map to remove successes from the success sum, as 2204 * The driver uses the bit map to remove successes from the success sum, as
2201 * the oldest tx attempts fall out of the window. 2205 * the oldest tx attempts fall out of the window.
2202 * 2206 *
2203 * When the 4965 makes multiple tx attempts for a given frame, each attempt 2207 * When the agn device makes multiple tx attempts for a given frame, each
2204 * might be at a different rate, and have different modulation characteristics 2208 * attempt might be at a different rate, and have different modulation
2205 * (e.g. antenna, fat channel, short guard interval), as set up in the rate 2209 * characteristics (e.g. antenna, fat channel, short guard interval), as set
2206 * scaling table in the Link Quality command. The driver must determine 2210 * up in the rate scaling table in the Link Quality command. The driver must
2207 * which rate table entry was used for each tx attempt, to determine which 2211 * determine which rate table entry was used for each tx attempt, to determine
2208 * rate-specific history to update, and record only those attempts that 2212 * which rate-specific history to update, and record only those attempts that
2209 * match the modulation characteristics of the history set. 2213 * match the modulation characteristics of the history set.
2210 * 2214 *
2211 * When using block-ack (aggregation), all frames are transmitted at the same 2215 * When using block-ack (aggregation), all frames are transmitted at the same
@@ -2335,7 +2339,7 @@ struct iwl_link_quality_cmd {
2335 /* 2339 /*
2336 * Rate info; when using rate-scaling, Tx command's initial_rate_index 2340 * Rate info; when using rate-scaling, Tx command's initial_rate_index
2337 * specifies 1st Tx rate attempted, via index into this table. 2341 * specifies 1st Tx rate attempted, via index into this table.
2338 * 4965 works its way through table when retrying Tx. 2342 * agn devices works its way through table when retrying Tx.
2339 */ 2343 */
2340 struct { 2344 struct {
2341 __le32 rate_n_flags; /* RATE_MCS_*, IWL_RATE_* */ 2345 __le32 rate_n_flags; /* RATE_MCS_*, IWL_RATE_* */
@@ -2371,7 +2375,7 @@ struct iwl_link_quality_cmd {
2371/* 2375/*
2372 * REPLY_BT_CONFIG = 0x9b (command, has simple generic response) 2376 * REPLY_BT_CONFIG = 0x9b (command, has simple generic response)
2373 * 2377 *
2374 * 3945 and 4965 support hardware handshake with Bluetooth device on 2378 * 3945 and agn devices support hardware handshake with Bluetooth device on
2375 * same platform. Bluetooth device alerts wireless device when it will Tx; 2379 * same platform. Bluetooth device alerts wireless device when it will Tx;
2376 * wireless device can delay or kill its own Tx to accommodate. 2380 * wireless device can delay or kill its own Tx to accommodate.
2377 */ 2381 */
@@ -2572,7 +2576,7 @@ struct iwl_powertable_cmd {
2572 2576
2573/* 2577/*
2574 * PM_SLEEP_NOTIFICATION = 0x7A (notification only, not a command) 2578 * PM_SLEEP_NOTIFICATION = 0x7A (notification only, not a command)
2575 * 3945 and 4965 identical. 2579 * all devices identical.
2576 */ 2580 */
2577struct iwl_sleep_notification { 2581struct iwl_sleep_notification {
2578 u8 pm_sleep_mode; 2582 u8 pm_sleep_mode;
@@ -2583,7 +2587,7 @@ struct iwl_sleep_notification {
2583 __le32 bcon_timer; 2587 __le32 bcon_timer;
2584} __packed; 2588} __packed;
2585 2589
2586/* Sleep states. 3945 and 4965 identical. */ 2590/* Sleep states. all devices identical. */
2587enum { 2591enum {
2588 IWL_PM_NO_SLEEP = 0, 2592 IWL_PM_NO_SLEEP = 0,
2589 IWL_PM_SLP_MAC = 1, 2593 IWL_PM_SLP_MAC = 1,
@@ -3270,7 +3274,7 @@ struct statistics_general_bt {
3270 3274
3271/* 3275/*
3272 * REPLY_STATISTICS_CMD = 0x9c, 3276 * REPLY_STATISTICS_CMD = 0x9c,
3273 * 3945 and 4965 identical. 3277 * all devices identical.
3274 * 3278 *
3275 * This command triggers an immediate response containing uCode statistics. 3279 * This command triggers an immediate response containing uCode statistics.
3276 * The response is in the same format as STATISTICS_NOTIFICATION 0x9d, below. 3280 * The response is in the same format as STATISTICS_NOTIFICATION 0x9d, below.
@@ -3608,7 +3612,7 @@ struct iwl_enhance_sensitivity_cmd {
3608/** 3612/**
3609 * REPLY_PHY_CALIBRATION_CMD = 0xb0 (command, has simple generic response) 3613 * REPLY_PHY_CALIBRATION_CMD = 0xb0 (command, has simple generic response)
3610 * 3614 *
3611 * This command sets the relative gains of 4965's 3 radio receiver chains. 3615 * This command sets the relative gains of agn device's 3 radio receiver chains.
3612 * 3616 *
3613 * After the first association, driver should accumulate signal and noise 3617 * After the first association, driver should accumulate signal and noise
3614 * statistics from the STATISTICS_NOTIFICATIONs that follow the first 20 3618 * statistics from the STATISTICS_NOTIFICATIONs that follow the first 20