From: John W. Linville Date: Tue, 13 Jul 2010 19:57:29 +0000 (-0400) Subject: Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel... X-Git-Tag: master-2010-08-04~261^2 X-Git-Url: http://pileus.org/git/?a=commitdiff_plain;h=e300d955debdadf599c36e47eb0bc16f5976215c;p=~andy%2Flinux Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem Conflicts: drivers/net/wireless/wl12xx/wl1271_cmd.h --- e300d955debdadf599c36e47eb0bc16f5976215c diff --cc drivers/net/wireless/iwlwifi/iwl-commands.h index acf8e980b1f,a587999d07d..8d2db9d2204 --- a/drivers/net/wireless/iwlwifi/iwl-commands.h +++ b/drivers/net/wireless/iwlwifi/iwl-commands.h @@@ -1207,8 -1208,45 +1208,45 @@@ struct iwl_rem_sta_cmd u8 reserved[3]; u8 addr[ETH_ALEN]; /* MAC addr of the first station */ u8 reserved2[2]; -} __attribute__ ((packed)); +} __packed; + #define IWL_TX_FIFO_BK_MSK cpu_to_le32(BIT(0)) + #define IWL_TX_FIFO_BE_MSK cpu_to_le32(BIT(1)) + #define IWL_TX_FIFO_VI_MSK cpu_to_le32(BIT(2)) + #define IWL_TX_FIFO_VO_MSK cpu_to_le32(BIT(3)) + #define IWL_AGG_TX_QUEUE_MSK cpu_to_le32(0xffc00) + + #define IWL_DROP_SINGLE 0 + #define IWL_DROP_SELECTED 1 + #define IWL_DROP_ALL 2 + + /* + * REPLY_TXFIFO_FLUSH = 0x1e(command and response) + * + * When using full FIFO flush this command checks the scheduler HW block WR/RD + * pointers to check if all the frames were transferred by DMA into the + * relevant TX FIFO queue. Only when the DMA is finished and the queue is + * empty the command can finish. + * This command is used to flush the TXFIFO from transmit commands, it may + * operate on single or multiple queues, the command queue can't be flushed by + * this command. The command response is returned when all the queue flush + * operations are done. Each TX command flushed return response with the FLUSH + * status set in the TX response status. When FIFO flush operation is used, + * the flush operation ends when both the scheduler DMA done and TXFIFO empty + * are set. + * + * @fifo_control: bit mask for which queues to flush + * @flush_control: flush controls + * 0: Dump single MSDU + * 1: Dump multiple MSDU according to PS, INVALID STA, TTL, TID disable. + * 2: Dump all FIFO + */ + struct iwl_txfifo_flush_cmd { + __le32 fifo_control; + __le16 flush_control; + __le16 reserved; + } __attribute__ ((packed)); + /* * REPLY_WEP_KEY = 0x20 */ @@@ -3466,8 -3539,16 +3539,16 @@@ struct iwl_missed_beacon_notif struct iwl_sensitivity_cmd { __le16 control; /* always use "1" */ __le16 table[HD_TABLE_SIZE]; /* use HD_* as index */ -} __attribute__ ((packed)); +} __packed; + /* + * + */ + struct iwl_enhance_sensitivity_cmd { + __le16 control; /* always use "1" */ + __le16 enhance_table[ENHANCE_HD_TABLE_SIZE]; /* use HD_* as index */ + } __attribute__ ((packed)); + /** * REPLY_PHY_CALIBRATION_CMD = 0xb0 (command, has simple generic response) diff --cc drivers/net/wireless/wl12xx/wl1271_cmd.h index f5745d829c9,34cd013ae5b..af577ee8eb0 --- a/drivers/net/wireless/wl12xx/wl1271_cmd.h +++ b/drivers/net/wireless/wl12xx/wl1271_cmd.h @@@ -348,73 -345,8 +345,8 @@@ struct wl1271_cmd_set_keys u8 key[MAX_KEY_SIZE]; __le16 ac_seq_num16[NUM_ACCESS_CATEGORIES_COPY]; __le32 ac_seq_num32[NUM_ACCESS_CATEGORIES_COPY]; -} __attribute__ ((packed)); +} __packed; - - #define WL1271_SCAN_MAX_CHANNELS 24 - #define WL1271_SCAN_DEFAULT_TAG 1 - #define WL1271_SCAN_CURRENT_TX_PWR 0 - #define WL1271_SCAN_OPT_ACTIVE 0 - #define WL1271_SCAN_OPT_PASSIVE 1 - #define WL1271_SCAN_OPT_PRIORITY_HIGH 4 - #define WL1271_SCAN_CHAN_MIN_DURATION 30000 /* TU */ - #define WL1271_SCAN_CHAN_MAX_DURATION 60000 /* TU */ - #define WL1271_SCAN_BAND_2_4_GHZ 0 - #define WL1271_SCAN_BAND_5_GHZ 1 - #define WL1271_SCAN_BAND_DUAL 2 - - struct basic_scan_params { - __le32 rx_config_options; - __le32 rx_filter_options; - /* Scan option flags (WL1271_SCAN_OPT_*) */ - __le16 scan_options; - /* Number of scan channels in the list (maximum 30) */ - u8 num_channels; - /* This field indicates the number of probe requests to send - per channel for an active scan */ - u8 num_probe_requests; - /* Rate bit field for sending the probes */ - __le32 tx_rate; - u8 tid_trigger; - u8 ssid_len; - /* in order to align */ - u8 padding1[2]; - u8 ssid[IW_ESSID_MAX_SIZE]; - /* Band to scan */ - u8 band; - u8 use_ssid_list; - u8 scan_tag; - u8 padding2; - } __packed; - - struct basic_scan_channel_params { - /* Duration in TU to wait for frames on a channel for active scan */ - __le32 min_duration; - __le32 max_duration; - __le32 bssid_lsb; - __le16 bssid_msb; - u8 early_termination; - u8 tx_power_att; - u8 channel; - /* FW internal use only! */ - u8 dfs_candidate; - u8 activity_detected; - u8 pad; - } __packed; - - struct wl1271_cmd_scan { - struct wl1271_cmd_header header; - - struct basic_scan_params params; - struct basic_scan_channel_params channels[WL1271_SCAN_MAX_CHANNELS]; - } __packed; - - struct wl1271_cmd_trigger_scan_to { - struct wl1271_cmd_header header; - - __le32 timeout; - } __packed; - struct wl1271_cmd_test_header { u8 id; u8 padding[3];