qcacld-3.0: Enhance TDLS antenna switch operation
qcacld-2.0 to qcacld-3.0 propagation
Remove TDLS teardown wait event for antenna switch 1x1 -> 2x2 and
avoid band specific validation.
Change-Id: If29c102e59ba0f9df528e988e9d5e517a9849c55
CRs-Fixed: 961949
diff --git a/core/hdd/inc/wlan_hdd_tdls.h b/core/hdd/inc/wlan_hdd_tdls.h
index 4ad93bc..f17857d 100644
--- a/core/hdd/inc/wlan_hdd_tdls.h
+++ b/core/hdd/inc/wlan_hdd_tdls.h
@@ -135,6 +135,16 @@
} eTDLSSupportMode;
/**
+ * enum tdls_spatial_streams - TDLS spatial streams
+ * @TDLS_NSS_1x1_MODE: TDLS tx/rx spatial streams = 1
+ * @TDLS_NSS_2x2_MODE: TDLS tx/rx spatial streams = 2
+ */
+enum tdls_spatial_streams {
+ TDLS_NSS_1x1_MODE = 0,
+ TDLS_NSS_2x2_MODE = 0xff,
+};
+
+/**
* enum tTDLSCapType - tdls capability type
*
* @eTDLS_CAP_NOT_SUPPORTED: tdls not supported
@@ -369,6 +379,7 @@
* @op_class_for_pref_off_chan_is_set: op class for preferred off channel set
* @peer_idle_timer: time to check idle traffic in tdls peers
* @is_peer_idle_timer_initialised: Flag to check idle timer init
+ * @spatial_streams: Number of TX/RX spatial streams for TDLS
* @reason: reason
* @state_change_notification: state change notification
*/
@@ -400,6 +411,7 @@
uint8_t op_class_for_pref_off_chan_is_set;
qdf_mc_timer_t peer_idle_timer;
bool is_peer_idle_timer_initialised;
+ uint8_t spatial_streams;
tTDLSLinkReason reason;
cfg80211_exttdls_callback state_change_notification;
} hddTdlsPeer_t;
@@ -670,7 +682,8 @@
void hdd_tdls_context_init(hdd_context_t *hdd_ctx);
void hdd_tdls_context_destroy(hdd_context_t *hdd_ctx);
int wlan_hdd_tdls_antenna_switch(hdd_context_t *hdd_ctx,
- hdd_adapter_t *adapter);
+ hdd_adapter_t *adapter,
+ uint32_t mode);
#else
static inline void hdd_tdls_notify_mode_change(hdd_adapter_t *adapter,
@@ -696,7 +709,8 @@
static inline void hdd_tdls_context_destroy(hdd_context_t *hdd_ctx) { }
static inline int wlan_hdd_tdls_antenna_switch(hdd_context_t *hdd_ctx,
- hdd_adapter_t *adapter)
+ hdd_adapter_t *adapter,
+ uint32_t mode)
{
return 0;
}