فهرست منبع

qcacmn: removal of cp handles and changes for ol_if_ops

Remove pdev and vdev control path handles from data path.
Instead send pdev_id and vdev_id along with opaque soc
handle in ol_if_ops.

Change-Id: I6ee083f07e464f283da0d70ada70a4e10e18e1b2
Pavankumar Nandeshwar 5 سال پیش
والد
کامیت
4c7b81b540

+ 6 - 25
dp/inc/cdp_txrx_cmn.h

@@ -274,8 +274,8 @@ cdp_pdev_attach_target(ol_txrx_soc_handle soc, struct cdp_pdev *pdev)
 }
 
 static inline struct cdp_pdev *cdp_pdev_attach
-	(ol_txrx_soc_handle soc, struct cdp_ctrl_objmgr_pdev *ctrl_pdev,
-	HTC_HANDLE htc_pdev, qdf_device_t osdev, uint8_t pdev_id)
+	(ol_txrx_soc_handle soc, HTC_HANDLE htc_pdev, qdf_device_t osdev,
+	 uint8_t pdev_id)
 {
 	if (!soc || !soc->ops) {
 		QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
@@ -288,8 +288,8 @@ static inline struct cdp_pdev *cdp_pdev_attach
 	    !soc->ops->cmn_drv_ops->txrx_pdev_attach)
 		return NULL;
 
-	return soc->ops->cmn_drv_ops->txrx_pdev_attach(soc, ctrl_pdev,
-			htc_pdev, osdev, pdev_id);
+	return soc->ops->cmn_drv_ops->txrx_pdev_attach(soc, htc_pdev, osdev,
+						       pdev_id);
 }
 
 static inline int cdp_pdev_post_attach(ol_txrx_soc_handle soc,
@@ -814,7 +814,7 @@ cdp_set_monitor_filter(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
  *****************************************************************************/
 static inline void
 cdp_vdev_register(ol_txrx_soc_handle soc, struct cdp_vdev *vdev,
-	 void *osif_vdev, struct cdp_ctrl_objmgr_vdev *ctrl_vdev,
+	 void *osif_vdev,
 	 struct ol_txrx_ops *txrx_ops)
 {
 	if (!soc || !soc->ops) {
@@ -829,7 +829,7 @@ cdp_vdev_register(ol_txrx_soc_handle soc, struct cdp_vdev *vdev,
 		return;
 
 	soc->ops->cmn_drv_ops->txrx_vdev_register(vdev,
-			osif_vdev, ctrl_vdev, txrx_ops);
+			osif_vdev, txrx_ops);
 }
 
 static inline int
@@ -2308,25 +2308,6 @@ cdp_peer_map_attach(ol_txrx_soc_handle soc, uint32_t max_peers,
 	return QDF_STATUS_SUCCESS;
 }
 
-/**
-
- * cdp_pdev_set_ctrl_pdev() - set UMAC ctrl pdev to dp pdev
- * @soc: opaque soc handle
- * @pdev: opaque dp pdev handle
- * @ctrl_pdev: opaque ctrl pdev handle
- *
- * Return: void
- */
-static inline void
-cdp_pdev_set_ctrl_pdev(ol_txrx_soc_handle soc, struct cdp_pdev *dp_pdev,
-		       struct cdp_ctrl_objmgr_pdev *ctrl_pdev)
-{
-	if (soc && soc->ops && soc->ops->cmn_drv_ops &&
-	    soc->ops->cmn_drv_ops->txrx_pdev_set_ctrl_pdev)
-		soc->ops->cmn_drv_ops->txrx_pdev_set_ctrl_pdev(dp_pdev,
-							       ctrl_pdev);
-}
-
 /* cdp_txrx_classify_and_update() - To classify the packet and update stats
  * @soc: opaque soc handle
  * @vdev: opaque dp vdev handle

+ 2 - 1
dp/inc/cdp_txrx_cmn_struct.h

@@ -1910,13 +1910,14 @@ enum cdp_dp_cfg {
 /**
  * struct cdp_peer_cookie - cookie used when creating peer
  * @peer_id: peer id
+ * @pdev_id: pdev_id
  * @mac_addr: MAC address of peer
  * @cookie: cookie to be used by consumer
  * @ctx: context passed to be used by consumer
  */
 struct cdp_peer_cookie {
-	uint8_t peer_id;
 	uint8_t mac_addr[QDF_MAC_ADDR_SIZE];
+	uint8_t peer_id;
 	uint8_t cookie;
 	struct cdp_stats_cookie *ctx;
 };

+ 2 - 1
dp/inc/cdp_txrx_misc.h

@@ -638,7 +638,8 @@ static inline void cdp_deregister_packetdump_cb(ol_txrx_soc_handle soc,
 		return soc->ops->misc_ops->unregister_pktdump_cb(soc, pdev_id);
 }
 
-typedef void (*rx_mic_error_callback)(void *scn_handle,
+typedef void (*rx_mic_error_callback)(struct cdp_ctrl_objmgr_psoc *psoc,
+				uint8_t pdev_id,
 				struct cdp_rx_mic_err_info *info);
 
 /**

+ 61 - 40
dp/inc/cdp_txrx_ops.h

@@ -77,8 +77,8 @@ struct cdp_cmn_ops {
 		 void *cb_context);
 
 	struct cdp_pdev *(*txrx_pdev_attach)
-		(ol_txrx_soc_handle soc, struct cdp_ctrl_objmgr_pdev *ctrl_pdev,
-		HTC_HANDLE htc_pdev, qdf_device_t osdev, uint8_t pdev_id);
+		(ol_txrx_soc_handle soc, HTC_HANDLE htc_pdev,
+		 qdf_device_t osdev, uint8_t pdev_id);
 
 	int (*txrx_pdev_post_attach)(struct cdp_pdev *pdev);
 
@@ -204,7 +204,7 @@ struct cdp_cmn_ops {
 	 ********************************************************************/
 
 	void (*txrx_vdev_register)(struct cdp_vdev *vdev,
-			void *osif_vdev, struct cdp_ctrl_objmgr_vdev *ctrl_vdev,
+			void *osif_vdev,
 			struct ol_txrx_ops *txrx_ops);
 
 	int (*txrx_mgmt_send)(struct cdp_vdev *vdev,
@@ -433,9 +433,6 @@ struct cdp_cmn_ops {
 					   uint32_t max_ast_index,
 					   bool peer_map_unmap_v2);
 
-	void (*txrx_pdev_set_ctrl_pdev)(struct cdp_pdev *pdev_hdl,
-					struct cdp_ctrl_objmgr_pdev *ctrl_pdev);
-
 	ol_txrx_tx_fp tx_send;
 	/**
 	 * txrx_get_os_rx_handles_from_vdev() - Return function, osif vdev
@@ -479,6 +476,7 @@ struct cdp_ctrl_ops {
 
 	int
 		(*txrx_mempools_attach)(void *ctrl_pdev);
+
 	int
 		(*txrx_set_filter_neighbour_peers)(
 				struct cdp_pdev *pdev,
@@ -919,75 +917,95 @@ struct cdp_lro_hash_config {
 
 struct ol_if_ops {
 	void
-	(*peer_set_default_routing)(struct cdp_ctrl_objmgr_pdev *ctrl_pdev,
-				    uint8_t *peer_macaddr, uint8_t vdev_id,
+	(*peer_set_default_routing)(struct cdp_ctrl_objmgr_psoc *ctrl_psoc,
+				    uint8_t pdev_id, uint8_t *peer_macaddr,
+				    uint8_t vdev_id,
 				    bool hash_based, uint8_t ring_num);
 	QDF_STATUS
-	(*peer_rx_reorder_queue_setup)(struct cdp_ctrl_objmgr_pdev *ctrl_pdev,
+	(*peer_rx_reorder_queue_setup)(struct cdp_ctrl_objmgr_psoc *ctrl_psoc,
+				       uint8_t pdev_id,
 				       uint8_t vdev_id, uint8_t *peer_mac,
 				       qdf_dma_addr_t hw_qdesc, int tid,
 				       uint16_t queue_num,
 				       uint8_t ba_window_size_valid,
 				       uint16_t ba_window_size);
 	QDF_STATUS
-	(*peer_rx_reorder_queue_remove)(struct cdp_ctrl_objmgr_pdev *ctrl_pdev,
+	(*peer_rx_reorder_queue_remove)(struct cdp_ctrl_objmgr_psoc *ctrl_psoc,
+					uint8_t pdev_id,
 					uint8_t vdev_id, uint8_t *peer_macaddr,
 					uint32_t tid_mask);
-	int (*peer_unref_delete)(void *scn_handle, uint8_t *peer_mac,
+	int (*peer_unref_delete)(struct cdp_ctrl_objmgr_psoc *psoc,
+				 uint8_t pdev_id,
+				 uint8_t *peer_mac,
 				 uint8_t *vdev_mac, enum wlan_op_mode opmode);
 	bool (*is_hw_dbs_2x2_capable)(struct wlan_objmgr_psoc *psoc);
-	int (*peer_add_wds_entry)(void *vdev_handle,
-				  struct cdp_peer *peer_handle,
+	int (*peer_add_wds_entry)(struct cdp_ctrl_objmgr_psoc *soc,
+				  uint8_t vdev_id,
+				  uint8_t *peer_macaddr,
 				  const uint8_t *dest_macaddr,
 				  uint8_t *next_node_mac,
 				  uint32_t flags);
-	int (*peer_update_wds_entry)(void *ol_soc_handle,
-			uint8_t *dest_macaddr, uint8_t *peer_macaddr,
-			uint32_t flags);
-	void (*peer_del_wds_entry)(void *ol_soc_handle,
+	int (*peer_update_wds_entry)(struct cdp_ctrl_objmgr_psoc *soc,
+				     uint8_t vdev_id,
+				     uint8_t *dest_macaddr,
+				     uint8_t *peer_macaddr,
+				     uint32_t flags);
+	void (*peer_del_wds_entry)(struct cdp_ctrl_objmgr_psoc *soc,
+				   uint8_t vdev_id,
 				   uint8_t *wds_macaddr,
 				   uint8_t type);
 	QDF_STATUS
-	(*lro_hash_config)(struct cdp_ctrl_objmgr_pdev *ctrl_pdev,
+	(*lro_hash_config)(struct cdp_ctrl_objmgr_psoc *psoc, uint8_t pdev_id,
 			   struct cdp_lro_hash_config *rx_offld_hash);
+
 	void (*update_dp_stats)(void *soc, void *stats, uint16_t id,
 			uint8_t type);
 #ifdef FEATURE_NAC_RSSI
-	uint8_t (*rx_invalid_peer)(void *ctrl_pdev, void *msg);
+	uint8_t (*rx_invalid_peer)(struct cdp_ctrl_objmgr_psoc *soc,
+				   uint8_t pdev_id, void *msg);
 #else
 	uint8_t (*rx_invalid_peer)(uint8_t vdev_id, void *wh);
 #endif
-	int  (*peer_map_event)(struct cdp_ctrl_objmgr_psoc *ol_soc_handle,
+
+	int  (*peer_map_event)(struct cdp_ctrl_objmgr_psoc *psoc,
 			       uint16_t peer_id, uint16_t hw_peer_id,
 			       uint8_t vdev_id, uint8_t *peer_mac_addr,
 			       enum cdp_txrx_ast_entry_type peer_type,
 			       uint32_t tx_ast_hashidx);
-	int (*peer_unmap_event)(struct cdp_ctrl_objmgr_psoc *ol_soc_handle,
+	int (*peer_unmap_event)(struct cdp_ctrl_objmgr_psoc *psoc,
 				uint16_t peer_id,
 				uint8_t vdev_id);
 
-	int (*get_dp_cfg_param)(struct cdp_ctrl_objmgr_psoc *ol_soc_handle,
+	int (*get_dp_cfg_param)(struct cdp_ctrl_objmgr_psoc *psoc,
 				enum cdp_cfg_param_type param_num);
 
-	void (*rx_mic_error)(void *ol_soc_handle,
+	void (*rx_mic_error)(struct cdp_ctrl_objmgr_psoc *psoc,
+			     uint8_t pdev_id,
 			     struct cdp_rx_mic_err_info *info);
-	bool (*rx_frag_tkip_demic)(struct wlan_objmgr_peer *ctrl_peer,
+
+	bool (*rx_frag_tkip_demic)(struct cdp_ctrl_objmgr_psoc *psoc,
+				   uint8_t vdev_id, uint8_t *peer_mac_addr,
 				   qdf_nbuf_t nbuf,
 				   uint16_t hdr_space);
-	uint8_t (*freq_to_channel)(void *ol_soc_handle,  uint16_t vdev_id);
 
-	void (*record_act_change)(struct wlan_objmgr_pdev *pdev,
-				  u_int8_t *dstmac, bool active);
+	uint8_t (*freq_to_channel)(struct cdp_ctrl_objmgr_psoc *psoc,
+				   uint8_t vdev_id, uint16_t freq);
+
 #ifdef ATH_SUPPORT_NAC_RSSI
-	int (*config_fw_for_nac_rssi)(struct wlan_objmgr_pdev *pdev,
-		u_int8_t vdev_id, enum cdp_nac_param_cmd cmd, char *bssid,
-		char *client_macaddr, uint8_t chan_num);
-	int (*config_bssid_in_fw_for_nac_rssi)(struct wlan_objmgr_pdev *pdev,
-					       u_int8_t vdev_id,
-					       enum cdp_nac_param_cmd cmd,
-					       char *bssid, char *client_mac);
+	int (*config_fw_for_nac_rssi)(struct cdp_ctrl_objmgr_psoc *psoc,
+				      uint8_t pdev_id,
+				      u_int8_t vdev_id,
+				      enum cdp_nac_param_cmd cmd, char *bssid,
+				      char *client_macaddr, uint8_t chan_num);
+
+	int
+	(*config_bssid_in_fw_for_nac_rssi)(struct cdp_ctrl_objmgr_psoc *psoc,
+					   uint8_t pdev_id, u_int8_t vdev_id,
+					   enum cdp_nac_param_cmd cmd,
+					   char *bssid, char *client_mac);
 #endif
-	int (*peer_sta_kickout)(void *ctrl_pdev, uint8_t *peer_macaddr);
+	int (*peer_sta_kickout)(struct cdp_ctrl_objmgr_psoc *psoc,
+				uint16_t pdev_id, uint8_t *peer_macaddr);
 
 	/**
 	 * send_delba() - Send delba to peer
@@ -998,13 +1016,16 @@ struct ol_if_ops {
 	 *
 	 * Return: 0 for success, non-zero for failure
 	 */
-	int (*send_delba)(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id,
+	int (*send_delba)(struct cdp_ctrl_objmgr_psoc *psoc, uint8_t vdev_id,
 			  uint8_t *peer_macaddr, uint8_t tid,
 			  uint8_t reason_code);
-	int (*peer_delete_multiple_wds_entries)(void *vdev_handle,
-						uint8_t *dest_macaddr,
-						uint8_t *peer_macaddr,
-						uint32_t flags);
+
+	int
+	(*peer_delete_multiple_wds_entries)(struct cdp_ctrl_objmgr_psoc *psoc,
+					    uint8_t vdev_id,
+					    uint8_t *dest_macaddr,
+					    uint8_t *peer_macaddr,
+					    uint32_t flags);
 
 	bool (*is_roam_inprogress)(uint32_t vdev_id);
 	enum QDF_GLOBAL_MODE (*get_con_mode)(void);

+ 0 - 2
dp/inc/cdp_txrx_stats_struct.h

@@ -24,9 +24,7 @@
 #ifndef _CDP_TXRX_STATS_STRUCT_H_
 #define _CDP_TXRX_STATS_STRUCT_H_
 
-#ifdef FEATURE_TSO_STATS
 #include <qdf_types.h>
-#endif /* FEATURE_TSO_STATS */
 
 #define TXRX_STATS_LEVEL_OFF   0
 #define TXRX_STATS_LEVEL_BASIC 1

+ 2 - 1
dp/wifi3.0/dp_htt.c

@@ -2077,7 +2077,8 @@ static void dp_process_ppdu_stats_common_tlv(struct dp_pdev *pdev,
 		ppdu_desc->channel = freq;
 		if (soc && soc->cdp_soc.ol_ops->freq_to_channel)
 			pdev->operating_channel =
-		soc->cdp_soc.ol_ops->freq_to_channel(pdev->ctrl_pdev, freq);
+		soc->cdp_soc.ol_ops->freq_to_channel(soc->ctrl_psoc,
+						     pdev->pdev_id, freq);
 	}
 
 	ppdu_desc->phy_mode = HTT_PPDU_STATS_COMMON_TLV_PHY_MODE_GET(*tag_buf);

+ 10 - 26
dp/wifi3.0/dp_main.c

@@ -3098,7 +3098,8 @@ static QDF_STATUS dp_lro_hash_setup(struct dp_soc *soc, struct dp_pdev *pdev)
 		return QDF_STATUS_E_FAILURE;
 	}
 
-	status = soc->cdp_soc.ol_ops->lro_hash_config(pdev->ctrl_pdev,
+	status = soc->cdp_soc.ol_ops->lro_hash_config(soc->ctrl_psoc,
+						      pdev->pdev_id,
 						      &lro_hash);
 	if (!QDF_IS_STATUS_SUCCESS(status)) {
 		dp_err("failed to send lro_hash_config to FW %u", status);
@@ -3409,7 +3410,6 @@ static QDF_STATUS dp_htt_ppdu_stats_attach(struct dp_pdev *pdev)
 
 /*
 * dp_pdev_attach_wifi3() - attach txrx pdev
-* @ctrl_pdev: Opaque PDEV object
 * @txrx_soc: Datapath SOC handle
 * @htc_handle: HTC handle for host-target interface
 * @qdf_osdev: QDF OS device
@@ -3418,7 +3418,6 @@ static QDF_STATUS dp_htt_ppdu_stats_attach(struct dp_pdev *pdev)
 * Return: DP PDEV handle on success, NULL on failure
 */
 static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
-	struct cdp_ctrl_objmgr_pdev *ctrl_pdev,
 	HTC_HANDLE htc_handle, qdf_device_t qdf_osdev, uint8_t pdev_id)
 {
 	int ring_size;
@@ -3476,7 +3475,6 @@ static struct cdp_pdev *dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
 			(nss_cfg & (1 << pdev_id)));
 
 	pdev->soc = soc;
-	pdev->ctrl_pdev = ctrl_pdev;
 	pdev->pdev_id = pdev_id;
 	soc->pdev_list[pdev_id] = pdev;
 
@@ -4868,12 +4866,10 @@ fail0:
  * Return: DP VDEV handle on success, NULL on failure
  */
 static void dp_vdev_register_wifi3(struct cdp_vdev *vdev_handle,
-	void *osif_vdev, struct cdp_ctrl_objmgr_vdev *ctrl_vdev,
-	struct ol_txrx_ops *txrx_ops)
+	void *osif_vdev, struct ol_txrx_ops *txrx_ops)
 {
 	struct dp_vdev *vdev = (struct dp_vdev *)vdev_handle;
 	vdev->osif_vdev = osif_vdev;
-	vdev->ctrl_vdev = ctrl_vdev;
 	vdev->osif_rx = txrx_ops->rx.rx;
 	vdev->osif_rx_stack = txrx_ops->rx.rx_stack;
 	vdev->osif_rx_flush = txrx_ops->rx.rx_flush;
@@ -5258,7 +5254,9 @@ static void *dp_peer_create_wifi3(struct cdp_vdev *vdev_handle,
 		* increment the count back.
 		*/
 		if (soc->cdp_soc.ol_ops->peer_unref_delete) {
-			soc->cdp_soc.ol_ops->peer_unref_delete(pdev->ctrl_pdev,
+			soc->cdp_soc.ol_ops->peer_unref_delete(
+				soc->ctrl_psoc,
+				pdev->pdev_id,
 				peer->mac_addr.raw, vdev->mac_addr.raw,
 				vdev->opmode);
 		}
@@ -5548,7 +5546,9 @@ static void dp_peer_setup_wifi3(struct cdp_vdev *vdev_hdl, void *peer_hdl)
 	if (soc->cdp_soc.ol_ops->peer_set_default_routing) {
 		/* TODO: Check the destination ring number to be passed to FW */
 		soc->cdp_soc.ol_ops->peer_set_default_routing(
-				pdev->ctrl_pdev, peer->mac_addr.raw,
+				soc->ctrl_psoc,
+				peer->vdev->pdev->pdev_id,
+				peer->mac_addr.raw,
 				peer->vdev->vdev_id, hash_based, reo_dest);
 	}
 
@@ -8787,7 +8787,7 @@ static QDF_STATUS dp_config_for_nac_rssi(struct cdp_vdev *vdev_handle,
 
 	if (soc->cdp_soc.ol_ops->config_bssid_in_fw_for_nac_rssi)
 		soc->cdp_soc.ol_ops->config_bssid_in_fw_for_nac_rssi
-			((void *)vdev->pdev->ctrl_pdev,
+			(soc->ctrl_psoc, pdev->pdev_id,
 			 vdev->vdev_id, cmd, bssid, client_macaddr);
 
 	return QDF_STATUS_SUCCESS;
@@ -8916,21 +8916,6 @@ static QDF_STATUS dp_peer_map_attach_wifi3(struct cdp_soc_t  *soc_hdl,
 	return QDF_STATUS_SUCCESS;
 }
 
-/**
- * dp_pdev_set_ctrl_pdev() - set ctrl pdev handle in dp pdev
- * @dp_pdev: dp pdev handle
- * @ctrl_pdev: UMAC ctrl pdev handle
- *
- * Return: void
- */
-static void dp_pdev_set_ctrl_pdev(struct cdp_pdev *dp_pdev,
-				  struct cdp_ctrl_objmgr_pdev *ctrl_pdev)
-{
-	struct dp_pdev *pdev = (struct dp_pdev *)dp_pdev;
-
-	pdev->ctrl_pdev = ctrl_pdev;
-}
-
 static void dp_set_rate_stats_cap(struct cdp_soc_t *soc_hdl,
 				  uint8_t val)
 {
@@ -9295,7 +9280,6 @@ static struct cdp_cmn_ops dp_ops_cmn = {
 	.txrx_peer_reset_ast_table = dp_wds_reset_ast_table_wifi3,
 	.txrx_peer_flush_ast_table = dp_wds_flush_ast_table_wifi3,
 	.txrx_peer_map_attach = dp_peer_map_attach_wifi3,
-	.txrx_pdev_set_ctrl_pdev = dp_pdev_set_ctrl_pdev,
 	.txrx_get_os_rx_handles_from_vdev =
 					dp_get_os_rx_handles_from_vdev_wifi3,
 	.delba_tx_completion = dp_delba_tx_completion_wifi3,

+ 13 - 7
dp/wifi3.0/dp_peer.c

@@ -821,8 +821,9 @@ add_ast_entry:
 	    (ast_entry->type != CDP_TXRX_AST_TYPE_WDS_HM_SEC)) {
 		if (QDF_STATUS_SUCCESS ==
 				soc->cdp_soc.ol_ops->peer_add_wds_entry(
-				peer->vdev->osif_vdev,
-				(struct cdp_peer *)peer,
+				soc->ctrl_psoc,
+				peer->vdev->vdev_id,
+				peer->mac_addr.raw,
 				mac_addr,
 				next_node_mac,
 				flags)) {
@@ -954,7 +955,8 @@ int dp_peer_update_ast(struct dp_soc *soc, struct dp_peer *peer,
 	TAILQ_INSERT_TAIL(&peer->ast_entry_list, ast_entry, ase_list_elem);
 
 	ret = soc->cdp_soc.ol_ops->peer_update_wds_entry(
-				peer->vdev->osif_vdev,
+				soc->ctrl_psoc,
+				peer->vdev->vdev_id,
 				ast_entry->mac_addr.raw,
 				peer->mac_addr.raw,
 				flags);
@@ -1097,7 +1099,8 @@ void dp_peer_ast_send_wds_del(struct dp_soc *soc,
 		  ast_entry->next_hop, ast_entry->peer->mac_addr.raw);
 
 	if (ast_entry->next_hop) {
-		cdp_soc->ol_ops->peer_del_wds_entry(peer->vdev->osif_vdev,
+		cdp_soc->ol_ops->peer_del_wds_entry(soc->ctrl_psoc,
+						    peer->vdev->vdev_id,
 						    ast_entry->mac_addr.raw,
 						    ast_entry->type);
 	}
@@ -1766,7 +1769,7 @@ static QDF_STATUS dp_rx_tid_update_wifi3(struct dp_peer *peer, int tid, uint32_t
 
 	if (soc->cdp_soc.ol_ops->peer_rx_reorder_queue_setup)
 		soc->cdp_soc.ol_ops->peer_rx_reorder_queue_setup(
-			peer->vdev->pdev->ctrl_pdev,
+			soc->ctrl_psoc, peer->vdev->pdev->pdev_id,
 			peer->vdev->vdev_id, peer->mac_addr.raw,
 			rx_tid->hw_qdesc_paddr, tid, tid, 1, ba_window_size);
 
@@ -1981,7 +1984,9 @@ try_desc_alloc:
 
 	if (soc->cdp_soc.ol_ops->peer_rx_reorder_queue_setup) {
 		if (soc->cdp_soc.ol_ops->peer_rx_reorder_queue_setup(
-		    vdev->pdev->ctrl_pdev, peer->vdev->vdev_id,
+		    soc->ctrl_psoc,
+		    peer->vdev->pdev->pdev_id,
+		    peer->vdev->vdev_id,
 		    peer->mac_addr.raw, rx_tid->hw_qdesc_paddr, tid, tid,
 		    1, ba_window_size)) {
 			QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
@@ -2415,7 +2420,8 @@ void dp_peer_rx_cleanup(struct dp_vdev *vdev, struct dp_peer *peer, bool reuse)
 	}
 #ifdef notyet /* See if FW can remove queues as part of peer cleanup */
 	if (soc->ol_ops->peer_rx_reorder_queue_remove) {
-		soc->ol_ops->peer_rx_reorder_queue_remove(vdev->pdev->ctrl_pdev,
+		soc->ol_ops->peer_rx_reorder_queue_remove(soc->ctrl_psoc,
+			peer->vdev->pdev->pdev_id,
 			peer->vdev->vdev_id, peer->mac_addr.raw,
 			tid_delete_mask);
 	}

+ 3 - 2
dp/wifi3.0/dp_rx.c

@@ -803,8 +803,9 @@ out:
 	msg.nbuf = mpdu;
 	msg.vdev_id = vdev->vdev_id;
 	if (pdev->soc->cdp_soc.ol_ops->rx_invalid_peer)
-		pdev->soc->cdp_soc.ol_ops->rx_invalid_peer(pdev->ctrl_pdev,
-							&msg);
+		pdev->soc->cdp_soc.ol_ops->rx_invalid_peer(
+				(struct cdp_ctrl_objmgr_psoc *)soc->ctrl_psoc,
+				pdev->pdev_id, &msg);
 
 free:
 	/* Drop and free packet */

+ 2 - 1
dp/wifi3.0/dp_rx_defrag.c

@@ -891,7 +891,8 @@ static void dp_rx_defrag_err(struct dp_vdev *vdev, qdf_nbuf_t nbuf)
 
 	tops = pdev->soc->cdp_soc.ol_ops;
 	if (tops->rx_mic_error)
-		tops->rx_mic_error(pdev->ctrl_pdev, &mic_failure_info);
+		tops->rx_mic_error(pdev->soc->ctrl_psoc, pdev->pdev_id,
+				   &mic_failure_info);
 }
 
 

+ 2 - 1
dp/wifi3.0/dp_rx_err.c

@@ -1115,7 +1115,8 @@ void dp_rx_process_mic_error(struct dp_soc *soc, qdf_nbuf_t nbuf,
 
 	tops = pdev->soc->cdp_soc.ol_ops;
 	if (tops->rx_mic_error)
-		tops->rx_mic_error(pdev->ctrl_pdev, &mic_failure_info);
+		tops->rx_mic_error(soc->ctrl_psoc, pdev->pdev_id,
+				   &mic_failure_info);
 
 fail:
 	qdf_nbuf_free(nbuf);

+ 0 - 4
dp/wifi3.0/dp_types.h

@@ -1381,8 +1381,6 @@ struct dp_pdev {
 	/**
 	 * Re-use Memory Section Starts
 	 */
-	/* PDEV handle from OSIF layer TBD: see if we really need osif_pdev */
-	struct cdp_ctrl_objmgr_pdev *ctrl_pdev;
 
 	/* PDEV Id */
 	int pdev_id;
@@ -1760,8 +1758,6 @@ struct dp_vdev {
 	/* Handle to the OS shim SW's virtual device */
 	ol_osif_vdev_handle osif_vdev;
 
-	/* Handle to the UMAC handle */
-	struct cdp_ctrl_objmgr_vdev *ctrl_vdev;
 	/* vdev_id - ID used to specify a particular vdev to the target */
 	uint8_t vdev_id;