Index: chromeos/compat-wireless/drivers/staging/ath6kl/wmi/wmi_host.h |
diff --git a/chromeos/compat-wireless/drivers/staging/ath6kl/wmi/wmi_host.h b/chromeos/compat-wireless/drivers/staging/ath6kl/wmi/wmi_host.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5c7f7d3c3ce1ac8a9d1ca1aaea3bc02b975a6939 |
--- /dev/null |
+++ b/chromeos/compat-wireless/drivers/staging/ath6kl/wmi/wmi_host.h |
@@ -0,0 +1,102 @@ |
+//------------------------------------------------------------------------------ |
+// <copyright file="wmi_host.h" company="Atheros"> |
+// 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. |
+// |
+// |
+//------------------------------------------------------------------------------ |
+//============================================================================== |
+// This file contains local definitios for the wmi host module. |
+// |
+// Author(s): ="Atheros" |
+//============================================================================== |
+#ifndef _WMI_HOST_H_ |
+#define _WMI_HOST_H_ |
+ |
+#include "roaming.h" |
+#ifdef __cplusplus |
+extern "C" { |
+#endif |
+ |
+struct wmi_stats { |
+ A_UINT32 cmd_len_err; |
+ A_UINT32 cmd_id_err; |
+}; |
+ |
+#define SSID_IE_LEN_INDEX 13 |
+ |
+/* Host side link management data structures */ |
+#define SIGNAL_QUALITY_THRESHOLD_LEVELS 6 |
+#define SIGNAL_QUALITY_UPPER_THRESHOLD_LEVELS SIGNAL_QUALITY_THRESHOLD_LEVELS |
+#define SIGNAL_QUALITY_LOWER_THRESHOLD_LEVELS SIGNAL_QUALITY_THRESHOLD_LEVELS |
+typedef struct sq_threshold_params_s { |
+ A_INT16 upper_threshold[SIGNAL_QUALITY_UPPER_THRESHOLD_LEVELS]; |
+ A_INT16 lower_threshold[SIGNAL_QUALITY_LOWER_THRESHOLD_LEVELS]; |
+ A_UINT32 upper_threshold_valid_count; |
+ A_UINT32 lower_threshold_valid_count; |
+ A_UINT32 polling_interval; |
+ A_UINT8 weight; |
+ A_UINT8 last_rssi; //normally you would expect this to be bss specific but we keep only one instance because its only valid when the device is in a connected state. Not sure if it belongs to host or target. |
+ A_UINT8 last_rssi_poll_event; //Not sure if it belongs to host or target |
+} SQ_THRESHOLD_PARAMS; |
+ |
+/* |
+ * These constants are used with A_WLAN_BAND_SET. |
+ */ |
+#define A_BAND_24GHZ 0 |
+#define A_BAND_5GHZ 1 |
+#define A_NUM_BANDS 2 |
+ |
+struct wmi_t { |
+ A_BOOL wmi_ready; |
+ A_BOOL wmi_numQoSStream; |
+ A_UINT16 wmi_streamExistsForAC[WMM_NUM_AC]; |
+ A_UINT8 wmi_fatPipeExists; |
+ void *wmi_devt; |
+ struct wmi_stats wmi_stats; |
+ struct ieee80211_node_table wmi_scan_table; |
+ A_UINT8 wmi_bssid[ATH_MAC_LEN]; |
+ A_UINT8 wmi_powerMode; |
+ A_UINT8 wmi_phyMode; |
+ A_UINT8 wmi_keepaliveInterval; |
+#ifdef THREAD_X |
+ A_CSECT_T wmi_lock; |
+#else |
+ A_MUTEX_T wmi_lock; |
+#endif |
+ HTC_ENDPOINT_ID wmi_endpoint_id; |
+ SQ_THRESHOLD_PARAMS wmi_SqThresholdParams[SIGNAL_QUALITY_METRICS_NUM_MAX]; |
+ CRYPTO_TYPE wmi_pair_crypto_type; |
+ CRYPTO_TYPE wmi_grp_crypto_type; |
+ A_BOOL wmi_is_wmm_enabled; |
+ A_UINT8 wmi_ht_allowed[A_NUM_BANDS]; |
+ A_UINT8 wmi_traffic_class; |
+}; |
+ |
+#ifdef THREAD_X |
+#define INIT_WMI_LOCK(w) A_CSECT_INIT(&(w)->wmi_lock) |
+#define LOCK_WMI(w) A_CSECT_ENTER(&(w)->wmi_lock); |
+#define UNLOCK_WMI(w) A_CSECT_LEAVE(&(w)->wmi_lock); |
+#define DELETE_WMI_LOCK(w) A_CSECT_DELETE(&(w)->wmi_lock); |
+#else |
+#define LOCK_WMI(w) A_MUTEX_LOCK(&(w)->wmi_lock); |
+#define UNLOCK_WMI(w) A_MUTEX_UNLOCK(&(w)->wmi_lock); |
+#endif |
+ |
+#ifdef __cplusplus |
+} |
+#endif |
+ |
+#endif /* _WMI_HOST_H_ */ |