Index: chromeos/drivers/ath6kl/include/common/wmi.h |
diff --git a/chromeos/drivers/ath6kl/include/wmi.h b/chromeos/drivers/ath6kl/include/common/wmi.h |
similarity index 96% |
rename from chromeos/drivers/ath6kl/include/wmi.h |
rename to chromeos/drivers/ath6kl/include/common/wmi.h |
index bdd3bc127d8dc7d305b67f4bc77df068cb5323a2..c75d310c37a79a91721775960bd817d7f3463a86 100644 |
--- a/chromeos/drivers/ath6kl/include/wmi.h |
+++ b/chromeos/drivers/ath6kl/include/common/wmi.h |
@@ -1,21 +1,23 @@ |
//------------------------------------------------------------------------------ |
-// <copyright file="wmi.h" company="Atheros"> |
-// Copyright (c) 2004-2008 Atheros Corporation. All rights reserved. |
-// |
-// This program is free software; you can redistribute it and/or modify |
-// it under the terms of the GNU General Public License version 2 as |
-// published by the Free Software Foundation; |
+// Copyright (c) 2004-2010 Atheros Corporation. All rights reserved. |
+// |
+// |
+// Permission to use, copy, modify, and/or distribute this software for any |
+// purpose with or without fee is hereby granted, provided that the above |
+// copyright notice and this permission notice appear in all copies. |
+// |
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
// |
-// Software distributed under the License is distributed on an "AS |
-// IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or |
-// implied. See the License for the specific language governing |
-// rights and limitations under the License. |
// |
// |
-//------------------------------------------------------------------------------ |
-//============================================================================== |
// Author(s): ="Atheros" |
-//============================================================================== |
+//------------------------------------------------------------------------------ |
/* |
* This file contains the definitions of the WMI protocol specified in the |
@@ -67,9 +69,9 @@ extern "C" { |
#define IBSS_MAX_NUM_STA 8 |
#endif |
-struct host_app_area_s { |
+PREPACK struct host_app_area_s { |
A_UINT32 wmi_protocol_ver; |
-}; |
+} POSTPACK; |
/* |
* Data Path |
@@ -1689,15 +1691,38 @@ typedef PREPACK struct { |
(default 30 msecs) |
*/ |
- A_UINT32 aclDetectTimeout; /* ACL coexistence enabled if we get |
- 10 Pkts in X msec(default 100 msecs) |
+ A_UINT32 aclDetectTimeout; /* BT activity observation time limit. |
+ In this time duration, number of bt pkts are counted. |
+ If the Cnt reaches "aclPktCntLowerLimit" value |
+ for "aclIterToEnableCoex" iteration continuously, |
+ firmware gets into ACL coexistence mode. |
+ Similarly, if bt traffic count during ACL coexistence |
+ has not reached "aclPktCntLowerLimit" continuously |
+ for "aclIterToEnableCoex", then ACL coexistence is |
+ disabled. |
+ -default 100 msecs |
*/ |
- A_UINT32 aclmaxPktCnt; /* No of ACL pkts to receive before |
- enabling ACL coex |
- default = 9 |
+ A_UINT32 aclPktCntLowerLimit; /* Acl Pkt Cnt to be received in duration of |
+ "aclDetectTimeout" for |
+ "aclIterForEnDis" times to enabling ACL coex. |
+ Similar logic is used to disable acl coexistence. |
+ (If "aclPktCntLowerLimit" cnt of acl pkts |
+ are not seen by the for "aclIterForEnDis" |
+ then acl coexistence is disabled). |
+ default = 10 |
*/ |
+ A_UINT32 aclIterForEnDis; /* number of Iteration of "aclPktCntLowerLimit" for Enabling and |
+ Disabling Acl Coexistence. |
+ default = 3 |
+ */ |
+ |
+ A_UINT32 aclPktCntUpperLimit; /* This is upperBound limit, if there is more than |
+ "aclPktCntUpperLimit" seen in "aclDetectTimeout", |
+ ACL coexistence is enabled right away. |
+ - default 15*/ |
+ |
A_UINT32 aclCoexFlags; /* A2DP Option flags: |
bits: meaning: |
0 Allow Close Range Optimization |
@@ -1928,12 +1953,12 @@ typedef enum { |
#ifdef WAPI_ENABLE |
WMI_WAPI_REKEY_EVENTID, |
#endif |
- WMI_REPORT_BTCOEX_STATS_EVENTID, |
- WMI_REPORT_BTCOEX_CONFIG_EVENTID, |
- |
- WMI_THIN_RESERVED_START_EVENTID = 0x8000, |
- /* Events in this range are reserved for thinmode |
- * See wmi_thin.h for actual definitions */ |
+ WMI_REPORT_BTCOEX_STATS_EVENTID, |
+ WMI_REPORT_BTCOEX_CONFIG_EVENTID, |
+ WMI_ACM_REJECT_EVENTID, |
+ WMI_THIN_RESERVED_START_EVENTID = 0x8000, |
+ /* Events in this range are reserved for thinmode |
+ * See wmi_thin.h for actual definitions */ |
WMI_THIN_RESERVED_END_EVENTID = 0x8fff, |
} WMI_EVENT_ID; |
@@ -2086,6 +2111,13 @@ typedef PREPACK struct { |
A_UINT8 trafficClass; |
} POSTPACK WMI_PSTREAM_TIMEOUT_EVENT; |
+typedef PREPACK struct { |
+ A_UINT8 reserve1; |
+ A_UINT8 reserve2; |
+ A_UINT8 reserve3; |
+ A_UINT8 trafficClass; |
+} POSTPACK WMI_ACM_REJECT_EVENT; |
+ |
/* |
* The WMI_NEIGHBOR_REPORT Event is generated by the target to inform |
* the host of BSS's it has found that matches the current profile. |
@@ -3015,6 +3047,8 @@ typedef PREPACK struct { |
A_UINT8 sgiPERThreshold; |
} POSTPACK WMI_SET_TX_SGI_PARAM_CMD; |
+#define DEFAULT_SGI_MASK 0x08080000 |
+#define DEFAULT_SGI_PER 10 |
typedef PREPACK struct { |
A_UINT32 rateField; /* 1 bit per rate corresponding to index */ |
@@ -3033,7 +3067,7 @@ typedef PREPACK struct { |
typedef PREPACK struct { |
- A_UINT8 enable; // 1 == device operates in thin mode , 0 == normal mode <default> */ |
+ A_UINT8 enable; /* 1 == device operates in thin mode , 0 == normal mode <default> */ |
A_UINT8 reserved[3]; |
} POSTPACK WMI_SET_THIN_MODE_CMD; |