diff options
author | Arik Nemtsov <arik@wizery.com> | 2010-10-16 11:52:59 -0400 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-01-24 15:11:46 -0500 |
commit | 79b223f4c7ce35fba145c504de12be030cc0007e (patch) | |
tree | e83e8abc8cc89cdd5e6912be7540418bac8bfbd2 /drivers/net/wireless/wl12xx/acx.h | |
parent | 1e05a81888318752e9a6d2158a95ddd6442ae117 (diff) |
wl12xx: AP mode - AP specific CMD_CONFIGURE sub-commands
Add AP max retries and rate policy configuration.
Rename STA rate policy configuration function.
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Reviewed-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/acx.h')
-rw-r--r-- | drivers/net/wireless/wl12xx/acx.h | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/drivers/net/wireless/wl12xx/acx.h b/drivers/net/wireless/wl12xx/acx.h index 7bd8e4db4a71..62a269d84ebe 100644 --- a/drivers/net/wireless/wl12xx/acx.h +++ b/drivers/net/wireless/wl12xx/acx.h | |||
@@ -747,13 +747,23 @@ struct acx_rate_class { | |||
747 | #define ACX_TX_BASIC_RATE 0 | 747 | #define ACX_TX_BASIC_RATE 0 |
748 | #define ACX_TX_AP_FULL_RATE 1 | 748 | #define ACX_TX_AP_FULL_RATE 1 |
749 | #define ACX_TX_RATE_POLICY_CNT 2 | 749 | #define ACX_TX_RATE_POLICY_CNT 2 |
750 | struct acx_rate_policy { | 750 | struct acx_sta_rate_policy { |
751 | struct acx_header header; | 751 | struct acx_header header; |
752 | 752 | ||
753 | __le32 rate_class_cnt; | 753 | __le32 rate_class_cnt; |
754 | struct acx_rate_class rate_class[CONF_TX_MAX_RATE_CLASSES]; | 754 | struct acx_rate_class rate_class[CONF_TX_MAX_RATE_CLASSES]; |
755 | } __packed; | 755 | } __packed; |
756 | 756 | ||
757 | |||
758 | #define ACX_TX_AP_MODE_MGMT_RATE 4 | ||
759 | #define ACX_TX_AP_MODE_BCST_RATE 5 | ||
760 | struct acx_ap_rate_policy { | ||
761 | struct acx_header header; | ||
762 | |||
763 | __le32 rate_policy_idx; | ||
764 | struct acx_rate_class rate_policy; | ||
765 | } __packed; | ||
766 | |||
757 | struct acx_ac_cfg { | 767 | struct acx_ac_cfg { |
758 | struct acx_header header; | 768 | struct acx_header header; |
759 | u8 ac; | 769 | u8 ac; |
@@ -1062,6 +1072,17 @@ struct wl1271_acx_fw_tsf_information { | |||
1062 | u8 padding[3]; | 1072 | u8 padding[3]; |
1063 | } __packed; | 1073 | } __packed; |
1064 | 1074 | ||
1075 | struct wl1271_acx_max_tx_retry { | ||
1076 | struct acx_header header; | ||
1077 | |||
1078 | /* | ||
1079 | * the number of frames transmission failures before | ||
1080 | * issuing the aging event. | ||
1081 | */ | ||
1082 | __le16 max_tx_retry; | ||
1083 | u8 padding_1[2]; | ||
1084 | } __packed; | ||
1085 | |||
1065 | enum { | 1086 | enum { |
1066 | ACX_WAKE_UP_CONDITIONS = 0x0002, | 1087 | ACX_WAKE_UP_CONDITIONS = 0x0002, |
1067 | ACX_MEM_CFG = 0x0003, | 1088 | ACX_MEM_CFG = 0x0003, |
@@ -1119,6 +1140,7 @@ enum { | |||
1119 | ACX_HT_BSS_OPERATION = 0x0058, | 1140 | ACX_HT_BSS_OPERATION = 0x0058, |
1120 | ACX_COEX_ACTIVITY = 0x0059, | 1141 | ACX_COEX_ACTIVITY = 0x0059, |
1121 | ACX_SET_DCO_ITRIM_PARAMS = 0x0061, | 1142 | ACX_SET_DCO_ITRIM_PARAMS = 0x0061, |
1143 | ACX_MAX_TX_FAILURE = 0x0072, | ||
1122 | DOT11_RX_MSDU_LIFE_TIME = 0x1004, | 1144 | DOT11_RX_MSDU_LIFE_TIME = 0x1004, |
1123 | DOT11_CUR_TX_PWR = 0x100D, | 1145 | DOT11_CUR_TX_PWR = 0x100D, |
1124 | DOT11_RX_DOT11_MODE = 0x1012, | 1146 | DOT11_RX_DOT11_MODE = 0x1012, |
@@ -1160,7 +1182,9 @@ int wl1271_acx_set_preamble(struct wl1271 *wl, enum acx_preamble_type preamble); | |||
1160 | int wl1271_acx_cts_protect(struct wl1271 *wl, | 1182 | int wl1271_acx_cts_protect(struct wl1271 *wl, |
1161 | enum acx_ctsprotect_type ctsprotect); | 1183 | enum acx_ctsprotect_type ctsprotect); |
1162 | int wl1271_acx_statistics(struct wl1271 *wl, struct acx_statistics *stats); | 1184 | int wl1271_acx_statistics(struct wl1271 *wl, struct acx_statistics *stats); |
1163 | int wl1271_acx_rate_policies(struct wl1271 *wl); | 1185 | int wl1271_acx_sta_rate_policies(struct wl1271 *wl); |
1186 | int wl1271_acx_ap_rate_policy(struct wl1271 *wl, struct conf_tx_rate_class *c, | ||
1187 | u8 idx); | ||
1164 | int wl1271_acx_ac_cfg(struct wl1271 *wl, u8 ac, u8 cw_min, u16 cw_max, | 1188 | int wl1271_acx_ac_cfg(struct wl1271 *wl, u8 ac, u8 cw_min, u16 cw_max, |
1165 | u8 aifsn, u16 txop); | 1189 | u8 aifsn, u16 txop); |
1166 | int wl1271_acx_tid_cfg(struct wl1271 *wl, u8 queue_id, u8 channel_type, | 1190 | int wl1271_acx_tid_cfg(struct wl1271 *wl, u8 queue_id, u8 channel_type, |
@@ -1186,5 +1210,6 @@ int wl1271_acx_set_ht_capabilities(struct wl1271 *wl, | |||
1186 | int wl1271_acx_set_ht_information(struct wl1271 *wl, | 1210 | int wl1271_acx_set_ht_information(struct wl1271 *wl, |
1187 | u16 ht_operation_mode); | 1211 | u16 ht_operation_mode); |
1188 | int wl1271_acx_tsf_info(struct wl1271 *wl, u64 *mactime); | 1212 | int wl1271_acx_tsf_info(struct wl1271 *wl, u64 *mactime); |
1213 | int wl1271_acx_max_tx_retry(struct wl1271 *wl); | ||
1189 | 1214 | ||
1190 | #endif /* __WL1271_ACX_H__ */ | 1215 | #endif /* __WL1271_ACX_H__ */ |