qcacmn: Add support for vdev/peer create/delete cfgmgr message support
Add support for vdev/peer create/delete cfgmgr message support Change-Id: I623b1339fe706ff4204199ff9e8745ebcdc9cae2 CRs-Fixed: 3636364
This commit is contained in:

committed by
Rahul Choudhary

parent
2ff56fd9e2
commit
f6c56895c1
@@ -3476,5 +3476,55 @@ int cdp_cfgmgr_get_peer_info(struct cdp_soc_t *soc, uint8_t soc_id,
|
|||||||
|
|
||||||
return soc->ops->cmn_drv_ops->cfgmgr_get_peer_info(soc, soc_id, ev_buf);
|
return soc->ops->cmn_drv_ops->cfgmgr_get_peer_info(soc, soc_id, ev_buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* cdp_cfgmgr_get_vdev_create_evt_info - get vdev create info of a soc for dpdk
|
||||||
|
* @soc: soc handle
|
||||||
|
* @vdev_id: vdev id
|
||||||
|
* @ev_buf: pointer to fill vdev info
|
||||||
|
*
|
||||||
|
* Return: 0 if info filled successful, error otherwise
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
int cdp_cfgmgr_get_vdev_create_evt_info(struct cdp_soc_t *soc, uint8_t vdev_id,
|
||||||
|
struct dpdk_wlan_vdev_create_info *ev_buf)
|
||||||
|
{
|
||||||
|
if (!soc) {
|
||||||
|
dp_cdp_debug("Invalid Instance");
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!soc->ops->cmn_drv_ops ||
|
||||||
|
!soc->ops->cmn_drv_ops->cfgmgr_get_vdev_create_evt_info)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
return soc->ops->cmn_drv_ops->cfgmgr_get_vdev_create_evt_info(
|
||||||
|
soc, vdev_id, ev_buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* cdp_cfgmgr_get_peer_create_evt_info - get peer create info of a soc for dpdk
|
||||||
|
* @soc: soc handle
|
||||||
|
* @peer_id: peer id
|
||||||
|
* @ev_buf: pointer to fill peer info
|
||||||
|
*
|
||||||
|
* Return: 0 if info filled successful, error otherwise
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
int cdp_cfgmgr_get_peer_create_evt_info(struct cdp_soc_t *soc, uint16_t peer_id,
|
||||||
|
struct dpdk_wlan_peer_create_info *ev_buf)
|
||||||
|
{
|
||||||
|
if (!soc) {
|
||||||
|
dp_cdp_debug("Invalid Instance");
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!soc->ops->cmn_drv_ops ||
|
||||||
|
!soc->ops->cmn_drv_ops->cfgmgr_get_peer_create_evt_info)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
return soc->ops->cmn_drv_ops->cfgmgr_get_peer_create_evt_info(
|
||||||
|
soc, peer_id, ev_buf);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif /* _CDP_TXRX_CMN_H_ */
|
#endif /* _CDP_TXRX_CMN_H_ */
|
||||||
|
@@ -758,6 +758,12 @@ struct cdp_cmn_ops {
|
|||||||
struct dpdk_wlan_vdev_info_event *ev_buf);
|
struct dpdk_wlan_vdev_info_event *ev_buf);
|
||||||
int (*cfgmgr_get_peer_info)(struct cdp_soc_t *soc_hdl, uint8_t soc_id,
|
int (*cfgmgr_get_peer_info)(struct cdp_soc_t *soc_hdl, uint8_t soc_id,
|
||||||
struct dpdk_wlan_peer_info *ev_buf);
|
struct dpdk_wlan_peer_info *ev_buf);
|
||||||
|
int (*cfgmgr_get_vdev_create_evt_info)(
|
||||||
|
struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
|
||||||
|
struct dpdk_wlan_vdev_create_info *ev_buf);
|
||||||
|
int (*cfgmgr_get_peer_create_evt_info)(
|
||||||
|
struct cdp_soc_t *soc_hdl, uint16_t peer_id,
|
||||||
|
struct dpdk_wlan_peer_create_info *ev_buf);
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -12347,6 +12347,8 @@ static struct cdp_cmn_ops dp_ops_cmn = {
|
|||||||
.cfgmgr_get_soc_info = dp_cfgmgr_get_soc_info,
|
.cfgmgr_get_soc_info = dp_cfgmgr_get_soc_info,
|
||||||
.cfgmgr_get_vdev_info = dp_cfgmgr_get_vdev_info,
|
.cfgmgr_get_vdev_info = dp_cfgmgr_get_vdev_info,
|
||||||
.cfgmgr_get_peer_info = dp_cfgmgr_get_peer_info,
|
.cfgmgr_get_peer_info = dp_cfgmgr_get_peer_info,
|
||||||
|
.cfgmgr_get_vdev_create_evt_info = dp_cfgmgr_get_vdev_create_evt_info,
|
||||||
|
.cfgmgr_get_peer_create_evt_info = dp_cfgmgr_get_peer_create_evt_info,
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -1531,7 +1531,7 @@ static inline QDF_STATUS dp_peer_map_ast(struct dp_soc *soc,
|
|||||||
txrx_ast_free_cb cb = NULL;
|
txrx_ast_free_cb cb = NULL;
|
||||||
QDF_STATUS err = QDF_STATUS_SUCCESS;
|
QDF_STATUS err = QDF_STATUS_SUCCESS;
|
||||||
|
|
||||||
if (soc->ast_offload_support)
|
if (soc->ast_offload_support && !wlan_cfg_get_dp_soc_dpdk_cfg(soc->ctrl_psoc))
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
|
|
||||||
if (!peer) {
|
if (!peer) {
|
||||||
@@ -1611,7 +1611,8 @@ static inline QDF_STATUS dp_peer_map_ast(struct dp_soc *soc,
|
|||||||
ase_list_elem);
|
ase_list_elem);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ast_entry || (peer->vdev && peer->vdev->proxysta_vdev)) {
|
if (ast_entry || (peer->vdev && peer->vdev->proxysta_vdev) ||
|
||||||
|
wlan_cfg_get_dp_soc_dpdk_cfg(soc->ctrl_psoc)) {
|
||||||
if (soc->cdp_soc.ol_ops->peer_map_event) {
|
if (soc->cdp_soc.ol_ops->peer_map_event) {
|
||||||
soc->cdp_soc.ol_ops->peer_map_event(
|
soc->cdp_soc.ol_ops->peer_map_event(
|
||||||
soc->ctrl_psoc, peer->peer_id,
|
soc->ctrl_psoc, peer->peer_id,
|
||||||
|
Reference in New Issue
Block a user