|
@@ -34,25 +34,6 @@
|
|
|
|
|
|
struct hdd_context;
|
|
|
|
|
|
-/*
|
|
|
- * enum tdls_support_mode - TDLS support modes
|
|
|
- * @eTDLS_SUPPORT_NOT_ENABLED: TDLS support not enabled
|
|
|
- * @eTDLS_SUPPORT_DISABLED: suppress implicit trigger and not respond
|
|
|
- * to the peer
|
|
|
- * @eTDLS_SUPPORT_EXPLICIT_TRIGGER_ONLY: suppress implicit trigger,
|
|
|
- * but respond to the peer
|
|
|
- * @eTDLS_SUPPORT_ENABLED: implicit trigger
|
|
|
- * @eTDLS_SUPPORT_EXTERNAL_CONTROL: implicit trigger but only to a
|
|
|
- * peer mac configured by user space.
|
|
|
- */
|
|
|
-enum tdls_support_mode {
|
|
|
- eTDLS_SUPPORT_NOT_ENABLED = 0,
|
|
|
- eTDLS_SUPPORT_DISABLED,
|
|
|
- eTDLS_SUPPORT_EXPLICIT_TRIGGER_ONLY,
|
|
|
- eTDLS_SUPPORT_ENABLED,
|
|
|
- eTDLS_SUPPORT_EXTERNAL_CONTROL,
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* enum tdls_concerned_external_events - External events that affect TDLS
|
|
|
* @P2P_ROC_START: P2P remain on channel starts
|
|
@@ -65,60 +46,10 @@ enum tdls_concerned_external_events {
|
|
|
|
|
|
#ifdef FEATURE_WLAN_TDLS
|
|
|
|
|
|
-/*
|
|
|
- * Before UpdateTimer expires, we want to timeout discovery response
|
|
|
- * should not be more than 2000.
|
|
|
- */
|
|
|
-#define TDLS_DISCOVERY_TIMEOUT_BEFORE_UPDATE 1000
|
|
|
-
|
|
|
-#define TDLS_CTX_MAGIC 0x54444c53 /* "TDLS" */
|
|
|
-
|
|
|
-#define TDLS_MAX_SCAN_SCHEDULE 10
|
|
|
-#define TDLS_MAX_SCAN_REJECT 5
|
|
|
-#define TDLS_DELAY_SCAN_PER_CONNECTION 100
|
|
|
-#define TDLS_MAX_CONNECTED_PEERS_TO_ALLOW_SCAN 1
|
|
|
-
|
|
|
-#define TDLS_IS_CONNECTED(peer) \
|
|
|
- ((eTDLS_LINK_CONNECTED == (peer)->link_status) || \
|
|
|
- (eTDLS_LINK_TEARING == (peer)->link_status))
|
|
|
-
|
|
|
/* Bit mask flag for tdls_option to FW */
|
|
|
#define ENA_TDLS_OFFCHAN (1 << 0) /* TDLS Off Channel support */
|
|
|
#define ENA_TDLS_BUFFER_STA (1 << 1) /* TDLS Buffer STA support */
|
|
|
#define ENA_TDLS_SLEEP_STA (1 << 2) /* TDLS Sleep STA support */
|
|
|
-#define TDLS_SEC_OFFCHAN_OFFSET_0 0
|
|
|
-#define TDLS_SEC_OFFCHAN_OFFSET_40PLUS 40
|
|
|
-#define TDLS_SEC_OFFCHAN_OFFSET_40MINUS (-40)
|
|
|
-#define TDLS_SEC_OFFCHAN_OFFSET_80 80
|
|
|
-#define TDLS_SEC_OFFCHAN_OFFSET_160 160
|
|
|
-
|
|
|
-#define TDLS_PEER_LIST_SIZE 256
|
|
|
-
|
|
|
-#define TDLS_CT_MAC_AGE_OUT_TIME (30*60*1000) /* Age out time is 30 mins */
|
|
|
-
|
|
|
-#define EXTTDLS_EVENT_BUF_SIZE (4096)
|
|
|
-
|
|
|
-#define TDLS_CT_MAC_MAX_TABLE_SIZE 8
|
|
|
-
|
|
|
-/* Define the interval for 5 minutes */
|
|
|
-#define TDLS_ENABLE_CDS_FLUSH_INTERVAL 300000000
|
|
|
-
|
|
|
-/**
|
|
|
- * enum tdls_disable_source - TDLS disable sources
|
|
|
- * @HDD_SET_TDLS_MODE_SOURCE_USER: disable from user
|
|
|
- * @HDD_SET_TDLS_MODE_SOURCE_SCAN: disable during scan
|
|
|
- * @HDD_SET_TDLS_MODE_SOURCE_OFFCHANNEL: disable during offchannel
|
|
|
- * @HDD_SET_TDLS_MODE_SOURCE_BTC: disable during bluetooth
|
|
|
- * @HDD_SET_TDLS_MODE_SOURCE_P2P: disable during p2p
|
|
|
- */
|
|
|
-enum tdls_disable_source {
|
|
|
- HDD_SET_TDLS_MODE_SOURCE_USER = 0,
|
|
|
- HDD_SET_TDLS_MODE_SOURCE_SCAN,
|
|
|
- HDD_SET_TDLS_MODE_SOURCE_OFFCHANNEL,
|
|
|
- HDD_SET_TDLS_MODE_SOURCE_BTC,
|
|
|
- HDD_SET_TDLS_MODE_SOURCE_P2P,
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* struct tdls_config_params_t - tdls config params
|
|
|
*
|
|
@@ -144,310 +75,12 @@ typedef struct {
|
|
|
int32_t rssi_delta;
|
|
|
} tdls_config_params_t;
|
|
|
|
|
|
-/**
|
|
|
- * 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 tdls_nss_transition_type - TDLS NSS transition states
|
|
|
- * @TDLS_NSS_TRANSITION_UNKNOWN: default state
|
|
|
- * @TDLS_NSS_TRANSITION_2x2_to_1x1: transition from 2x2 to 1x1 stream
|
|
|
- * @TDLS_NSS_TRANSITION_1x1_to_2x2: transition from 1x1 to 2x2 stream
|
|
|
- */
|
|
|
-enum tdls_nss_transition_type {
|
|
|
- TDLS_NSS_TRANSITION_UNKNOWN = 0,
|
|
|
- TDLS_NSS_TRANSITION_2x2_to_1x1,
|
|
|
- TDLS_NSS_TRANSITION_1x1_to_2x2,
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * enum tdls_cap_type - tdls capability type
|
|
|
- *
|
|
|
- * @eTDLS_CAP_NOT_SUPPORTED: tdls not supported
|
|
|
- * @eTDLS_CAP_UNKNOWN: unknown capability
|
|
|
- * @eTDLS_CAP_SUPPORTED: tdls capability supported
|
|
|
- */
|
|
|
-enum tdls_cap_type {
|
|
|
- eTDLS_CAP_NOT_SUPPORTED = -1,
|
|
|
- eTDLS_CAP_UNKNOWN = 0,
|
|
|
- eTDLS_CAP_SUPPORTED = 1,
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * enum tdls_link_status - tdls link status
|
|
|
- *
|
|
|
- * @eTDLS_LINK_IDLE: tdls link idle
|
|
|
- * @eTDLS_LINK_DISCOVERING: tdls link discovering
|
|
|
- * @eTDLS_LINK_DISCOVERED: tdls link discovered
|
|
|
- * @eTDLS_LINK_CONNECTING: tdls link connecting
|
|
|
- * @eTDLS_LINK_CONNECTED: tdls link connected
|
|
|
- * @eTDLS_LINK_TEARING: tdls link tearing
|
|
|
- */
|
|
|
-enum tdls_link_status {
|
|
|
- eTDLS_LINK_IDLE = 0,
|
|
|
- eTDLS_LINK_DISCOVERING,
|
|
|
- eTDLS_LINK_DISCOVERED,
|
|
|
- eTDLS_LINK_CONNECTING,
|
|
|
- eTDLS_LINK_CONNECTED,
|
|
|
- eTDLS_LINK_TEARING,
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * enum tdls_teardown_reason - Reason for TDLS teardown
|
|
|
- * @eTDLS_TEARDOWN_EXT_CTRL: Reason ext ctrl.
|
|
|
- * @eTDLS_TEARDOWN_CONCURRENCY: Reason concurrency.
|
|
|
- * @eTDLS_TEARDOWN_RSSI_THRESHOLD: Reason rssi threshold.
|
|
|
- * @eTDLS_TEARDOWN_TXRX_THRESHOLD: Reason txrx threshold.
|
|
|
- * @eTDLS_TEARDOWN_BTCOEX: Reason BTCOEX.
|
|
|
- * @eTDLS_TEARDOWN_SCAN: Reason scan.
|
|
|
- * @eTDLS_TEARDOWN_BSS_DISCONNECT: Reason bss disconnected.
|
|
|
- * @eTDLS_TEARDOWN_ANTENNA_SWITCH: Disconnected due to antenna switch
|
|
|
- *
|
|
|
- * Reason to indicate in diag event of tdls teardown.
|
|
|
- */
|
|
|
-enum tdls_teardown_reason {
|
|
|
- eTDLS_TEARDOWN_EXT_CTRL,
|
|
|
- eTDLS_TEARDOWN_CONCURRENCY,
|
|
|
- eTDLS_TEARDOWN_RSSI_THRESHOLD,
|
|
|
- eTDLS_TEARDOWN_TXRX_THRESHOLD,
|
|
|
- eTDLS_TEARDOWN_BTCOEX,
|
|
|
- eTDLS_TEARDOWN_SCAN,
|
|
|
- eTDLS_TEARDOWN_BSS_DISCONNECT,
|
|
|
- eTDLS_TEARDOWN_ANTENNA_SWITCH,
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * enum tdls_link_reason - tdls link reason
|
|
|
- *
|
|
|
- * @eTDLS_LINK_SUCCESS: Success
|
|
|
- * @eTDLS_LINK_UNSPECIFIED: Unspecified reason
|
|
|
- * @eTDLS_LINK_NOT_SUPPORTED: Remote side doesn't support TDLS
|
|
|
- * @eTDLS_LINK_UNSUPPORTED_BAND: Remote side doesn't support this band
|
|
|
- * @eTDLS_LINK_NOT_BENEFICIAL: Going to AP is better than direct
|
|
|
- * @eTDLS_LINK_DROPPED_BY_REMOTE: Remote side doesn't want it anymore
|
|
|
- */
|
|
|
-enum tdls_link_reason {
|
|
|
- eTDLS_LINK_SUCCESS,
|
|
|
- eTDLS_LINK_UNSPECIFIED = -1,
|
|
|
- eTDLS_LINK_NOT_SUPPORTED = -2,
|
|
|
- eTDLS_LINK_UNSUPPORTED_BAND = -3,
|
|
|
- eTDLS_LINK_NOT_BENEFICIAL = -4,
|
|
|
- eTDLS_LINK_DROPPED_BY_REMOTE = -5
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * struct tdls_req_params_t - tdls request parameters
|
|
|
- *
|
|
|
- * @channel: channel hint, in channel number (NOT frequency)
|
|
|
- * @global_operating_class: operating class to use
|
|
|
- * @max_latency_ms: max latency that can be tolerated by apps
|
|
|
- * @min_bandwidth_kbps: bandwidth required by apps, in kilo bits per second
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- int channel;
|
|
|
- int global_operating_class;
|
|
|
- int max_latency_ms;
|
|
|
- int min_bandwidth_kbps;
|
|
|
-} tdls_req_params_t;
|
|
|
-
|
|
|
-/**
|
|
|
- * enum tdls_state - tdls state
|
|
|
- *
|
|
|
- * @QCA_WIFI_HAL_TDLS_DISABLED: TDLS is not enabled, or is disabled now
|
|
|
- * @QCA_WIFI_HAL_TDLS_ENABLED: TDLS is enabled, but not yet tried
|
|
|
- * @QCA_WIFI_HAL_TDLS_ESTABLISHED: Direct link is established
|
|
|
- * @QCA_WIFI_HAL_TDLS_ESTABLISHED_OFF_CHANNEL: Direct link established using MCC
|
|
|
- * @QCA_WIFI_HAL_TDLS_DROPPED: Direct link was established, but is now dropped
|
|
|
- * @QCA_WIFI_HAL_TDLS_FAILED: Direct link failed
|
|
|
- */
|
|
|
-enum tdls_state {
|
|
|
- QCA_WIFI_HAL_TDLS_DISABLED = 1,
|
|
|
- QCA_WIFI_HAL_TDLS_ENABLED,
|
|
|
- QCA_WIFI_HAL_TDLS_ESTABLISHED,
|
|
|
- QCA_WIFI_HAL_TDLS_ESTABLISHED_OFF_CHANNEL,
|
|
|
- QCA_WIFI_HAL_TDLS_DROPPED,
|
|
|
- QCA_WIFI_HAL_TDLS_FAILED
|
|
|
-};
|
|
|
-
|
|
|
typedef int (*cfg80211_exttdls_callback)(const uint8_t *mac,
|
|
|
uint32_t opclass,
|
|
|
uint32_t channel,
|
|
|
uint32_t state,
|
|
|
int32_t reason, void *ctx);
|
|
|
|
|
|
-/**
|
|
|
- * struct tdls_tx_tput_config_t - tdls tx throughput config
|
|
|
- *
|
|
|
- * @period: period
|
|
|
- * @bytes: bytes
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint16_t period;
|
|
|
- uint16_t bytes;
|
|
|
-} tdls_tx_tput_config_t;
|
|
|
-
|
|
|
-/**
|
|
|
- * struct tdls_discovery_config_t - tdls discovery config
|
|
|
- *
|
|
|
- * @period: period
|
|
|
- * @tries: number of tries
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint16_t period;
|
|
|
- uint16_t tries;
|
|
|
-} tdls_discovery_config_t;
|
|
|
-
|
|
|
-/**
|
|
|
- * struct tdls_rx_idle_config_t - tdls rx idle config
|
|
|
- *
|
|
|
- * @timeout: timeout
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint16_t timeout;
|
|
|
-} tdls_rx_idle_config_t;
|
|
|
-
|
|
|
-/**
|
|
|
- * struct tdls_rssi_config_t - tdls rssi config
|
|
|
- *
|
|
|
- * @rssi_thres: rssi_thres
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint16_t rssi_thres;
|
|
|
-} tdls_rssi_config_t;
|
|
|
-
|
|
|
-struct _hddTdlsPeer_t;
|
|
|
-
|
|
|
-/**
|
|
|
- * struct tdls_ct_mac_table - connection tracker peer mac address table
|
|
|
- * @mac_address: peer mac address
|
|
|
- * @tx_packet_cnt: number of tx pkts
|
|
|
- * @rx_packet_cnt: number of rx pkts
|
|
|
- * @peer_timestamp_ms: time stamp of latest peer traffic
|
|
|
- */
|
|
|
-struct tdls_ct_mac_table {
|
|
|
- struct qdf_mac_addr mac_address;
|
|
|
- uint32_t tx_packet_cnt;
|
|
|
- uint32_t rx_packet_cnt;
|
|
|
- uint32_t peer_timestamp_ms;
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * struct tdls_set_state_db - set state command data base
|
|
|
- * @set_state_cnt: tdls set state count
|
|
|
- * @vdev_id: vdev id of last set state command
|
|
|
- */
|
|
|
-struct tdls_set_state_info {
|
|
|
- uint8_t set_state_cnt;
|
|
|
- uint8_t vdev_id;
|
|
|
-};
|
|
|
-
|
|
|
-/**
|
|
|
- * struct tdlsCtx_t - tdls context
|
|
|
- *
|
|
|
- * @peer_list: peer list
|
|
|
- * @pAdapter: pointer to adapter
|
|
|
- * @peerDiscoverTimer: peer discovery timer
|
|
|
- * @threshold_config: threshold config
|
|
|
- * @discovery_peer_cnt: discovery peer count
|
|
|
- * @discovery_sent_cnt: discovery sent count
|
|
|
- * @ap_rssi: ap rssi
|
|
|
- * @curr_candidate: current candidate
|
|
|
- * @magic: magic
|
|
|
- * @last_flush_ts: last timestamp when flush logs was displayed.
|
|
|
- *
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- struct list_head peer_list[TDLS_PEER_LIST_SIZE];
|
|
|
- struct hdd_adapter *pAdapter;
|
|
|
- tdls_config_params_t threshold_config;
|
|
|
- int32_t discovery_peer_cnt;
|
|
|
- uint32_t discovery_sent_cnt;
|
|
|
- int8_t ap_rssi;
|
|
|
- struct _hddTdlsPeer_t *curr_candidate;
|
|
|
- uint32_t magic;
|
|
|
- uint64_t last_flush_ts;
|
|
|
-} tdlsCtx_t;
|
|
|
-
|
|
|
-/**
|
|
|
- * struct hddTdlsPeer_t - tdls peer data
|
|
|
- *
|
|
|
- * @node: node
|
|
|
- * @pHddTdlsCtx: pointer to tdls context
|
|
|
- * @peerMac: peer mac address
|
|
|
- * @staId: station identifier
|
|
|
- * @rssi: rssi
|
|
|
- * @tdls_support: tdls support
|
|
|
- * @link_status: tdls link status
|
|
|
- * @signature: signature
|
|
|
- * @is_responder: is responder
|
|
|
- * @discovery_processed: discovery processed flag
|
|
|
- * @discovery_attempt: discovery attempt
|
|
|
- * @uapsdQueues: uapsd queues
|
|
|
- * @maxSp: max sp
|
|
|
- * @isBufSta: is buffer sta
|
|
|
- * @isOffChannelSupported: is offchannel supported flag
|
|
|
- * @supported_channels_len: supported channels length
|
|
|
- * @supported_channels: supported channels
|
|
|
- * @supported_oper_classes_len: supported operation classes length
|
|
|
- * @supported_oper_classes: supported operation classes
|
|
|
- * @isForcedPeer: is forced peer
|
|
|
- * @op_class_for_pref_off_chan: op class for preferred off channel
|
|
|
- * @pref_off_chan_num: preferred off channel number
|
|
|
- * @op_class_for_pref_off_chan_is_set: op class for preferred off channel set
|
|
|
- * @spatial_streams: Number of TX/RX spatial streams for TDLS
|
|
|
- * @reason: reason
|
|
|
- * @state_change_notification: state change notification
|
|
|
- * @qos: QOS capability of TDLS link
|
|
|
- */
|
|
|
-typedef struct _hddTdlsPeer_t {
|
|
|
- struct list_head node;
|
|
|
- tdlsCtx_t *pHddTdlsCtx;
|
|
|
- tSirMacAddr peerMac;
|
|
|
- uint16_t staId;
|
|
|
- int8_t rssi;
|
|
|
- enum tdls_cap_type tdls_support;
|
|
|
- enum tdls_link_status link_status;
|
|
|
- uint8_t signature;
|
|
|
- uint8_t is_responder;
|
|
|
- uint8_t discovery_processed;
|
|
|
- uint16_t discovery_attempt;
|
|
|
- uint8_t uapsdQueues;
|
|
|
- uint8_t maxSp;
|
|
|
- uint8_t isBufSta;
|
|
|
- uint8_t isOffChannelSupported;
|
|
|
- uint8_t supported_channels_len;
|
|
|
- uint8_t supported_channels[SIR_MAC_MAX_SUPP_CHANNELS];
|
|
|
- uint8_t supported_oper_classes_len;
|
|
|
- uint8_t supported_oper_classes[REG_MAX_SUPP_OPER_CLASSES];
|
|
|
- bool isForcedPeer;
|
|
|
- uint8_t op_class_for_pref_off_chan;
|
|
|
- uint8_t pref_off_chan_num;
|
|
|
- uint8_t op_class_for_pref_off_chan_is_set;
|
|
|
- uint8_t spatial_streams;
|
|
|
- enum tdls_link_reason reason;
|
|
|
- cfg80211_exttdls_callback state_change_notification;
|
|
|
- uint8_t qos;
|
|
|
-} hddTdlsPeer_t;
|
|
|
-
|
|
|
-/**
|
|
|
- * struct tdlsConnInfo_t - tdls connection info
|
|
|
- *
|
|
|
- * @sessionId: Session ID
|
|
|
- * @staId: TDLS peer station id
|
|
|
- * @peerMac: peer mac address
|
|
|
- */
|
|
|
-typedef struct {
|
|
|
- uint8_t sessionId;
|
|
|
- uint8_t staId;
|
|
|
- struct qdf_mac_addr peerMac;
|
|
|
-} tdlsConnInfo_t;
|
|
|
-
|
|
|
/**
|
|
|
* struct tdlsInfo_t - tdls info
|
|
|
*
|
|
@@ -486,50 +119,12 @@ typedef struct {
|
|
|
uint32_t tdls_peer_kickout_threshold;
|
|
|
} tdlsInfo_t;
|
|
|
|
|
|
-int wlan_hdd_tdls_init(struct hdd_adapter *pAdapter);
|
|
|
-
|
|
|
-void wlan_hdd_tdls_exit(struct hdd_adapter *pAdapter);
|
|
|
-
|
|
|
-void wlan_hdd_tdls_extract_sa(struct sk_buff *skb, uint8_t *mac);
|
|
|
-
|
|
|
-hddTdlsPeer_t *wlan_hdd_tdls_find_peer(struct hdd_adapter *pAdapter,
|
|
|
- const uint8_t *mac);
|
|
|
-
|
|
|
-hddTdlsPeer_t *wlan_hdd_tdls_find_all_peer(struct hdd_context *hdd_ctx,
|
|
|
- const uint8_t *mac);
|
|
|
-
|
|
|
-hddTdlsPeer_t *wlan_hdd_tdls_get_peer(struct hdd_adapter *pAdapter,
|
|
|
- const uint8_t *mac);
|
|
|
-
|
|
|
-void wlan_hdd_tdls_set_peer_link_status(hddTdlsPeer_t *curr_peer,
|
|
|
- enum tdls_link_status status,
|
|
|
- enum tdls_link_reason reason);
|
|
|
-
|
|
|
int wlan_hdd_tdls_set_params(struct net_device *dev,
|
|
|
tdls_config_params_t *config);
|
|
|
|
|
|
-uint16_t wlan_hdd_tdls_connected_peers(struct hdd_adapter *pAdapter);
|
|
|
-
|
|
|
int wlan_hdd_tdls_get_all_peers(struct hdd_adapter *pAdapter, char *buf,
|
|
|
int buflen);
|
|
|
|
|
|
-void wlan_hdd_tdls_indicate_teardown(struct hdd_adapter *pAdapter,
|
|
|
- hddTdlsPeer_t *curr_peer,
|
|
|
- uint16_t reason);
|
|
|
-
|
|
|
-int wlan_hdd_tdls_set_extctrl_param(struct hdd_adapter *pAdapter,
|
|
|
- const uint8_t *mac,
|
|
|
- uint32_t chan,
|
|
|
- uint32_t max_latency,
|
|
|
- uint32_t op_class, uint32_t min_bandwidth);
|
|
|
-int wlan_hdd_tdls_set_force_peer(struct hdd_adapter *pAdapter,
|
|
|
- const uint8_t *mac,
|
|
|
- bool forcePeer);
|
|
|
-
|
|
|
-int wlan_hdd_tdls_update_peer_mac(struct hdd_adapter *adapter,
|
|
|
- const uint8_t *mac,
|
|
|
- uint32_t peer_state);
|
|
|
-
|
|
|
int wlan_hdd_tdls_extctrl_deconfig_peer(struct hdd_adapter *pAdapter,
|
|
|
const uint8_t *peer);
|
|
|
int wlan_hdd_tdls_extctrl_config_peer(struct hdd_adapter *pAdapter,
|
|
@@ -539,14 +134,6 @@ int wlan_hdd_tdls_extctrl_config_peer(struct hdd_adapter *pAdapter,
|
|
|
uint32_t max_latency,
|
|
|
uint32_t op_class,
|
|
|
uint32_t min_bandwidth);
|
|
|
-int wlan_hdd_tdls_get_status(struct hdd_adapter *pAdapter,
|
|
|
- const uint8_t *mac, uint32_t *opclass,
|
|
|
- uint32_t *channel, uint32_t *state,
|
|
|
- int32_t *reason);
|
|
|
-void wlan_hdd_tdls_get_wifi_hal_state(hddTdlsPeer_t *curr_peer,
|
|
|
- uint32_t *state, int32_t *reason);
|
|
|
-int wlan_hdd_set_callback(hddTdlsPeer_t *curr_peer,
|
|
|
- cfg80211_exttdls_callback callback);
|
|
|
|
|
|
int wlan_hdd_cfg80211_exttdls_enable(struct wiphy *wiphy,
|
|
|
struct wireless_dev *wdev,
|
|
@@ -610,15 +197,10 @@ int wlan_hdd_cfg80211_tdls_mgmt(struct wiphy *wiphy,
|
|
|
#endif
|
|
|
#endif
|
|
|
|
|
|
-hddTdlsPeer_t *
|
|
|
-wlan_hdd_tdls_find_first_connected_peer(struct hdd_adapter *adapter);
|
|
|
int hdd_set_tdls_offchannel(struct hdd_context *hdd_ctx, int offchannel);
|
|
|
-int hdd_set_tdls_secoffchanneloffset(struct hdd_context *hdd_ctx,
|
|
|
- int offchanoffset);
|
|
|
+int hdd_set_tdls_secoffchanneloffset(struct hdd_context *hdd_ctx, int offchanoffset);
|
|
|
int hdd_set_tdls_offchannelmode(struct hdd_adapter *adapter, int offchanmode);
|
|
|
int hdd_set_tdls_scan_type(struct hdd_context *hdd_ctx, int val);
|
|
|
-void hdd_tdls_context_init(struct hdd_context *hdd_ctx, bool ssr);
|
|
|
-void hdd_tdls_context_destroy(struct hdd_context *hdd_ctx);
|
|
|
int wlan_hdd_tdls_antenna_switch(struct hdd_context *hdd_ctx,
|
|
|
struct hdd_adapter *adapter,
|
|
|
uint32_t mode);
|
|
@@ -645,12 +227,6 @@ QDF_STATUS hdd_tdls_deregister_tdl_peer(void *userdata,
|
|
|
uint32_t vdev_id, uint8_t sta_id);
|
|
|
|
|
|
#else
|
|
|
-static inline void hdd_update_tdls_ct_and_teardown_links(struct hdd_context *hdd_ctx)
|
|
|
-{
|
|
|
-}
|
|
|
-static inline void wlan_hdd_tdls_exit(struct hdd_adapter *adapter)
|
|
|
-{
|
|
|
-}
|
|
|
|
|
|
static inline int wlan_hdd_tdls_antenna_switch(struct hdd_context *hdd_ctx,
|
|
|
struct hdd_adapter *adapter,
|
|
@@ -658,15 +234,6 @@ static inline int wlan_hdd_tdls_antenna_switch(struct hdd_context *hdd_ctx,
|
|
|
{
|
|
|
return 0;
|
|
|
}
|
|
|
-static inline void wlan_hdd_update_tdls_info(struct hdd_adapter *adapter,
|
|
|
- bool tdls_prohibited,
|
|
|
- bool tdls_chan_swit_prohibited)
|
|
|
-{
|
|
|
-}
|
|
|
-static inline void wlan_hdd_tdls_notify_disconnect(struct hdd_adapter *adapter,
|
|
|
- bool lfr_roam)
|
|
|
-{
|
|
|
-}
|
|
|
|
|
|
static inline int wlan_hdd_cfg80211_configure_tdls_mode(struct wiphy *wiphy,
|
|
|
struct wireless_dev *wdev,
|
|
@@ -676,9 +243,6 @@ static inline int wlan_hdd_cfg80211_configure_tdls_mode(struct wiphy *wiphy,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static inline void wlan_hdd_change_tdls_mode(void *hdd_ctx)
|
|
|
-{
|
|
|
-}
|
|
|
static inline void
|
|
|
hdd_tdls_notify_p2p_roc(struct hdd_context *hdd_ctx,
|
|
|
enum tdls_concerned_external_events event)
|
|
@@ -700,25 +264,4 @@ static QDF_STATUS hdd_tdls_deregister_tdl_peer(void *userdata,
|
|
|
{
|
|
|
}
|
|
|
#endif /* End of FEATURE_WLAN_TDLS */
|
|
|
-
|
|
|
-#ifdef FEATURE_WLAN_DIAG_SUPPORT
|
|
|
-void hdd_send_wlan_tdls_teardown_event(uint32_t reason,
|
|
|
- uint8_t *peer_mac);
|
|
|
-void hdd_wlan_tdls_enable_link_event(const uint8_t *peer_mac,
|
|
|
- uint8_t is_off_chan_supported,
|
|
|
- uint8_t is_off_chan_configured,
|
|
|
- uint8_t is_off_chan_established);
|
|
|
-void hdd_wlan_block_scan_by_tdls_event(void);
|
|
|
-#else
|
|
|
-static inline
|
|
|
-void hdd_send_wlan_tdls_teardown_event(uint32_t reason,
|
|
|
- uint8_t *peer_mac) {}
|
|
|
-static inline
|
|
|
-void hdd_wlan_tdls_enable_link_event(const uint8_t *peer_mac,
|
|
|
- uint8_t is_off_chan_supported,
|
|
|
- uint8_t is_off_chan_configured,
|
|
|
- uint8_t is_off_chan_established) {}
|
|
|
-static inline void hdd_wlan_block_scan_by_tdls_event(void) {}
|
|
|
-#endif /* FEATURE_WLAN_DIAG_SUPPORT */
|
|
|
-bool cds_check_is_tdls_allowed(enum tQDF_ADAPTER_MODE device_mode);
|
|
|
#endif /* __HDD_TDLS_H */
|