qcacmn: Add API to flush peers in recovery case
Add cdp wrapper API to flush the peers in recovery case. CRs-Fixed: 3153535 Change-Id: I58869bf118f0aea487e63865300ba8e7462651ac
This commit is contained in:

committed by
Madan Koyyalamudi

parent
ba015feedc
commit
d7046ba026
@@ -242,6 +242,24 @@ cdp_vdev_detach(ol_txrx_soc_handle soc, uint8_t vdev_id,
|
|||||||
callback, cb_context);
|
callback, cb_context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
|
||||||
|
static inline void
|
||||||
|
cdp_vdev_recovery_flush_peers(ol_txrx_soc_handle soc, uint8_t vdev_id)
|
||||||
|
{
|
||||||
|
if (!soc || !soc->ops) {
|
||||||
|
dp_cdp_debug("Invalid Instance:");
|
||||||
|
QDF_BUG(0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!soc->ops->cmn_drv_ops ||
|
||||||
|
!soc->ops->cmn_drv_ops->txrx_recovery_vdev_flush_peers)
|
||||||
|
return;
|
||||||
|
|
||||||
|
soc->ops->cmn_drv_ops->txrx_recovery_vdev_flush_peers(soc, vdev_id);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
cdp_pdev_attach_target(ol_txrx_soc_handle soc, uint8_t pdev_id)
|
cdp_pdev_attach_target(ol_txrx_soc_handle soc, uint8_t pdev_id)
|
||||||
{
|
{
|
||||||
|
@@ -613,6 +613,11 @@ struct cdp_cmn_ops {
|
|||||||
#ifdef FEATURE_RUNTIME_PM
|
#ifdef FEATURE_RUNTIME_PM
|
||||||
void (*set_rtpm_tput_policy)(struct cdp_soc_t *soc, bool val);
|
void (*set_rtpm_tput_policy)(struct cdp_soc_t *soc, bool val);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
|
||||||
|
void (*txrx_recovery_vdev_flush_peers)(struct cdp_soc_t *soc,
|
||||||
|
uint8_t vdev_id);
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
struct cdp_ctrl_ops {
|
struct cdp_ctrl_ops {
|
||||||
|
@@ -12376,6 +12376,23 @@ dp_check_vdev_tx_delay_stats_enabled(struct cdp_soc_t *soc_hdl,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
|
||||||
|
static void
|
||||||
|
dp_recovery_vdev_flush_peers(struct cdp_soc_t *cdp_soc, uint8_t vdev_id)
|
||||||
|
{
|
||||||
|
struct dp_soc *soc = (struct dp_soc *)cdp_soc;
|
||||||
|
struct dp_vdev *vdev;
|
||||||
|
|
||||||
|
vdev = dp_vdev_get_ref_by_id(soc, vdev_id, DP_MOD_ID_CDP);
|
||||||
|
|
||||||
|
if (!vdev)
|
||||||
|
return;
|
||||||
|
|
||||||
|
dp_vdev_flush_peers((struct cdp_vdev *)vdev, false);
|
||||||
|
dp_vdev_unref_delete(soc, vdev, DP_MOD_ID_CDP);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static struct cdp_cmn_ops dp_ops_cmn = {
|
static struct cdp_cmn_ops dp_ops_cmn = {
|
||||||
.txrx_soc_attach_target = dp_soc_attach_target_wifi3,
|
.txrx_soc_attach_target = dp_soc_attach_target_wifi3,
|
||||||
.txrx_vdev_attach = dp_vdev_attach_wifi3,
|
.txrx_vdev_attach = dp_vdev_attach_wifi3,
|
||||||
@@ -12488,6 +12505,9 @@ static struct cdp_cmn_ops dp_ops_cmn = {
|
|||||||
#ifdef WLAN_FEATURE_PKT_CAPTURE_V2
|
#ifdef WLAN_FEATURE_PKT_CAPTURE_V2
|
||||||
.set_pkt_capture_mode = dp_set_pkt_capture_mode,
|
.set_pkt_capture_mode = dp_set_pkt_capture_mode,
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
|
||||||
|
.txrx_recovery_vdev_flush_peers = dp_recovery_vdev_flush_peers,
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct cdp_ctrl_ops dp_ops_ctrl = {
|
static struct cdp_ctrl_ops dp_ops_ctrl = {
|
||||||
|
Reference in New Issue
Block a user