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
This commit is contained in:
Pavankumar Nandeshwar
2019-09-27 11:27:12 +05:30
committed by nshrivas
parent 7c7089627e
commit 4c7b81b540
12 changed files with 103 additions and 111 deletions

View File

@@ -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

View File

@@ -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;
};

View File

@@ -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);
/**

View File

@@ -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);

View File

@@ -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

View File

@@ -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);

View File

@@ -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,

View File

@@ -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);
}

View File

@@ -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 */

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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;