wmi.h (66dd07b88a1c9d446f32253da606b87324fa620e) | wmi.h (d154f32ebe3ffe9dea6ed0a91767883b1e7a6bc0) |
---|---|
1/* 2 * Copyright (c) 2010-2011 Atheros Communications Inc. 3 * Copyright (c) 2011-2012 Qualcomm Atheros, Inc. 4 * 5 * Permission to use, copy, modify, and/or distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * --- 610 unchanged lines hidden (view full) --- 619 WMI_SET_IGTK_CMDID, 620 621 WMI_RX_FILTER_COALESCE_FILTER_OP_CMDID, 622 WMI_RX_FILTER_SET_FRAME_TEST_LIST_CMDID, 623 624 WMI_SEND_MGMT_CMDID, 625 WMI_BEGIN_SCAN_CMDID, 626 | 1/* 2 * Copyright (c) 2010-2011 Atheros Communications Inc. 3 * Copyright (c) 2011-2012 Qualcomm Atheros, Inc. 4 * 5 * Permission to use, copy, modify, and/or distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * --- 610 unchanged lines hidden (view full) --- 619 WMI_SET_IGTK_CMDID, 620 621 WMI_RX_FILTER_COALESCE_FILTER_OP_CMDID, 622 WMI_RX_FILTER_SET_FRAME_TEST_LIST_CMDID, 623 624 WMI_SEND_MGMT_CMDID, 625 WMI_BEGIN_SCAN_CMDID, 626 |
627 WMI_SET_BLACK_LIST, 628 WMI_SET_MCASTRATE, 629 630 WMI_STA_BMISS_ENHANCE_CMDID, |
|
627}; 628 629enum wmi_mgmt_frame_type { 630 WMI_FRAME_BEACON = 0, 631 WMI_FRAME_PROBE_REQ, 632 WMI_FRAME_PROBE_RESP, 633 WMI_FRAME_ASSOC_REQ, 634 WMI_FRAME_ASSOC_RESP, --- 320 unchanged lines hidden (view full) --- 955 CURRENT_BSS_FILTER, 956 957 /* all but beacons matching BSS */ 958 ALL_BUT_BSS_FILTER, 959 960 /* beacons matching probed ssid */ 961 PROBED_SSID_FILTER, 962 | 631}; 632 633enum wmi_mgmt_frame_type { 634 WMI_FRAME_BEACON = 0, 635 WMI_FRAME_PROBE_REQ, 636 WMI_FRAME_PROBE_RESP, 637 WMI_FRAME_ASSOC_REQ, 638 WMI_FRAME_ASSOC_RESP, --- 320 unchanged lines hidden (view full) --- 959 CURRENT_BSS_FILTER, 960 961 /* all but beacons matching BSS */ 962 ALL_BUT_BSS_FILTER, 963 964 /* beacons matching probed ssid */ 965 PROBED_SSID_FILTER, 966 |
967 /* beacons matching matched ssid */ 968 MATCHED_SSID_FILTER, 969 |
|
963 /* marker only */ 964 LAST_BSS_FILTER, 965}; 966 967struct wmi_bss_filter_cmd { 968 /* see, enum wmi_bss_filter */ 969 u8 bss_filter; 970 971 /* for alignment */ 972 u8 reserved1; 973 974 /* for alignment */ 975 __le16 reserved2; 976 977 __le32 ie_mask; 978} __packed; 979 980/* WMI_SET_PROBED_SSID_CMDID */ | 970 /* marker only */ 971 LAST_BSS_FILTER, 972}; 973 974struct wmi_bss_filter_cmd { 975 /* see, enum wmi_bss_filter */ 976 u8 bss_filter; 977 978 /* for alignment */ 979 u8 reserved1; 980 981 /* for alignment */ 982 __le16 reserved2; 983 984 __le32 ie_mask; 985} __packed; 986 987/* WMI_SET_PROBED_SSID_CMDID */ |
981#define MAX_PROBED_SSID_INDEX 9 | 988#define MAX_PROBED_SSIDS 16 |
982 983enum wmi_ssid_flag { 984 /* disables entry */ 985 DISABLE_SSID_FLAG = 0, 986 987 /* probes specified ssid */ 988 SPECIFIC_SSID_FLAG = 0x01, 989 990 /* probes for any ssid */ 991 ANY_SSID_FLAG = 0x02, | 989 990enum wmi_ssid_flag { 991 /* disables entry */ 992 DISABLE_SSID_FLAG = 0, 993 994 /* probes specified ssid */ 995 SPECIFIC_SSID_FLAG = 0x01, 996 997 /* probes for any ssid */ 998 ANY_SSID_FLAG = 0x02, |
999 1000 /* match for ssid */ 1001 MATCH_SSID_FLAG = 0x08, |
|
992}; 993 994struct wmi_probed_ssid_cmd { | 1002}; 1003 1004struct wmi_probed_ssid_cmd { |
995 /* 0 to MAX_PROBED_SSID_INDEX */ | 1005 /* 0 to MAX_PROBED_SSIDS - 1 */ |
996 u8 entry_index; 997 998 /* see, enum wmi_ssid_flg */ 999 u8 flag; 1000 1001 u8 ssid_len; 1002 u8 ssid[IEEE80211_MAX_SSID_LEN]; 1003} __packed; --- 8 unchanged lines hidden (view full) --- 1012} __packed; 1013 1014/* WMI_SET_BMISS_TIME_CMDID */ 1015struct wmi_bmiss_time_cmd { 1016 __le16 bmiss_time; 1017 __le16 num_beacons; 1018}; 1019 | 1006 u8 entry_index; 1007 1008 /* see, enum wmi_ssid_flg */ 1009 u8 flag; 1010 1011 u8 ssid_len; 1012 u8 ssid[IEEE80211_MAX_SSID_LEN]; 1013} __packed; --- 8 unchanged lines hidden (view full) --- 1022} __packed; 1023 1024/* WMI_SET_BMISS_TIME_CMDID */ 1025struct wmi_bmiss_time_cmd { 1026 __le16 bmiss_time; 1027 __le16 num_beacons; 1028}; 1029 |
1030/* WMI_STA_ENHANCE_BMISS_CMDID */ 1031struct wmi_sta_bmiss_enhance_cmd { 1032 u8 enable; 1033} __packed; 1034 |
|
1020/* WMI_SET_POWER_MODE_CMDID */ 1021enum wmi_power_mode { 1022 REC_POWER = 0x01, 1023 MAX_PERF_POWER, 1024}; 1025 1026struct wmi_power_mode_cmd { 1027 /* see, enum wmi_power_mode */ --- 15 unchanged lines hidden (view full) --- 1043 1044 __le16 pspoll_number; 1045 __le16 dtim_policy; 1046 __le16 tx_wakeup_policy; 1047 __le16 num_tx_to_wakeup; 1048 __le16 ps_fail_event_policy; 1049} __packed; 1050 | 1035/* WMI_SET_POWER_MODE_CMDID */ 1036enum wmi_power_mode { 1037 REC_POWER = 0x01, 1038 MAX_PERF_POWER, 1039}; 1040 1041struct wmi_power_mode_cmd { 1042 /* see, enum wmi_power_mode */ --- 15 unchanged lines hidden (view full) --- 1058 1059 __le16 pspoll_number; 1060 __le16 dtim_policy; 1061 __le16 tx_wakeup_policy; 1062 __le16 num_tx_to_wakeup; 1063 __le16 ps_fail_event_policy; 1064} __packed; 1065 |
1066/* 1067 * Ratemask for below modes should be passed 1068 * to WMI_SET_TX_SELECT_RATES_CMDID. 1069 * AR6003 has 32 bit mask for each modes. 1070 * First 12 bits for legacy rates, 13 to 20 1071 * bits for HT 20 rates and 21 to 28 bits for 1072 * HT 40 rates 1073 */ 1074enum wmi_mode_phy { 1075 WMI_RATES_MODE_11A = 0, 1076 WMI_RATES_MODE_11G, 1077 WMI_RATES_MODE_11B, 1078 WMI_RATES_MODE_11GONLY, 1079 WMI_RATES_MODE_11A_HT20, 1080 WMI_RATES_MODE_11G_HT20, 1081 WMI_RATES_MODE_11A_HT40, 1082 WMI_RATES_MODE_11G_HT40, 1083 WMI_RATES_MODE_MAX 1084}; 1085 1086/* WMI_SET_TX_SELECT_RATES_CMDID */ 1087struct wmi_set_tx_select_rates32_cmd { 1088 __le32 ratemask[WMI_RATES_MODE_MAX]; 1089} __packed; 1090 1091/* WMI_SET_TX_SELECT_RATES_CMDID */ 1092struct wmi_set_tx_select_rates64_cmd { 1093 __le64 ratemask[WMI_RATES_MODE_MAX]; 1094} __packed; 1095 |
|
1051/* WMI_SET_DISC_TIMEOUT_CMDID */ 1052struct wmi_disc_timeout_cmd { 1053 /* seconds */ 1054 u8 discon_timeout; 1055} __packed; 1056 1057enum dir_type { 1058 UPLINK_TRAFFIC = 0, --- 508 unchanged lines hidden (view full) --- 1567 u8 roam_mode; /* WMI_SET_ROAM_MODE */ 1568 struct bss_bias_info bss; /* WMI_SET_HOST_BIAS */ 1569 struct low_rssi_scan_params params; /* WMI_SET_LRSSI_SCAN_PARAMS 1570 */ 1571 } __packed info; 1572 u8 roam_ctrl; 1573} __packed; 1574 | 1096/* WMI_SET_DISC_TIMEOUT_CMDID */ 1097struct wmi_disc_timeout_cmd { 1098 /* seconds */ 1099 u8 discon_timeout; 1100} __packed; 1101 1102enum dir_type { 1103 UPLINK_TRAFFIC = 0, --- 508 unchanged lines hidden (view full) --- 1612 u8 roam_mode; /* WMI_SET_ROAM_MODE */ 1613 struct bss_bias_info bss; /* WMI_SET_HOST_BIAS */ 1614 struct low_rssi_scan_params params; /* WMI_SET_LRSSI_SCAN_PARAMS 1615 */ 1616 } __packed info; 1617 u8 roam_ctrl; 1618} __packed; 1619 |
1620struct set_dtim_cmd { 1621 __le32 dtim_period; 1622} __packed; 1623 |
|
1575/* BSS INFO HDR version 2.0 */ 1576struct wmi_bss_info_hdr2 { 1577 __le16 ch; /* frequency in MHz */ 1578 1579 /* see, enum wmi_bi_ftype */ 1580 u8 frame_type; 1581 1582 u8 snr; /* note: rssi = snr - 95 dBm */ --- 944 unchanged lines hidden (view full) --- 2527int ath6kl_wmi_test_cmd(struct wmi *wmi, void *buf, size_t len); 2528 2529s32 ath6kl_wmi_get_rate(s8 rate_index); 2530 2531int ath6kl_wmi_set_ip_cmd(struct wmi *wmi, u8 if_idx, 2532 __be32 ips0, __be32 ips1); 2533int ath6kl_wmi_set_host_sleep_mode_cmd(struct wmi *wmi, u8 if_idx, 2534 enum ath6kl_host_mode host_mode); | 1624/* BSS INFO HDR version 2.0 */ 1625struct wmi_bss_info_hdr2 { 1626 __le16 ch; /* frequency in MHz */ 1627 1628 /* see, enum wmi_bi_ftype */ 1629 u8 frame_type; 1630 1631 u8 snr; /* note: rssi = snr - 95 dBm */ --- 944 unchanged lines hidden (view full) --- 2576int ath6kl_wmi_test_cmd(struct wmi *wmi, void *buf, size_t len); 2577 2578s32 ath6kl_wmi_get_rate(s8 rate_index); 2579 2580int ath6kl_wmi_set_ip_cmd(struct wmi *wmi, u8 if_idx, 2581 __be32 ips0, __be32 ips1); 2582int ath6kl_wmi_set_host_sleep_mode_cmd(struct wmi *wmi, u8 if_idx, 2583 enum ath6kl_host_mode host_mode); |
2584int ath6kl_wmi_set_bitrate_mask(struct wmi *wmi, u8 if_idx, 2585 const struct cfg80211_bitrate_mask *mask); |
|
2535int ath6kl_wmi_set_wow_mode_cmd(struct wmi *wmi, u8 if_idx, 2536 enum ath6kl_wow_mode wow_mode, 2537 u32 filter, u16 host_req_delay); 2538int ath6kl_wmi_add_wow_pattern_cmd(struct wmi *wmi, u8 if_idx, 2539 u8 list_id, u8 filter_size, 2540 u8 filter_offset, const u8 *filter, 2541 const u8 *mask); 2542int ath6kl_wmi_del_wow_pattern_cmd(struct wmi *wmi, u8 if_idx, 2543 u16 list_id, u16 filter_id); 2544int ath6kl_wmi_set_roam_lrssi_cmd(struct wmi *wmi, u8 lrssi); | 2586int ath6kl_wmi_set_wow_mode_cmd(struct wmi *wmi, u8 if_idx, 2587 enum ath6kl_wow_mode wow_mode, 2588 u32 filter, u16 host_req_delay); 2589int ath6kl_wmi_add_wow_pattern_cmd(struct wmi *wmi, u8 if_idx, 2590 u8 list_id, u8 filter_size, 2591 u8 filter_offset, const u8 *filter, 2592 const u8 *mask); 2593int ath6kl_wmi_del_wow_pattern_cmd(struct wmi *wmi, u8 if_idx, 2594 u16 list_id, u16 filter_id); 2595int ath6kl_wmi_set_roam_lrssi_cmd(struct wmi *wmi, u8 lrssi); |
2596int ath6kl_wmi_ap_set_dtim_cmd(struct wmi *wmi, u8 if_idx, u32 dtim_period); |
|
2545int ath6kl_wmi_force_roam_cmd(struct wmi *wmi, const u8 *bssid); 2546int ath6kl_wmi_set_roam_mode_cmd(struct wmi *wmi, enum wmi_roam_mode mode); 2547int ath6kl_wmi_mcast_filter_cmd(struct wmi *wmi, u8 if_idx, bool mc_all_on); 2548int ath6kl_wmi_add_del_mcast_filter_cmd(struct wmi *wmi, u8 if_idx, 2549 u8 *filter, bool add_filter); | 2597int ath6kl_wmi_force_roam_cmd(struct wmi *wmi, const u8 *bssid); 2598int ath6kl_wmi_set_roam_mode_cmd(struct wmi *wmi, enum wmi_roam_mode mode); 2599int ath6kl_wmi_mcast_filter_cmd(struct wmi *wmi, u8 if_idx, bool mc_all_on); 2600int ath6kl_wmi_add_del_mcast_filter_cmd(struct wmi *wmi, u8 if_idx, 2601 u8 *filter, bool add_filter); |
2602int ath6kl_wmi_sta_bmiss_enhance_cmd(struct wmi *wmi, u8 if_idx, bool enable); 2603 |
|
2550/* AP mode uAPSD */ 2551int ath6kl_wmi_ap_set_apsd(struct wmi *wmi, u8 if_idx, u8 enable); 2552 2553int ath6kl_wmi_set_apsd_bfrd_traf(struct wmi *wmi, 2554 u8 if_idx, u16 aid, 2555 u16 bitmap, u32 flags); 2556 2557u8 ath6kl_wmi_get_traffic_class(u8 user_priority); --- 55 unchanged lines hidden --- | 2604/* AP mode uAPSD */ 2605int ath6kl_wmi_ap_set_apsd(struct wmi *wmi, u8 if_idx, u8 enable); 2606 2607int ath6kl_wmi_set_apsd_bfrd_traf(struct wmi *wmi, 2608 u8 if_idx, u16 aid, 2609 u16 bitmap, u32 flags); 2610 2611u8 ath6kl_wmi_get_traffic_class(u8 user_priority); --- 55 unchanged lines hidden --- |