Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(549)

Side by Side Diff: chromeos/drivers/ath6kl/include/common/wmi.h

Issue 3579004: ath6kl: Bringing in the upstream version (Closed) Base URL: http://git.chromium.org/git/kernel.git
Patch Set: Created 10 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 //------------------------------------------------------------------------------ 1 //------------------------------------------------------------------------------
2 // <copyright file="wmi.h" company="Atheros"> 2 // Copyright (c) 2004-2010 Atheros Corporation. All rights reserved.
3 // Copyright (c) 2004-2008 Atheros Corporation. All rights reserved.
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License version 2 as
7 // published by the Free Software Foundation;
8 //
9 // Software distributed under the License is distributed on an "AS
10 // IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
11 // implied. See the License for the specific language governing
12 // rights and limitations under the License.
13 // 3 //
14 // 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 //
9 // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 // ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 //
17 //
18 //
19 // Author(s): ="Atheros"
15 //------------------------------------------------------------------------------ 20 //------------------------------------------------------------------------------
16 //==============================================================================
17 // Author(s): ="Atheros"
18 //==============================================================================
19 21
20 /* 22 /*
21 * This file contains the definitions of the WMI protocol specified in the 23 * This file contains the definitions of the WMI protocol specified in the
22 * Wireless Module Interface (WMI). It includes definitions of all the 24 * Wireless Module Interface (WMI). It includes definitions of all the
23 * commands and events. Commands are messages from the host to the WM. 25 * commands and events. Commands are messages from the host to the WM.
24 * Events and Replies are messages from the WM to the host. 26 * Events and Replies are messages from the WM to the host.
25 * 27 *
26 * Ownership of correctness in regards to commands 28 * Ownership of correctness in regards to commands
27 * belongs to the host driver and the WMI is not required to validate 29 * belongs to the host driver and the WMI is not required to validate
28 * parameters for value, proper range, or any other checking. 30 * parameters for value, proper range, or any other checking.
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 62
61 #define WMI_IMPLICIT_PSTREAM 0xFF 63 #define WMI_IMPLICIT_PSTREAM 0xFF
62 #define WMI_MAX_THINSTREAM 15 64 #define WMI_MAX_THINSTREAM 15
63 65
64 #ifdef AR6002_REV2 66 #ifdef AR6002_REV2
65 #define IBSS_MAX_NUM_STA 4 67 #define IBSS_MAX_NUM_STA 4
66 #else 68 #else
67 #define IBSS_MAX_NUM_STA 8 69 #define IBSS_MAX_NUM_STA 8
68 #endif 70 #endif
69 71
70 struct host_app_area_s { 72 PREPACK struct host_app_area_s {
71 A_UINT32 wmi_protocol_ver; 73 A_UINT32 wmi_protocol_ver;
72 }; 74 } POSTPACK;
73 75
74 /* 76 /*
75 * Data Path 77 * Data Path
76 */ 78 */
77 typedef PREPACK struct { 79 typedef PREPACK struct {
78 A_UINT8 dstMac[ATH_MAC_LEN]; 80 A_UINT8 dstMac[ATH_MAC_LEN];
79 A_UINT8 srcMac[ATH_MAC_LEN]; 81 A_UINT8 srcMac[ATH_MAC_LEN];
80 A_UINT16 typeOrLen; 82 A_UINT16 typeOrLen;
81 } POSTPACK ATH_MAC_HDR; 83 } POSTPACK ATH_MAC_HDR;
82 84
(...skipping 1599 matching lines...) Expand 10 before | Expand all | Expand 10 after
1682 1684
1683 typedef PREPACK struct { 1685 typedef PREPACK struct {
1684 A_UINT32 aclWlanMediumDur; /* Wlan usage time during Acl (non-a2dp) 1686 A_UINT32 aclWlanMediumDur; /* Wlan usage time during Acl (non-a2dp)
1685 coexistence (default 30 msecs) 1687 coexistence (default 30 msecs)
1686 */ 1688 */
1687 1689
1688 A_UINT32 aclBtMediumDur; /* Bt usage time during acl coexistence 1690 A_UINT32 aclBtMediumDur; /* Bt usage time during acl coexistence
1689 (default 30 msecs) 1691 (default 30 msecs)
1690 */ 1692 */
1691 1693
1692 » A_UINT32 aclDetectTimeout;» /* ACL coexistence enabled if we get 1694 » A_UINT32 aclDetectTimeout;» /* BT activity observation time limit .
1693 » » » » » » » » 10 Pkts in X msec(default 100 msecs) 1695 » » » » » » » » » In thi s time duration, number of bt pkts are counted.
1696 » » » » » » » » » If the Cnt reaches "aclPktCntLowerLimit" value
1697 » » » » » » » » » for "a clIterToEnableCoex" iteration continuously,
1698 » » » » » » » » » firmwa re gets into ACL coexistence mode.
1699 » » » » » » » » » Simila rly, if bt traffic count during ACL coexistence
1700 » » » » » » » » » has no t reached "aclPktCntLowerLimit" continuously
1701 » » » » » » » » » for "a clIterToEnableCoex", then ACL coexistence is
1702 » » » » » » » » » disabl ed.
1703 » » » » » » » » -default 100 m secs
1694 */ 1704 */
1695 1705
1696 » A_UINT32 aclmaxPktCnt;»» /* No of ACL pkts to receive before 1706 » A_UINT32 aclPktCntLowerLimit; /* Acl Pkt Cnt to be received in durati on of
1697 » » » » » » » » enabling A CL coex 1707 » » » » » » » » » » "aclDetectTimeout" for
1698 default = 9 1708 » » » » » » » » » » "aclIterForEnDis" times to enabling ACL coex.
1709 Similar logic is used to disable acl coe xistence.
1710 (If "aclPktCntLowerLimit" cnt of acl pk ts
1711 are not seen by the for "aclIterForEnDi s"
1712 then acl coexistence is disabled).
1713 default = 10
1699 */ 1714 */
1700 1715
1716 A_UINT32 aclIterForEnDis; /* number of Iteration of "aclPktCntLowe rLimit" for Enabling and
1717 Disabling Acl Coexistence.
1718 default = 3
1719 */
1720
1721 A_UINT32 aclPktCntUpperLimit; /* This is upperBound limit, if there is more than
1722 "aclPk tCntUpperLimit" seen in "aclDetectTimeout",
1723 ACL co existence is enabled right away.
1724 - defa ult 15*/
1725
1701 A_UINT32 aclCoexFlags; /* A2DP Option flags: 1726 A_UINT32 aclCoexFlags; /* A2DP Option flags:
1702 bits: meaning: 1727 bits: meaning:
1703 0 Allow Close Range Optimization 1728 0 Allow Close Range Optimization
1704 1 disable Firmware detection 1729 1 disable Firmware detection
1705 (Currently supported configuration is aclC oexFlags =0) 1730 (Currently supported configuration is aclC oexFlags =0)
1706 */ 1731 */
1707 A_UINT32 linkId; /* Applicable only for STE-BT - not used */ 1732 A_UINT32 linkId; /* Applicable only for STE-BT - not used */
1708 1733
1709 }POSTPACK BTCOEX_ACLCOEX_CONFIG; 1734 }POSTPACK BTCOEX_ACLCOEX_CONFIG;
1710 1735
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
1921 WMI_ADDBA_REQ_EVENTID, /*0x1020 */ 1946 WMI_ADDBA_REQ_EVENTID, /*0x1020 */
1922 WMI_ADDBA_RESP_EVENTID, 1947 WMI_ADDBA_RESP_EVENTID,
1923 WMI_DELBA_REQ_EVENTID, 1948 WMI_DELBA_REQ_EVENTID,
1924 WMI_TX_COMPLETE_EVENTID, 1949 WMI_TX_COMPLETE_EVENTID,
1925 WMI_HCI_EVENT_EVENTID, 1950 WMI_HCI_EVENT_EVENTID,
1926 WMI_ACL_DATA_EVENTID, 1951 WMI_ACL_DATA_EVENTID,
1927 WMI_REPORT_SLEEP_STATE_EVENTID, 1952 WMI_REPORT_SLEEP_STATE_EVENTID,
1928 #ifdef WAPI_ENABLE 1953 #ifdef WAPI_ENABLE
1929 WMI_WAPI_REKEY_EVENTID, 1954 WMI_WAPI_REKEY_EVENTID,
1930 #endif 1955 #endif
1931 » WMI_REPORT_BTCOEX_STATS_EVENTID, 1956 WMI_REPORT_BTCOEX_STATS_EVENTID,
1932 » WMI_REPORT_BTCOEX_CONFIG_EVENTID, 1957 WMI_REPORT_BTCOEX_CONFIG_EVENTID,
1933 1958 WMI_ACM_REJECT_EVENTID,
1934 » WMI_THIN_RESERVED_START_EVENTID = 0x8000, 1959 WMI_THIN_RESERVED_START_EVENTID = 0x8000,
1935 » /* Events in this range are reserved for thinmode 1960 /* Events in this range are reserved for thinmode
1936 » * See wmi_thin.h for actual definitions */ 1961 * See wmi_thin.h for actual definitions */
1937 WMI_THIN_RESERVED_END_EVENTID = 0x8fff, 1962 WMI_THIN_RESERVED_END_EVENTID = 0x8fff,
1938 1963
1939 } WMI_EVENT_ID; 1964 } WMI_EVENT_ID;
1940 1965
1941 1966
1942 typedef enum { 1967 typedef enum {
1943 WMI_11A_CAPABILITY = 1, 1968 WMI_11A_CAPABILITY = 1,
1944 WMI_11G_CAPABILITY = 2, 1969 WMI_11G_CAPABILITY = 2,
1945 WMI_11AG_CAPABILITY = 3, 1970 WMI_11AG_CAPABILITY = 3,
1946 WMI_11NA_CAPABILITY = 4, 1971 WMI_11NA_CAPABILITY = 4,
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
2079 A_UINT32 regDomain; 2104 A_UINT32 regDomain;
2080 } POSTPACK WMI_REG_DOMAIN_EVENT; 2105 } POSTPACK WMI_REG_DOMAIN_EVENT;
2081 2106
2082 typedef PREPACK struct { 2107 typedef PREPACK struct {
2083 A_UINT8 txQueueNumber; 2108 A_UINT8 txQueueNumber;
2084 A_UINT8 rxQueueNumber; 2109 A_UINT8 rxQueueNumber;
2085 A_UINT8 trafficDirection; 2110 A_UINT8 trafficDirection;
2086 A_UINT8 trafficClass; 2111 A_UINT8 trafficClass;
2087 } POSTPACK WMI_PSTREAM_TIMEOUT_EVENT; 2112 } POSTPACK WMI_PSTREAM_TIMEOUT_EVENT;
2088 2113
2114 typedef PREPACK struct {
2115 A_UINT8 reserve1;
2116 A_UINT8 reserve2;
2117 A_UINT8 reserve3;
2118 A_UINT8 trafficClass;
2119 } POSTPACK WMI_ACM_REJECT_EVENT;
2120
2089 /* 2121 /*
2090 * The WMI_NEIGHBOR_REPORT Event is generated by the target to inform 2122 * The WMI_NEIGHBOR_REPORT Event is generated by the target to inform
2091 * the host of BSS's it has found that matches the current profile. 2123 * the host of BSS's it has found that matches the current profile.
2092 * It can be used by the host to cache PMKs and/to initiate pre-authentication 2124 * It can be used by the host to cache PMKs and/to initiate pre-authentication
2093 * if the BSS supports it. The first bssid is always the current associated 2125 * if the BSS supports it. The first bssid is always the current associated
2094 * BSS. 2126 * BSS.
2095 * The bssid and bssFlags information repeats according to the number 2127 * The bssid and bssFlags information repeats according to the number
2096 * or APs reported. 2128 * or APs reported.
2097 */ 2129 */
2098 typedef enum { 2130 typedef enum {
(...skipping 909 matching lines...) Expand 10 before | Expand all | Expand 10 after
3008 3040
3009 typedef PREPACK struct { 3041 typedef PREPACK struct {
3010 A_UINT32 rateMasks[8]; 3042 A_UINT32 rateMasks[8];
3011 } POSTPACK WMI_SET_TX_SELECT_RATES_CMD; 3043 } POSTPACK WMI_SET_TX_SELECT_RATES_CMD;
3012 3044
3013 typedef PREPACK struct { 3045 typedef PREPACK struct {
3014 A_UINT32 sgiMask; 3046 A_UINT32 sgiMask;
3015 A_UINT8 sgiPERThreshold; 3047 A_UINT8 sgiPERThreshold;
3016 } POSTPACK WMI_SET_TX_SGI_PARAM_CMD; 3048 } POSTPACK WMI_SET_TX_SGI_PARAM_CMD;
3017 3049
3050 #define DEFAULT_SGI_MASK 0x08080000
3051 #define DEFAULT_SGI_PER 10
3018 3052
3019 typedef PREPACK struct { 3053 typedef PREPACK struct {
3020 A_UINT32 rateField; /* 1 bit per rate corresponding to index */ 3054 A_UINT32 rateField; /* 1 bit per rate corresponding to index */
3021 A_UINT8 id; 3055 A_UINT8 id;
3022 A_UINT8 shortTrys; 3056 A_UINT8 shortTrys;
3023 A_UINT8 longTrys; 3057 A_UINT8 longTrys;
3024 A_UINT8 reserved; /* padding */ 3058 A_UINT8 reserved; /* padding */
3025 } POSTPACK WMI_SET_RATE_POLICY_CMD; 3059 } POSTPACK WMI_SET_RATE_POLICY_CMD;
3026 3060
3027 typedef PREPACK struct { 3061 typedef PREPACK struct {
3028 A_UINT8 metaVersion; /* version of meta data for rx packets <0 = default> (0 -7 = valid) */ 3062 A_UINT8 metaVersion; /* version of meta data for rx packets <0 = default> (0 -7 = valid) */
3029 A_UINT8 dot11Hdr; /* 1 == leave .11 header intact , 0 == replace .11 header with .3 <default> */ 3063 A_UINT8 dot11Hdr; /* 1 == leave .11 header intact , 0 == replace .11 header with .3 <default> */
3030 A_UINT8 defragOnHost; /* 1 == defragmentation is performed by host, 0 == per formed by target <default> */ 3064 A_UINT8 defragOnHost; /* 1 == defragmentation is performed by host, 0 == per formed by target <default> */
3031 A_UINT8 reserved[1]; /* alignment */ 3065 A_UINT8 reserved[1]; /* alignment */
3032 } POSTPACK WMI_RX_FRAME_FORMAT_CMD; 3066 } POSTPACK WMI_RX_FRAME_FORMAT_CMD;
3033 3067
3034 3068
3035 typedef PREPACK struct { 3069 typedef PREPACK struct {
3036 A_UINT8 enable; // 1 == device operates in thin mode , 0 == normal mode <default> */ 3070 A_UINT8 enable; /* 1 == device operates in thin mode , 0 == normal mode <default> */
3037 A_UINT8 reserved[3]; 3071 A_UINT8 reserved[3];
3038 } POSTPACK WMI_SET_THIN_MODE_CMD; 3072 } POSTPACK WMI_SET_THIN_MODE_CMD;
3039 3073
3040 /* AP mode events */ 3074 /* AP mode events */
3041 /* WMI_PS_POLL_EVENT */ 3075 /* WMI_PS_POLL_EVENT */
3042 typedef PREPACK struct { 3076 typedef PREPACK struct {
3043 A_UINT16 aid; 3077 A_UINT16 aid;
3044 } POSTPACK WMI_PSPOLL_EVENT; 3078 } POSTPACK WMI_PSPOLL_EVENT;
3045 3079
3046 typedef PREPACK struct { 3080 typedef PREPACK struct {
(...skipping 29 matching lines...) Expand all
3076 3110
3077 #ifndef ATH_TARGET 3111 #ifndef ATH_TARGET
3078 #include "athendpack.h" 3112 #include "athendpack.h"
3079 #endif 3113 #endif
3080 3114
3081 #ifdef __cplusplus 3115 #ifdef __cplusplus
3082 } 3116 }
3083 #endif 3117 #endif
3084 3118
3085 #endif /* _WMI_H_ */ 3119 #endif /* _WMI_H_ */
OLDNEW
« no previous file with comments | « chromeos/drivers/ath6kl/include/common/wlan_dset.h ('k') | chromeos/drivers/ath6kl/include/common/wmi_thin.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698