aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-commands.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-commands.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-commands.h85
1 files changed, 83 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/wireless/iwlwifi/iwl-commands.h
index acf8e980b1fe..8d2db9d22045 100644
--- a/drivers/net/wireless/iwlwifi/iwl-commands.h
+++ b/drivers/net/wireless/iwlwifi/iwl-commands.h
@@ -97,6 +97,7 @@ enum {
97 REPLY_ADD_STA = 0x18, 97 REPLY_ADD_STA = 0x18,
98 REPLY_REMOVE_STA = 0x19, 98 REPLY_REMOVE_STA = 0x19,
99 REPLY_REMOVE_ALL_STA = 0x1a, /* not used */ 99 REPLY_REMOVE_ALL_STA = 0x1a, /* not used */
100 REPLY_TXFIFO_FLUSH = 0x1e,
100 101
101 /* Security */ 102 /* Security */
102 REPLY_WEPKEY = 0x20, 103 REPLY_WEPKEY = 0x20,
@@ -957,8 +958,8 @@ struct iwl_qosparam_cmd {
957#define IWL3945_STATION_COUNT 25 958#define IWL3945_STATION_COUNT 25
958#define IWL4965_BROADCAST_ID 31 959#define IWL4965_BROADCAST_ID 31
959#define IWL4965_STATION_COUNT 32 960#define IWL4965_STATION_COUNT 32
960#define IWL5000_BROADCAST_ID 15 961#define IWLAGN_BROADCAST_ID 15
961#define IWL5000_STATION_COUNT 16 962#define IWLAGN_STATION_COUNT 16
962 963
963#define IWL_STATION_COUNT 32 /* MAX(3945,4965)*/ 964#define IWL_STATION_COUNT 32 /* MAX(3945,4965)*/
964#define IWL_INVALID_STATION 255 965#define IWL_INVALID_STATION 255
@@ -1209,6 +1210,43 @@ struct iwl_rem_sta_cmd {
1209 u8 reserved2[2]; 1210 u8 reserved2[2];
1210} __packed; 1211} __packed;
1211 1212
1213#define IWL_TX_FIFO_BK_MSK cpu_to_le32(BIT(0))
1214#define IWL_TX_FIFO_BE_MSK cpu_to_le32(BIT(1))
1215#define IWL_TX_FIFO_VI_MSK cpu_to_le32(BIT(2))
1216#define IWL_TX_FIFO_VO_MSK cpu_to_le32(BIT(3))
1217#define IWL_AGG_TX_QUEUE_MSK cpu_to_le32(0xffc00)
1218
1219#define IWL_DROP_SINGLE 0
1220#define IWL_DROP_SELECTED 1
1221#define IWL_DROP_ALL 2
1222
1223/*
1224 * REPLY_TXFIFO_FLUSH = 0x1e(command and response)
1225 *
1226 * When using full FIFO flush this command checks the scheduler HW block WR/RD
1227 * pointers to check if all the frames were transferred by DMA into the
1228 * relevant TX FIFO queue. Only when the DMA is finished and the queue is
1229 * empty the command can finish.
1230 * This command is used to flush the TXFIFO from transmit commands, it may
1231 * operate on single or multiple queues, the command queue can't be flushed by
1232 * this command. The command response is returned when all the queue flush
1233 * operations are done. Each TX command flushed return response with the FLUSH
1234 * status set in the TX response status. When FIFO flush operation is used,
1235 * the flush operation ends when both the scheduler DMA done and TXFIFO empty
1236 * are set.
1237 *
1238 * @fifo_control: bit mask for which queues to flush
1239 * @flush_control: flush controls
1240 * 0: Dump single MSDU
1241 * 1: Dump multiple MSDU according to PS, INVALID STA, TTL, TID disable.
1242 * 2: Dump all FIFO
1243 */
1244struct iwl_txfifo_flush_cmd {
1245 __le32 fifo_control;
1246 __le16 flush_control;
1247 __le16 reserved;
1248} __attribute__ ((packed));
1249
1212/* 1250/*
1213 * REPLY_WEP_KEY = 0x20 1251 * REPLY_WEP_KEY = 0x20
1214 */ 1252 */
@@ -3452,6 +3490,41 @@ struct iwl_missed_beacon_notif {
3452#define HD_AUTO_CORR40_X4_TH_ADD_MIN_INDEX (9) 3490#define HD_AUTO_CORR40_X4_TH_ADD_MIN_INDEX (9)
3453#define HD_OFDM_ENERGY_TH_IN_INDEX (10) 3491#define HD_OFDM_ENERGY_TH_IN_INDEX (10)
3454 3492
3493/*
3494 * Additional table entries in enhance SENSITIVITY_CMD
3495 */
3496#define HD_INA_NON_SQUARE_DET_OFDM_INDEX (11)
3497#define HD_INA_NON_SQUARE_DET_CCK_INDEX (12)
3498#define HD_CORR_11_INSTEAD_OF_CORR_9_EN_INDEX (13)
3499#define HD_OFDM_NON_SQUARE_DET_SLOPE_MRC_INDEX (14)
3500#define HD_OFDM_NON_SQUARE_DET_INTERCEPT_MRC_INDEX (15)
3501#define HD_OFDM_NON_SQUARE_DET_SLOPE_INDEX (16)
3502#define HD_OFDM_NON_SQUARE_DET_INTERCEPT_INDEX (17)
3503#define HD_CCK_NON_SQUARE_DET_SLOPE_MRC_INDEX (18)
3504#define HD_CCK_NON_SQUARE_DET_INTERCEPT_MRC_INDEX (19)
3505#define HD_CCK_NON_SQUARE_DET_SLOPE_INDEX (20)
3506#define HD_CCK_NON_SQUARE_DET_INTERCEPT_INDEX (21)
3507#define HD_RESERVED (22)
3508
3509/* number of entries for enhanced tbl */
3510#define ENHANCE_HD_TABLE_SIZE (23)
3511
3512/* number of additional entries for enhanced tbl */
3513#define ENHANCE_HD_TABLE_ENTRIES (ENHANCE_HD_TABLE_SIZE - HD_TABLE_SIZE)
3514
3515#define HD_INA_NON_SQUARE_DET_OFDM_DATA cpu_to_le16(0)
3516#define HD_INA_NON_SQUARE_DET_CCK_DATA cpu_to_le16(0)
3517#define HD_CORR_11_INSTEAD_OF_CORR_9_EN_DATA cpu_to_le16(0)
3518#define HD_OFDM_NON_SQUARE_DET_SLOPE_MRC_DATA cpu_to_le16(668)
3519#define HD_OFDM_NON_SQUARE_DET_INTERCEPT_MRC_DATA cpu_to_le16(4)
3520#define HD_OFDM_NON_SQUARE_DET_SLOPE_DATA cpu_to_le16(486)
3521#define HD_OFDM_NON_SQUARE_DET_INTERCEPT_DATA cpu_to_le16(37)
3522#define HD_CCK_NON_SQUARE_DET_SLOPE_MRC_DATA cpu_to_le16(853)
3523#define HD_CCK_NON_SQUARE_DET_INTERCEPT_MRC_DATA cpu_to_le16(4)
3524#define HD_CCK_NON_SQUARE_DET_SLOPE_DATA cpu_to_le16(476)
3525#define HD_CCK_NON_SQUARE_DET_INTERCEPT_DATA cpu_to_le16(99)
3526
3527
3455/* Control field in struct iwl_sensitivity_cmd */ 3528/* Control field in struct iwl_sensitivity_cmd */
3456#define SENSITIVITY_CMD_CONTROL_DEFAULT_TABLE cpu_to_le16(0) 3529#define SENSITIVITY_CMD_CONTROL_DEFAULT_TABLE cpu_to_le16(0)
3457#define SENSITIVITY_CMD_CONTROL_WORK_TABLE cpu_to_le16(1) 3530#define SENSITIVITY_CMD_CONTROL_WORK_TABLE cpu_to_le16(1)
@@ -3468,6 +3541,14 @@ struct iwl_sensitivity_cmd {
3468 __le16 table[HD_TABLE_SIZE]; /* use HD_* as index */ 3541 __le16 table[HD_TABLE_SIZE]; /* use HD_* as index */
3469} __packed; 3542} __packed;
3470 3543
3544/*
3545 *
3546 */
3547struct iwl_enhance_sensitivity_cmd {
3548 __le16 control; /* always use "1" */
3549 __le16 enhance_table[ENHANCE_HD_TABLE_SIZE]; /* use HD_* as index */
3550} __attribute__ ((packed));
3551
3471 3552
3472/** 3553/**
3473 * REPLY_PHY_CALIBRATION_CMD = 0xb0 (command, has simple generic response) 3554 * REPLY_PHY_CALIBRATION_CMD = 0xb0 (command, has simple generic response)