aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath6kl/wmi.h
diff options
context:
space:
mode:
authorRaja Mani <rmani@qca.qualcomm.com>2011-11-07 15:52:45 -0500
committerKalle Valo <kvalo@qca.qualcomm.com>2011-11-11 05:59:59 -0500
commit45cf110b2b77914a9f02bbf1ba60796f17898be2 (patch)
tree53d4a031fcd2a635dc7317847da3af158b1d4d9a /drivers/net/wireless/ath/ath6kl/wmi.h
parent5c9b4fa19a488de48f1cc2268a7b7b247723568a (diff)
ath6kl: Add wmi functions to configure WOW mode and host sleep mode
It will be used in WOW suspend/resume functions to active/deactivate WOW suspend mode. Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/wmi.h')
-rw-r--r--drivers/net/wireless/ath/ath6kl/wmi.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/wmi.h b/drivers/net/wireless/ath/ath6kl/wmi.h
index df42e4be876a..a65eee20d18a 100644
--- a/drivers/net/wireless/ath/ath6kl/wmi.h
+++ b/drivers/net/wireless/ath/ath6kl/wmi.h
@@ -1818,6 +1818,42 @@ struct wmi_set_ip_cmd {
1818 __le32 ips[MAX_IP_ADDRS]; 1818 __le32 ips[MAX_IP_ADDRS];
1819} __packed; 1819} __packed;
1820 1820
1821enum ath6kl_wow_filters {
1822 WOW_FILTER_SSID = BIT(0),
1823 WOW_FILTER_OPTION_MAGIC_PACKET = BIT(2),
1824 WOW_FILTER_OPTION_EAP_REQ = BIT(3),
1825 WOW_FILTER_OPTION_PATTERNS = BIT(4),
1826 WOW_FILTER_OPTION_OFFLOAD_ARP = BIT(5),
1827 WOW_FILTER_OPTION_OFFLOAD_NS = BIT(6),
1828 WOW_FILTER_OPTION_OFFLOAD_GTK = BIT(7),
1829 WOW_FILTER_OPTION_8021X_4WAYHS = BIT(8),
1830 WOW_FILTER_OPTION_NLO_DISCVRY = BIT(9),
1831 WOW_FILTER_OPTION_NWK_DISASSOC = BIT(10),
1832 WOW_FILTER_OPTION_GTK_ERROR = BIT(11),
1833 WOW_FILTER_OPTION_TEST_MODE = BIT(15),
1834};
1835
1836enum ath6kl_host_mode {
1837 ATH6KL_HOST_MODE_AWAKE,
1838 ATH6KL_HOST_MODE_ASLEEP,
1839};
1840
1841struct wmi_set_host_sleep_mode_cmd {
1842 __le32 awake;
1843 __le32 asleep;
1844} __packed;
1845
1846enum ath6kl_wow_mode {
1847 ATH6KL_WOW_MODE_DISABLE,
1848 ATH6KL_WOW_MODE_ENABLE,
1849};
1850
1851struct wmi_set_wow_mode_cmd {
1852 __le32 enable_wow;
1853 __le32 filter;
1854 __le16 host_req_delay;
1855} __packed;
1856
1821struct wmi_add_wow_pattern_cmd { 1857struct wmi_add_wow_pattern_cmd {
1822 u8 filter_list_id; 1858 u8 filter_list_id;
1823 u8 filter_size; 1859 u8 filter_size;
@@ -2285,6 +2321,11 @@ int ath6kl_wmi_test_cmd(struct wmi *wmi, void *buf, size_t len);
2285s32 ath6kl_wmi_get_rate(s8 rate_index); 2321s32 ath6kl_wmi_get_rate(s8 rate_index);
2286 2322
2287int ath6kl_wmi_set_ip_cmd(struct wmi *wmi, struct wmi_set_ip_cmd *ip_cmd); 2323int ath6kl_wmi_set_ip_cmd(struct wmi *wmi, struct wmi_set_ip_cmd *ip_cmd);
2324int ath6kl_wmi_set_host_sleep_mode_cmd(struct wmi *wmi, u8 if_idx,
2325 enum ath6kl_host_mode host_mode);
2326int ath6kl_wmi_set_wow_mode_cmd(struct wmi *wmi, u8 if_idx,
2327 enum ath6kl_wow_mode wow_mode,
2328 u32 filter, u16 host_req_delay);
2288int ath6kl_wmi_add_wow_pattern_cmd(struct wmi *wmi, u8 if_idx, 2329int ath6kl_wmi_add_wow_pattern_cmd(struct wmi *wmi, u8 if_idx,
2289 u8 list_id, u8 filter_size, 2330 u8 list_id, u8 filter_size,
2290 u8 filter_offset, u8 *filter, u8 *mask); 2331 u8 filter_offset, u8 *filter, u8 *mask);