Browse Source

qcacmn: Common code changes for VDEV conversion

This change is required by MCL for VDEV conversion. This change
adds target_if all common code.

Change-Id: If43cbbe12c9b4a2bc7fc46ff01f24a2fb6fda09e
CRs-Fixed: 2460791
Abhishek Ambure 6 years ago
parent
commit
21ff0a53bf

+ 53 - 0
target_if/mlme/vdev_mgr/inc/target_if_vdev_mgr_rx_ops.h

@@ -39,6 +39,59 @@ static inline bool target_if_vdev_mgr_is_driver_unloading(void)
 	return false;
 }
 
+/**
+ * target_if_vdev_mgr_delete_response_handler() - API to handle vdev delete
+ * response
+ * @scn: pointer to scan object
+ * @data: pointer to data
+ * @datalen: length of data
+ *
+ * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_** on error
+ */
+int target_if_vdev_mgr_delete_response_handler(
+						ol_scn_t scn,
+						uint8_t *data,
+						uint32_t datalen);
+
+/**
+ * target_if_vdev_mgr_offload_bcn_tx_status_handler() - API to handle beacon
+ * tx status event
+ * @scn: pointer to scan object
+ * @data: pointer to data
+ * @datalen: length of data
+ *
+ * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_** on error
+ */
+int target_if_vdev_mgr_offload_bcn_tx_status_handler(ol_scn_t scn,
+						     uint8_t *data,
+						     uint32_t datalen);
+
+/**
+ * target_if_vdev_mgr_tbttoffset_update_handler() - API to handle tbtt offset
+ * update event
+ * @scn: pointer to scan object
+ * @data: pointer to data
+ * @datalen: length of data
+ *
+ * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_** on error
+ */
+int target_if_vdev_mgr_tbttoffset_update_handler(ol_scn_t scn,
+						 uint8_t *data,
+						 uint32_t datalen);
+
+/**
+ * target_if_vdev_mgr_ext_tbttoffset_update_handler() - API to handle ext tbtt
+ * offset update event
+ * @scn: pointer to scan object
+ * @data: pointer to data
+ * @datalen: length of data
+ *
+ * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_** on error
+ */
+int target_if_vdev_mgr_ext_tbttoffset_update_handler(ol_scn_t scn,
+						     uint8_t *data,
+						     uint32_t datalen);
+
 /**
  * target_if_vdev_mgr_is_panic_on_bug: API to get panic on bug
  *

+ 2 - 2
target_if/mlme/vdev_mgr/inc/target_if_vdev_mgr_tx_ops.h

@@ -71,14 +71,14 @@ target_if_vdev_mgr_register_tx_ops(struct wlan_lmac_if_tx_ops *tx_ops);
  * Return: NA
  */
 #ifdef VDEV_ASSERT_MANAGEMENT
-static void target_if_vdev_mgr_assert_mgmt(
+static inline void target_if_vdev_mgr_assert_mgmt(
 					struct wlan_objmgr_vdev *vdev,
 					struct vdev_response_timer *vdev_rsp,
 					uint8_t set_bit)
 {
 }
 #else
-static void target_if_vdev_mgr_assert_mgmt(
+static inline void target_if_vdev_mgr_assert_mgmt(
 					struct wlan_objmgr_vdev *vdev,
 					struct vdev_response_timer *vdev_rsp,
 					uint8_t set_bit)

+ 9 - 9
target_if/mlme/vdev_mgr/src/target_if_vdev_mgr_rx_ops.c

@@ -31,6 +31,7 @@
 #include <target_if.h>
 #include <qdf_platform.h>
 #include <wlan_vdev_mlme_main.h>
+#include <wmi_unified_vdev_api.h>
 
 void target_if_vdev_mgr_rsp_timer_mgmt_cb(void *arg)
 {
@@ -322,7 +323,7 @@ release_vdev_target_if_ref:
 	return qdf_status_to_os_return(status);
 }
 
-static int target_if_vdev_mgr_delete_response_handler(
+int target_if_vdev_mgr_delete_response_handler(
 						ol_scn_t scn,
 						uint8_t *data,
 						uint32_t datalen)
@@ -482,10 +483,10 @@ release_vdev_target_if_ref:
 	return qdf_status_to_os_return(status);
 }
 
-static int target_if_vdev_mgr_offload_bcn_tx_status_handler(
-							ol_scn_t scn,
-							uint8_t *data,
-							uint32_t datalen)
+int target_if_vdev_mgr_offload_bcn_tx_status_handler(
+					ol_scn_t scn,
+					uint8_t *data,
+					uint32_t datalen)
 {
 	QDF_STATUS status;
 	struct wlan_objmgr_psoc *psoc;
@@ -528,9 +529,8 @@ static int target_if_vdev_mgr_offload_bcn_tx_status_handler(
 	return qdf_status_to_os_return(status);
 }
 
-static int target_if_vdev_mgr_tbttoffset_update_handler(
-						ol_scn_t scn,
-						uint8_t *data,
+int target_if_vdev_mgr_tbttoffset_update_handler(
+						ol_scn_t scn, uint8_t *data,
 						uint32_t datalen)
 {
 	QDF_STATUS status;
@@ -572,7 +572,7 @@ static int target_if_vdev_mgr_tbttoffset_update_handler(
 	return qdf_status_to_os_return(status);
 }
 
-static int target_if_vdev_mgr_ext_tbttoffset_update_handler(
+int target_if_vdev_mgr_ext_tbttoffset_update_handler(
 						ol_scn_t scn,
 						uint8_t *data,
 						uint32_t datalen)

+ 1 - 1
target_if/mlme/vdev_mgr/src/target_if_vdev_mgr_tx_ops.c

@@ -35,6 +35,7 @@
 #include <wlan_vdev_mgr_tgt_if_tx_defs.h>
 #include <wlan_vdev_mgr_utils_api.h>
 #include <wlan_cmn.h>
+#include <wmi_unified_vdev_api.h>
 
 static QDF_STATUS target_if_vdev_mgr_register_event_handler(
 					struct wlan_objmgr_psoc *psoc)
@@ -760,7 +761,6 @@ static QDF_STATUS target_if_vdev_mgr_config_ratemask_cmd_send(
 
 	status = wmi_unified_vdev_config_ratemask_cmd_send(wmi_handle,
 							   param);
-
 	return status;
 }
 

+ 3 - 0
umac/mlme/include/wlan_vdev_mlme.h

@@ -35,6 +35,9 @@ struct vdev_mlme_obj;
 #define WLAN_VDEV_MLME_TYPE_STA  0x2
 #define WLAN_VDEV_MLME_TYPE_IBSS 0x3
 #define WLAN_VDEV_MLME_TYPE_MONITOR 0x4
+#define WLAN_VDEV_MLME_TYPE_NAN 0x5
+#define WLAN_VDEV_MLME_TYPE_OCB 0x6
+#define WLAN_VDEV_MLME_TYPE_NDI 0x7
 
 /* values for vdev_subtype */
 #define WLAN_VDEV_MLME_SUBTYPE_P2P_DEVICE 0x1

+ 1 - 0
umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c

@@ -34,6 +34,7 @@
 #include <wlan_dfs_tgt_api.h>
 #include <wlan_dfs_utils_api.h>
 #include <wlan_vdev_mgr_ucfg_api.h>
+#include <qdf_module.h>
 
 static QDF_STATUS vdev_mgr_create_param_update(
 					struct vdev_mlme_obj *mlme_obj,

+ 5 - 5
umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.h

@@ -223,11 +223,11 @@ QDF_STATUS vdev_mgr_bcn_miss_offload_send(struct vdev_mlme_obj *mlme_obj);
  *
  * Return: QDF_STATUS - Success or Failure
  */
-QDF_STATUS vdev_mlme_multiple_restart_send(struct wlan_objmgr_pdev *pdev,
-					   struct mlme_channel_param *chan,
-					   uint32_t disable_hw_ack,
-					   uint32_t *vdev_ids,
-					   uint32_t num_vdevs);
+QDF_STATUS vdev_mgr_multiple_restart_send(struct wlan_objmgr_pdev *pdev,
+					  struct mlme_channel_param *chan,
+					  uint32_t disable_hw_ack,
+					  uint32_t *vdev_ids,
+					  uint32_t num_vdevs);
 
 /**
  * vdev_mgr_peer_delete_all_send() – MLME API to send peer delete all request

+ 14 - 2
umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mgr_tgt_if_rx_api.h

@@ -30,15 +30,27 @@
 #include <wlan_vdev_mgr_tgt_if_rx_defs.h>
 
 /**
- * tgt_vdev_mgr_register_rx_ops(): API to register rx ops with lmac
+ * tgt_vdev_mgr_register_rx_ops() - API to register rx ops with lmac
  * @rx_ops: rx ops struct
  *
  * Return: none
  */
 void tgt_vdev_mgr_register_rx_ops(struct wlan_lmac_if_rx_ops *rx_ops);
+
+/**
+ * tgt_vdev_mgr_ext_tbttoffset_update_handle() - API to handle ext tbtt offset
+ * update event
+ * @num_vdevs: number of vdevs
+ * @is_ext: ext is set/reset
+ *
+ * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_** on error
+ */
+QDF_STATUS
+tgt_vdev_mgr_ext_tbttoffset_update_handle(uint32_t num_vdevs, bool is_ext);
+
 #else
 /**
- * tgt_vdev_mgr_register_rx_ops(): API to register rx ops with lmac
+ * tgt_vdev_mgr_register_rx_ops() - API to register rx ops with lmac
  * @rx_ops: rx ops struct
  *
  * Return: none

+ 1 - 1
umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_tgt_if_rx_api.c

@@ -208,7 +208,7 @@ tgt_vdev_mgr_tbttoffset_update_handler(uint32_t num_vdevs, bool is_ext)
 	return status;
 }
 
-static QDF_STATUS
+QDF_STATUS
 tgt_vdev_mgr_ext_tbttoffset_update_handle(uint32_t num_vdevs, bool is_ext)
 {
 	QDF_STATUS status = QDF_STATUS_E_FAILURE;

+ 1 - 0
umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_ucfg_api.c

@@ -28,6 +28,7 @@
 #include <wlan_mlme_dbg.h>
 #include <wlan_vdev_mgr_utils_api.h>
 #include <wlan_vdev_mlme_api.h>
+#include <qdf_module.h>
 
 void ucfg_wlan_vdev_mgr_get_param_bssid(
 				struct wlan_objmgr_vdev *vdev,

+ 19 - 0
umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_utils_api.c

@@ -26,6 +26,7 @@
 #include <wlan_vdev_mgr_tgt_if_tx_api.h>
 #include <cdp_txrx_cmn_struct.h>
 #include <wlan_mlme_dbg.h>
+#include <qdf_module.h>
 
 static QDF_STATUS vdev_mgr_config_ratemask_update(
 				struct vdev_mlme_obj *mlme_obj,
@@ -60,6 +61,24 @@ wlan_util_vdev_get_cdp_txrx_opmode(struct wlan_objmgr_vdev *vdev)
 	case QDF_MONITOR_MODE:
 		cdp_txrx_opmode = wlan_op_mode_monitor;
 		break;
+	case QDF_P2P_DEVICE_MODE:
+		cdp_txrx_opmode = wlan_op_mode_ap;
+		break;
+	case QDF_P2P_CLIENT_MODE:
+		cdp_txrx_opmode = wlan_op_mode_sta;
+		break;
+	case QDF_P2P_GO_MODE:
+		cdp_txrx_opmode = wlan_op_mode_ap;
+		break;
+	case QDF_OCB_MODE:
+		cdp_txrx_opmode = wlan_op_mode_ocb;
+		break;
+	case QDF_IBSS_MODE:
+		cdp_txrx_opmode = wlan_op_mode_ibss;
+		break;
+	case QDF_NDI_MODE:
+		cdp_txrx_opmode = wlan_op_mode_ndi;
+		break;
 	default:
 		cdp_txrx_opmode = wlan_op_mode_unknown;
 	};

+ 1 - 0
wmi/src/wmi_unified_api.c

@@ -20,6 +20,7 @@
 #include "wmi_unified_param.h"
 #include "qdf_module.h"
 #include "cdp_txrx_cmn_struct.h"
+#include <wmi_unified_vdev_api.h>
 
 static const wmi_host_channel_width mode_to_width[WMI_HOST_MODE_MAX] = {
 	[WMI_HOST_MODE_11A]           = WMI_HOST_CHAN_WIDTH_20,

+ 4 - 0
wmi/src/wmi_unified_tlv.c

@@ -60,6 +60,7 @@
 #ifdef WMI_AP_SUPPORT
 #include "wmi_unified_ap_api.h"
 #endif
+#include <wmi_unified_vdev_api.h>
 
 /* HTC service ids for WMI for multi-radio */
 static const uint32_t multi_svc_ids[] = {WMI_CONTROL_SVC,
@@ -11942,6 +11943,9 @@ struct wmi_ops tlv_ops =  {
 #ifdef WLAN_MWS_INFO_DEBUGFS
 	.send_mws_coex_status_req_cmd = send_mws_coex_status_req_cmd_tlv,
 #endif
+#ifdef TGT_IF_VDEV_MGR_CONV
+	.extract_vdev_delete_resp = extract_vdev_delete_resp_tlv,
+#endif
 };
 
 /**