qcacmn: Add support to fetch peer stats using MLD mac address
Add support to fetch peer stats using MLD mac address Change-Id: I0e230a561b8f6af3dac0dcbfef4304c630f21ff9 CRs-Fixed: 3303212
This commit is contained in:

committed by
Madan Koyyalamudi

parent
4c70bb772f
commit
cfd13d2ad2
@@ -9949,6 +9949,7 @@ dp_get_host_peer_stats(struct cdp_soc_t *soc, uint8_t *mac_addr)
|
|||||||
{
|
{
|
||||||
struct dp_peer *peer = NULL;
|
struct dp_peer *peer = NULL;
|
||||||
struct cdp_peer_stats *peer_stats = NULL;
|
struct cdp_peer_stats *peer_stats = NULL;
|
||||||
|
struct cdp_peer_info peer_info = { 0 };
|
||||||
|
|
||||||
if (!mac_addr) {
|
if (!mac_addr) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
|
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
|
||||||
@@ -9956,9 +9957,10 @@ dp_get_host_peer_stats(struct cdp_soc_t *soc, uint8_t *mac_addr)
|
|||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
peer = dp_peer_find_hash_find((struct dp_soc *)soc,
|
DP_PEER_INFO_PARAMS_INIT(&peer_info, DP_VDEV_ALL, mac_addr, false,
|
||||||
mac_addr, 0,
|
CDP_WILD_PEER_TYPE);
|
||||||
DP_VDEV_ALL,
|
|
||||||
|
peer = dp_peer_hash_find_wrapper((struct dp_soc *)soc, &peer_info,
|
||||||
DP_MOD_ID_CDP);
|
DP_MOD_ID_CDP);
|
||||||
if (!peer) {
|
if (!peer) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
|
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
|
||||||
@@ -11236,9 +11238,13 @@ static QDF_STATUS
|
|||||||
dp_txrx_get_peer_stats(struct cdp_soc_t *soc, uint8_t vdev_id,
|
dp_txrx_get_peer_stats(struct cdp_soc_t *soc, uint8_t vdev_id,
|
||||||
uint8_t *peer_mac, struct cdp_peer_stats *peer_stats)
|
uint8_t *peer_mac, struct cdp_peer_stats *peer_stats)
|
||||||
{
|
{
|
||||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
struct dp_peer *peer = NULL;
|
||||||
struct dp_peer *peer = dp_peer_find_hash_find((struct dp_soc *)soc,
|
struct cdp_peer_info peer_info = { 0 };
|
||||||
peer_mac, 0, vdev_id,
|
|
||||||
|
DP_PEER_INFO_PARAMS_INIT(&peer_info, vdev_id, peer_mac, false,
|
||||||
|
CDP_WILD_PEER_TYPE);
|
||||||
|
|
||||||
|
peer = dp_peer_hash_find_wrapper((struct dp_soc *)soc, &peer_info,
|
||||||
DP_MOD_ID_CDP);
|
DP_MOD_ID_CDP);
|
||||||
|
|
||||||
qdf_mem_zero(peer_stats, sizeof(struct cdp_peer_stats));
|
qdf_mem_zero(peer_stats, sizeof(struct cdp_peer_stats));
|
||||||
@@ -11250,7 +11256,7 @@ dp_txrx_get_peer_stats(struct cdp_soc_t *soc, uint8_t vdev_id,
|
|||||||
|
|
||||||
dp_peer_unref_delete(peer, DP_MOD_ID_CDP);
|
dp_peer_unref_delete(peer, DP_MOD_ID_CDP);
|
||||||
|
|
||||||
return status;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* dp_txrx_get_peer_stats_param - will return specified cdp_peer_stats
|
/* dp_txrx_get_peer_stats_param - will return specified cdp_peer_stats
|
||||||
@@ -11267,8 +11273,13 @@ dp_txrx_get_peer_stats_param(struct cdp_soc_t *soc, uint8_t vdev_id,
|
|||||||
cdp_peer_stats_param_t *buf)
|
cdp_peer_stats_param_t *buf)
|
||||||
{
|
{
|
||||||
QDF_STATUS ret;
|
QDF_STATUS ret;
|
||||||
struct dp_peer *peer = dp_peer_find_hash_find((struct dp_soc *)soc,
|
struct dp_peer *peer = NULL;
|
||||||
peer_mac, 0, vdev_id,
|
struct cdp_peer_info peer_info = { 0 };
|
||||||
|
|
||||||
|
DP_PEER_INFO_PARAMS_INIT(&peer_info, vdev_id, peer_mac, false,
|
||||||
|
CDP_WILD_PEER_TYPE);
|
||||||
|
|
||||||
|
peer = dp_peer_hash_find_wrapper((struct dp_soc *)soc, &peer_info,
|
||||||
DP_MOD_ID_CDP);
|
DP_MOD_ID_CDP);
|
||||||
|
|
||||||
if (!peer) {
|
if (!peer) {
|
||||||
|
@@ -8966,21 +8966,23 @@ dp_txrx_get_peer_delay_stats(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
|
|||||||
struct cdp_delay_tid_stats *delay_stats)
|
struct cdp_delay_tid_stats *delay_stats)
|
||||||
{
|
{
|
||||||
struct dp_soc *soc = (struct dp_soc *)soc_hdl;
|
struct dp_soc *soc = (struct dp_soc *)soc_hdl;
|
||||||
struct dp_peer *peer = dp_peer_find_hash_find(soc, peer_mac, 0, vdev_id,
|
struct dp_peer *peer = NULL;
|
||||||
DP_MOD_ID_CDP);
|
|
||||||
struct dp_peer_delay_stats *pext_stats;
|
struct dp_peer_delay_stats *pext_stats;
|
||||||
struct cdp_delay_rx_stats *rx_delay;
|
struct cdp_delay_rx_stats *rx_delay;
|
||||||
struct cdp_delay_tx_stats *tx_delay;
|
struct cdp_delay_tx_stats *tx_delay;
|
||||||
uint8_t tid;
|
uint8_t tid;
|
||||||
|
struct cdp_peer_info peer_info = { 0 };
|
||||||
|
|
||||||
|
if (!wlan_cfg_is_peer_ext_stats_enabled(soc->wlan_cfg_ctx))
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
|
||||||
|
DP_PEER_INFO_PARAMS_INIT(&peer_info, vdev_id, peer_mac, false,
|
||||||
|
CDP_WILD_PEER_TYPE);
|
||||||
|
|
||||||
|
peer = dp_peer_hash_find_wrapper(soc, &peer_info, DP_MOD_ID_CDP);
|
||||||
if (!peer)
|
if (!peer)
|
||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
|
||||||
if (!wlan_cfg_is_peer_ext_stats_enabled(soc->wlan_cfg_ctx)) {
|
|
||||||
dp_peer_unref_delete(peer, DP_MOD_ID_CDP);
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!peer->txrx_peer) {
|
if (!peer->txrx_peer) {
|
||||||
dp_peer_unref_delete(peer, DP_MOD_ID_CDP);
|
dp_peer_unref_delete(peer, DP_MOD_ID_CDP);
|
||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
@@ -9030,8 +9032,9 @@ dp_txrx_get_peer_jitter_stats(struct cdp_soc_t *soc_hdl, uint8_t pdev_id,
|
|||||||
{
|
{
|
||||||
struct dp_soc *soc = (struct dp_soc *)soc_hdl;
|
struct dp_soc *soc = (struct dp_soc *)soc_hdl;
|
||||||
struct dp_pdev *pdev = dp_get_pdev_from_soc_pdev_id_wifi3(soc, pdev_id);
|
struct dp_pdev *pdev = dp_get_pdev_from_soc_pdev_id_wifi3(soc, pdev_id);
|
||||||
struct dp_peer *peer;
|
struct dp_peer *peer = NULL;
|
||||||
uint8_t tid;
|
uint8_t tid;
|
||||||
|
struct cdp_peer_info peer_info = { 0 };
|
||||||
|
|
||||||
if (!pdev)
|
if (!pdev)
|
||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
@@ -9039,7 +9042,10 @@ dp_txrx_get_peer_jitter_stats(struct cdp_soc_t *soc_hdl, uint8_t pdev_id,
|
|||||||
if (!wlan_cfg_get_dp_pdev_nss_enabled(pdev->wlan_cfg_ctx))
|
if (!wlan_cfg_get_dp_pdev_nss_enabled(pdev->wlan_cfg_ctx))
|
||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
|
||||||
peer = dp_peer_find_hash_find(soc, peer_mac, 0, vdev_id, DP_MOD_ID_CDP);
|
DP_PEER_INFO_PARAMS_INIT(&peer_info, vdev_id, peer_mac, false,
|
||||||
|
CDP_WILD_PEER_TYPE);
|
||||||
|
|
||||||
|
peer = dp_peer_hash_find_wrapper(soc, &peer_info, DP_MOD_ID_CDP);
|
||||||
if (!peer)
|
if (!peer)
|
||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user