aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-commands.h
diff options
context:
space:
mode:
authorTomas Winkler <tomas.winkler@intel.com>2008-12-11 13:33:40 -0500
committerJohn W. Linville <linville@tuxdriver.com>2008-12-12 14:45:41 -0500
commit2aa6ab86bc475a115f56645591d2413981846509 (patch)
tree0229ab7aabe3c285caacd38ec947b51a36496cc1 /drivers/net/wireless/iwlwifi/iwl-commands.h
parentb5047f78664fbcc18d67dafbb45bf62b310f9b0a (diff)
iwlwifi: remove 4965 from common uCode API structures
This patch removes 4965 from common uCode API structures. Also updates iwlagn commands with 3945 specific RX command in preparation for 3945 port. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@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.h67
1 files changed, 33 insertions, 34 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/wireless/iwlwifi/iwl-commands.h
index 0ba325d1112a..60e79d9bd725 100644
--- a/drivers/net/wireless/iwlwifi/iwl-commands.h
+++ b/drivers/net/wireless/iwlwifi/iwl-commands.h
@@ -94,6 +94,7 @@ enum {
94 REPLY_WEPKEY = 0x20, 94 REPLY_WEPKEY = 0x20,
95 95
96 /* RX, TX, LEDs */ 96 /* RX, TX, LEDs */
97 REPLY_3945_RX = 0x1b, /* 3945 only */
97 REPLY_TX = 0x1c, 98 REPLY_TX = 0x1c,
98 REPLY_RATE_SCALE = 0x47, /* 3945 only */ 99 REPLY_RATE_SCALE = 0x47, /* 3945 only */
99 REPLY_LEDS_CMD = 0x48, 100 REPLY_LEDS_CMD = 0x48,
@@ -701,7 +702,7 @@ struct iwl_rxon_time_cmd {
701/* 702/*
702 * REPLY_CHANNEL_SWITCH = 0x72 (command, has simple generic response) 703 * REPLY_CHANNEL_SWITCH = 0x72 (command, has simple generic response)
703 */ 704 */
704struct iwl4965_channel_switch_cmd { 705struct iwl_channel_switch_cmd {
705 u8 band; 706 u8 band;
706 u8 expect_beacon; 707 u8 expect_beacon;
707 __le16 channel; 708 __le16 channel;
@@ -714,7 +715,7 @@ struct iwl4965_channel_switch_cmd {
714/* 715/*
715 * CHANNEL_SWITCH_NOTIFICATION = 0x73 (notification only, not a command) 716 * CHANNEL_SWITCH_NOTIFICATION = 0x73 (notification only, not a command)
716 */ 717 */
717struct iwl4965_csa_notification { 718struct iwl_csa_notification {
718 __le16 band; 719 __le16 band;
719 __le16 channel; 720 __le16 channel;
720 __le32 status; /* 0 - OK, 1 - fail */ 721 __le32 status; /* 0 - OK, 1 - fail */
@@ -1237,7 +1238,7 @@ struct iwl4965_rx_mpdu_res_start {
1237 * Used for managing Tx retries when expecting block-acks. 1238 * Used for managing Tx retries when expecting block-acks.
1238 * Driver should set these fields to 0. 1239 * Driver should set these fields to 0.
1239 */ 1240 */
1240struct iwl4965_dram_scratch { 1241struct iwl_dram_scratch {
1241 u8 try_cnt; /* Tx attempts */ 1242 u8 try_cnt; /* Tx attempts */
1242 u8 bt_kill_cnt; /* Tx attempts blocked by Bluetooth device */ 1243 u8 bt_kill_cnt; /* Tx attempts blocked by Bluetooth device */
1243 __le16 reserved; 1244 __le16 reserved;
@@ -1268,9 +1269,9 @@ struct iwl_tx_cmd {
1268 1269
1269 __le32 tx_flags; /* TX_CMD_FLG_* */ 1270 __le32 tx_flags; /* TX_CMD_FLG_* */
1270 1271
1271 /* 4965's uCode may modify this field of the Tx command (in host DRAM!). 1272 /* uCode may modify this field of the Tx command (in host DRAM!).
1272 * Driver must also set dram_lsb_ptr and dram_msb_ptr in this cmd. */ 1273 * Driver must also set dram_lsb_ptr and dram_msb_ptr in this cmd. */
1273 struct iwl4965_dram_scratch scratch; 1274 struct iwl_dram_scratch scratch;
1274 1275
1275 /* Rate for *all* Tx attempts, if TX_CMD_FLG_STA_RATE_MSK is cleared. */ 1276 /* Rate for *all* Tx attempts, if TX_CMD_FLG_STA_RATE_MSK is cleared. */
1276 __le32 rate_n_flags; /* RATE_MCS_* */ 1277 __le32 rate_n_flags; /* RATE_MCS_* */
@@ -1878,7 +1879,7 @@ struct iwl_link_quality_cmd {
1878 * same platform. Bluetooth device alerts wireless device when it will Tx; 1879 * same platform. Bluetooth device alerts wireless device when it will Tx;
1879 * wireless device can delay or kill its own Tx to accommodate. 1880 * wireless device can delay or kill its own Tx to accommodate.
1880 */ 1881 */
1881struct iwl4965_bt_cmd { 1882struct iwl_bt_cmd {
1882 u8 flags; 1883 u8 flags;
1883 u8 lead_time; 1884 u8 lead_time;
1884 u8 max_kill; 1885 u8 max_kill;
@@ -1904,18 +1905,18 @@ struct iwl4965_bt_cmd {
1904 RXON_FILTER_ASSOC_MSK | \ 1905 RXON_FILTER_ASSOC_MSK | \
1905 RXON_FILTER_BCON_AWARE_MSK) 1906 RXON_FILTER_BCON_AWARE_MSK)
1906 1907
1907struct iwl4965_measure_channel { 1908struct iwl_measure_channel {
1908 __le32 duration; /* measurement duration in extended beacon 1909 __le32 duration; /* measurement duration in extended beacon
1909 * format */ 1910 * format */
1910 u8 channel; /* channel to measure */ 1911 u8 channel; /* channel to measure */
1911 u8 type; /* see enum iwl4965_measure_type */ 1912 u8 type; /* see enum iwl_measure_type */
1912 __le16 reserved; 1913 __le16 reserved;
1913} __attribute__ ((packed)); 1914} __attribute__ ((packed));
1914 1915
1915/* 1916/*
1916 * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (command) 1917 * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (command)
1917 */ 1918 */
1918struct iwl4965_spectrum_cmd { 1919struct iwl_spectrum_cmd {
1919 __le16 len; /* number of bytes starting from token */ 1920 __le16 len; /* number of bytes starting from token */
1920 u8 token; /* token id */ 1921 u8 token; /* token id */
1921 u8 id; /* measurement id -- 0 or 1 */ 1922 u8 id; /* measurement id -- 0 or 1 */
@@ -1928,13 +1929,13 @@ struct iwl4965_spectrum_cmd {
1928 __le32 filter_flags; /* rxon filter flags */ 1929 __le32 filter_flags; /* rxon filter flags */
1929 __le16 channel_count; /* minimum 1, maximum 10 */ 1930 __le16 channel_count; /* minimum 1, maximum 10 */
1930 __le16 reserved3; 1931 __le16 reserved3;
1931 struct iwl4965_measure_channel channels[10]; 1932 struct iwl_measure_channel channels[10];
1932} __attribute__ ((packed)); 1933} __attribute__ ((packed));
1933 1934
1934/* 1935/*
1935 * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (response) 1936 * REPLY_SPECTRUM_MEASUREMENT_CMD = 0x74 (response)
1936 */ 1937 */
1937struct iwl4965_spectrum_resp { 1938struct iwl_spectrum_resp {
1938 u8 token; 1939 u8 token;
1939 u8 id; /* id of the prior command replaced, or 0xff */ 1940 u8 id; /* id of the prior command replaced, or 0xff */
1940 __le16 status; /* 0 - command will be handled 1941 __le16 status; /* 0 - command will be handled
@@ -1942,12 +1943,12 @@ struct iwl4965_spectrum_resp {
1942 * measurement) */ 1943 * measurement) */
1943} __attribute__ ((packed)); 1944} __attribute__ ((packed));
1944 1945
1945enum iwl4965_measurement_state { 1946enum iwl_measurement_state {
1946 IWL_MEASUREMENT_START = 0, 1947 IWL_MEASUREMENT_START = 0,
1947 IWL_MEASUREMENT_STOP = 1, 1948 IWL_MEASUREMENT_STOP = 1,
1948}; 1949};
1949 1950
1950enum iwl4965_measurement_status { 1951enum iwl_measurement_status {
1951 IWL_MEASUREMENT_OK = 0, 1952 IWL_MEASUREMENT_OK = 0,
1952 IWL_MEASUREMENT_CONCURRENT = 1, 1953 IWL_MEASUREMENT_CONCURRENT = 1,
1953 IWL_MEASUREMENT_CSA_CONFLICT = 2, 1954 IWL_MEASUREMENT_CSA_CONFLICT = 2,
@@ -1960,18 +1961,18 @@ enum iwl4965_measurement_status {
1960 1961
1961#define NUM_ELEMENTS_IN_HISTOGRAM 8 1962#define NUM_ELEMENTS_IN_HISTOGRAM 8
1962 1963
1963struct iwl4965_measurement_histogram { 1964struct iwl_measurement_histogram {
1964 __le32 ofdm[NUM_ELEMENTS_IN_HISTOGRAM]; /* in 0.8usec counts */ 1965 __le32 ofdm[NUM_ELEMENTS_IN_HISTOGRAM]; /* in 0.8usec counts */
1965 __le32 cck[NUM_ELEMENTS_IN_HISTOGRAM]; /* in 1usec counts */ 1966 __le32 cck[NUM_ELEMENTS_IN_HISTOGRAM]; /* in 1usec counts */
1966} __attribute__ ((packed)); 1967} __attribute__ ((packed));
1967 1968
1968/* clear channel availability counters */ 1969/* clear channel availability counters */
1969struct iwl4965_measurement_cca_counters { 1970struct iwl_measurement_cca_counters {
1970 __le32 ofdm; 1971 __le32 ofdm;
1971 __le32 cck; 1972 __le32 cck;
1972} __attribute__ ((packed)); 1973} __attribute__ ((packed));
1973 1974
1974enum iwl4965_measure_type { 1975enum iwl_measure_type {
1975 IWL_MEASURE_BASIC = (1 << 0), 1976 IWL_MEASURE_BASIC = (1 << 0),
1976 IWL_MEASURE_CHANNEL_LOAD = (1 << 1), 1977 IWL_MEASURE_CHANNEL_LOAD = (1 << 1),
1977 IWL_MEASURE_HISTOGRAM_RPI = (1 << 2), 1978 IWL_MEASURE_HISTOGRAM_RPI = (1 << 2),
@@ -1984,7 +1985,7 @@ enum iwl4965_measure_type {
1984/* 1985/*
1985 * SPECTRUM_MEASURE_NOTIFICATION = 0x75 (notification only, not a command) 1986 * SPECTRUM_MEASURE_NOTIFICATION = 0x75 (notification only, not a command)
1986 */ 1987 */
1987struct iwl4965_spectrum_notification { 1988struct iwl_spectrum_notification {
1988 u8 id; /* measurement id -- 0 or 1 */ 1989 u8 id; /* measurement id -- 0 or 1 */
1989 u8 token; 1990 u8 token;
1990 u8 channel_index; /* index in measurement channel list */ 1991 u8 channel_index; /* index in measurement channel list */
@@ -1992,7 +1993,7 @@ struct iwl4965_spectrum_notification {
1992 __le32 start_time; /* lower 32-bits of TSF */ 1993 __le32 start_time; /* lower 32-bits of TSF */
1993 u8 band; /* 0 - 5.2GHz, 1 - 2.4GHz */ 1994 u8 band; /* 0 - 5.2GHz, 1 - 2.4GHz */
1994 u8 channel; 1995 u8 channel;
1995 u8 type; /* see enum iwl4965_measurement_type */ 1996 u8 type; /* see enum iwl_measurement_type */
1996 u8 reserved1; 1997 u8 reserved1;
1997 /* NOTE: cca_ofdm, cca_cck, basic_type, and histogram are only only 1998 /* NOTE: cca_ofdm, cca_cck, basic_type, and histogram are only only
1998 * valid if applicable for measurement type requested. */ 1999 * valid if applicable for measurement type requested. */
@@ -2002,9 +2003,9 @@ struct iwl4965_spectrum_notification {
2002 u8 basic_type; /* 0 - bss, 1 - ofdm preamble, 2 - 2003 u8 basic_type; /* 0 - bss, 1 - ofdm preamble, 2 -
2003 * unidentified */ 2004 * unidentified */
2004 u8 reserved2[3]; 2005 u8 reserved2[3];
2005 struct iwl4965_measurement_histogram histogram; 2006 struct iwl_measurement_histogram histogram;
2006 __le32 stop_time; /* lower 32-bits of TSF */ 2007 __le32 stop_time; /* lower 32-bits of TSF */
2007 __le32 status; /* see iwl4965_measurement_status */ 2008 __le32 status; /* see iwl_measurement_status */
2008} __attribute__ ((packed)); 2009} __attribute__ ((packed));
2009 2010
2010/****************************************************************************** 2011/******************************************************************************
@@ -2062,7 +2063,7 @@ struct iwl_powertable_cmd {
2062 * PM_SLEEP_NOTIFICATION = 0x7A (notification only, not a command) 2063 * PM_SLEEP_NOTIFICATION = 0x7A (notification only, not a command)
2063 * 3945 and 4965 identical. 2064 * 3945 and 4965 identical.
2064 */ 2065 */
2065struct iwl4965_sleep_notification { 2066struct iwl_sleep_notification {
2066 u8 pm_sleep_mode; 2067 u8 pm_sleep_mode;
2067 u8 pm_wakeup_src; 2068 u8 pm_wakeup_src;
2068 __le16 reserved; 2069 __le16 reserved;
@@ -2092,14 +2093,14 @@ enum {
2092#define CARD_STATE_CMD_DISABLE 0x00 /* Put card to sleep */ 2093#define CARD_STATE_CMD_DISABLE 0x00 /* Put card to sleep */
2093#define CARD_STATE_CMD_ENABLE 0x01 /* Wake up card */ 2094#define CARD_STATE_CMD_ENABLE 0x01 /* Wake up card */
2094#define CARD_STATE_CMD_HALT 0x02 /* Power down permanently */ 2095#define CARD_STATE_CMD_HALT 0x02 /* Power down permanently */
2095struct iwl4965_card_state_cmd { 2096struct iwl_card_state_cmd {
2096 __le32 status; /* CARD_STATE_CMD_* request new power state */ 2097 __le32 status; /* CARD_STATE_CMD_* request new power state */
2097} __attribute__ ((packed)); 2098} __attribute__ ((packed));
2098 2099
2099/* 2100/*
2100 * CARD_STATE_NOTIFICATION = 0xa1 (notification only, not a command) 2101 * CARD_STATE_NOTIFICATION = 0xa1 (notification only, not a command)
2101 */ 2102 */
2102struct iwl4965_card_state_notif { 2103struct iwl_card_state_notif {
2103 __le32 flags; 2104 __le32 flags;
2104} __attribute__ ((packed)); 2105} __attribute__ ((packed));
2105 2106
@@ -2162,7 +2163,7 @@ struct iwl_scan_channel {
2162 * struct iwl_ssid_ie - directed scan network information element 2163 * struct iwl_ssid_ie - directed scan network information element
2163 * 2164 *
2164 * Up to 4 of these may appear in REPLY_SCAN_CMD, selected by "type" field 2165 * Up to 4 of these may appear in REPLY_SCAN_CMD, selected by "type" field
2165 * in struct iwl4965_scan_channel; each channel may select different ssids from 2166 * in struct iwl_scan_channel; each channel may select different ssids from
2166 * among the 4 entries. SSID IEs get transmitted in reverse order of entry. 2167 * among the 4 entries. SSID IEs get transmitted in reverse order of entry.
2167 */ 2168 */
2168struct iwl_ssid_ie { 2169struct iwl_ssid_ie {
@@ -2262,7 +2263,7 @@ struct iwl_scan_cmd {
2262 * Number of channels in list is specified by channel_count. 2263 * Number of channels in list is specified by channel_count.
2263 * Each channel in list is of type: 2264 * Each channel in list is of type:
2264 * 2265 *
2265 * struct iwl4965_scan_channel channels[0]; 2266 * struct iwl_scan_channel channels[0];
2266 * 2267 *
2267 * NOTE: Only one band of channels can be scanned per pass. You 2268 * NOTE: Only one band of channels can be scanned per pass. You
2268 * must not mix 2.4GHz channels and 5.2GHz channels, and you must wait 2269 * must not mix 2.4GHz channels and 5.2GHz channels, and you must wait
@@ -2573,7 +2574,7 @@ struct iwl_notif_statistics {
2573 * then this notification will be sent. */ 2574 * then this notification will be sent. */
2574#define CONSECUTIVE_MISSED_BCONS_TH 20 2575#define CONSECUTIVE_MISSED_BCONS_TH 20
2575 2576
2576struct iwl4965_missed_beacon_notif { 2577struct iwl_missed_beacon_notif {
2577 __le32 consequtive_missed_beacons; 2578 __le32 consequtive_missed_beacons;
2578 __le32 total_missed_becons; 2579 __le32 total_missed_becons;
2579 __le32 num_expected_beacons; 2580 __le32 num_expected_beacons;
@@ -3010,19 +3011,17 @@ struct iwl_rx_packet {
3010 struct iwl_cmd_header hdr; 3011 struct iwl_cmd_header hdr;
3011 union { 3012 union {
3012 struct iwl_alive_resp alive_frame; 3013 struct iwl_alive_resp alive_frame;
3013 struct iwl4965_tx_resp tx_resp; 3014 struct iwl_spectrum_notification spectrum_notif;
3014 struct iwl4965_spectrum_notification spectrum_notif; 3015 struct iwl_csa_notification csa_notif;
3015 struct iwl4965_csa_notification csa_notif;
3016 struct iwl_error_resp err_resp; 3016 struct iwl_error_resp err_resp;
3017 struct iwl4965_card_state_notif card_state_notif; 3017 struct iwl_card_state_notif card_state_notif;
3018 struct iwl4965_beacon_notif beacon_status;
3019 struct iwl_add_sta_resp add_sta; 3018 struct iwl_add_sta_resp add_sta;
3020 struct iwl_rem_sta_resp rem_sta; 3019 struct iwl_rem_sta_resp rem_sta;
3021 struct iwl4965_sleep_notification sleep_notif; 3020 struct iwl_sleep_notification sleep_notif;
3022 struct iwl4965_spectrum_resp spectrum; 3021 struct iwl_spectrum_resp spectrum;
3023 struct iwl_notif_statistics stats; 3022 struct iwl_notif_statistics stats;
3024 struct iwl_compressed_ba_resp compressed_ba; 3023 struct iwl_compressed_ba_resp compressed_ba;
3025 struct iwl4965_missed_beacon_notif missed_beacon; 3024 struct iwl_missed_beacon_notif missed_beacon;
3026 __le32 status; 3025 __le32 status;
3027 u8 raw[0]; 3026 u8 raw[0];
3028 } u; 3027 } u;