From 4c7b81b540468097dc21451fefaa504b09910fa0 Mon Sep 17 00:00:00 2001 From: Pavankumar Nandeshwar Date: Fri, 27 Sep 2019 11:27:12 +0530 Subject: [PATCH] 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 --- dp/inc/cdp_txrx_cmn.h | 31 ++-------- dp/inc/cdp_txrx_cmn_struct.h | 3 +- dp/inc/cdp_txrx_misc.h | 3 +- dp/inc/cdp_txrx_ops.h | 101 ++++++++++++++++++++------------- dp/inc/cdp_txrx_stats_struct.h | 2 - dp/wifi3.0/dp_htt.c | 3 +- dp/wifi3.0/dp_main.c | 36 ++++-------- dp/wifi3.0/dp_peer.c | 20 ++++--- dp/wifi3.0/dp_rx.c | 5 +- dp/wifi3.0/dp_rx_defrag.c | 3 +- dp/wifi3.0/dp_rx_err.c | 3 +- dp/wifi3.0/dp_types.h | 4 -- 12 files changed, 103 insertions(+), 111 deletions(-) diff --git a/dp/inc/cdp_txrx_cmn.h b/dp/inc/cdp_txrx_cmn.h index 88dd409b9d..13ef87c78e 100644 --- a/dp/inc/cdp_txrx_cmn.h +++ b/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 diff --git a/dp/inc/cdp_txrx_cmn_struct.h b/dp/inc/cdp_txrx_cmn_struct.h index 3e7ca3c20b..492e1ff9ca 100644 --- a/dp/inc/cdp_txrx_cmn_struct.h +++ b/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; }; diff --git a/dp/inc/cdp_txrx_misc.h b/dp/inc/cdp_txrx_misc.h index c36a1edec8..461130a31e 100644 --- a/dp/inc/cdp_txrx_misc.h +++ b/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); /** diff --git a/dp/inc/cdp_txrx_ops.h b/dp/inc/cdp_txrx_ops.h index 10aa180b59..f636f99e16 100644 --- a/dp/inc/cdp_txrx_ops.h +++ b/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); diff --git a/dp/inc/cdp_txrx_stats_struct.h b/dp/inc/cdp_txrx_stats_struct.h index 9435e283ef..279b70c94a 100644 --- a/dp/inc/cdp_txrx_stats_struct.h +++ b/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 -#endif /* FEATURE_TSO_STATS */ #define TXRX_STATS_LEVEL_OFF 0 #define TXRX_STATS_LEVEL_BASIC 1 diff --git a/dp/wifi3.0/dp_htt.c b/dp/wifi3.0/dp_htt.c index b73d4bcf7b..3c669ef631 100644 --- a/dp/wifi3.0/dp_htt.c +++ b/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); diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index d30559a1ce..e5d18637c5 100644 --- a/dp/wifi3.0/dp_main.c +++ b/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, diff --git a/dp/wifi3.0/dp_peer.c b/dp/wifi3.0/dp_peer.c index 23c9c9c237..aff5dc2cc9 100644 --- a/dp/wifi3.0/dp_peer.c +++ b/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); } diff --git a/dp/wifi3.0/dp_rx.c b/dp/wifi3.0/dp_rx.c index 54d401d7bf..a233d25013 100644 --- a/dp/wifi3.0/dp_rx.c +++ b/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 */ diff --git a/dp/wifi3.0/dp_rx_defrag.c b/dp/wifi3.0/dp_rx_defrag.c index 8b148359d7..616c09c210 100644 --- a/dp/wifi3.0/dp_rx_defrag.c +++ b/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); } diff --git a/dp/wifi3.0/dp_rx_err.c b/dp/wifi3.0/dp_rx_err.c index a125910b5f..94c0f129dc 100644 --- a/dp/wifi3.0/dp_rx_err.c +++ b/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); diff --git a/dp/wifi3.0/dp_types.h b/dp/wifi3.0/dp_types.h index fb6ac3366b..0d2318b8db 100644 --- a/dp/wifi3.0/dp_types.h +++ b/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;