qcacld-3.0: Add support for ctrl path stats infrastructure
Implement support for sending new control path stats infrastructure via WMI_REQUEST_CTRL_PATH_STATS_CMDID and WMI_CTRL_PATH_STATS_EVENTID in cp stats component. Also add support for TWT Get statistics through this new method. Change-Id: I62b3a525cde797cd5b809ca9e8e6c91d5651c6b4 CRs-Fixed: 2851016
Cette révision appartient à :

révisé par
snandini

Parent
2bd65bf01f
révision
744ae542a0
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012-2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -31,6 +31,10 @@
|
||||
/* For WMI_MAX_CHAINS */
|
||||
#include "wmi_unified.h"
|
||||
|
||||
#ifdef QCA_SUPPORT_MC_CP_STATS
|
||||
#include "wlan_cp_stats_public_structs.h"
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_SUPPORT_TWT
|
||||
|
||||
#include <wmi_unified_twt_param.h>
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2018, 2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2018, 2021 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -48,14 +48,31 @@ uint8_t target_if_mc_cp_get_mac_id(struct vdev_mlme_obj *vdev_mlme);
|
||||
* @psoc: pointer to psoc object
|
||||
* @event: event parameters
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS on Success, other QDF_STATUS error codes on
|
||||
* failure
|
||||
*/
|
||||
QDF_STATUS
|
||||
tgt_mc_cp_stats_process_stats_event(struct wlan_objmgr_psoc *psoc,
|
||||
struct stats_event *ev);
|
||||
|
||||
#ifdef WLAN_SUPPORT_INFRA_CTRL_PATH_STATS
|
||||
/**
|
||||
* tgt_mc_cp_stats_process_infra_stats_event(): API to process event from
|
||||
* cp stats infrastrucure
|
||||
* @psoc: pointer to psoc object
|
||||
* @infra_event: infra cp stats event parameters
|
||||
*
|
||||
* Return: status of operation
|
||||
*/
|
||||
QDF_STATUS tgt_mc_cp_stats_process_stats_event(struct wlan_objmgr_psoc *psoc,
|
||||
struct stats_event *event);
|
||||
QDF_STATUS tgt_mc_cp_stats_process_infra_stats_event(
|
||||
struct wlan_objmgr_psoc *psoc,
|
||||
struct infra_cp_stats_event *infra_event);
|
||||
|
||||
#endif
|
||||
/**
|
||||
* tgt_send_mc_cp_stats_req(): API to send stats request to lmac
|
||||
* @psoc: pointer to psoc object
|
||||
* @req: pointer to stats request
|
||||
*
|
||||
* Return: status of operation
|
||||
*/
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2018-2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -153,6 +153,20 @@ QDF_STATUS ucfg_mc_cp_stats_send_stats_request(struct wlan_objmgr_vdev *vdev,
|
||||
enum stats_req_type type,
|
||||
struct request_info *info);
|
||||
|
||||
/**
|
||||
* wlan_cfg80211_mc_twt_get_infra_cp_stats() - send twt get statistic request
|
||||
* @vdev: pointer to vdev object
|
||||
* @dialog_id: TWT session dialog id
|
||||
* @twt_peer_mac: mac address of the peer
|
||||
* @errno: error code
|
||||
*
|
||||
* Return: pointer to infra cp stats event for success or NULL for failure
|
||||
*/
|
||||
struct infra_cp_stats_event *
|
||||
wlan_cfg80211_mc_twt_get_infra_cp_stats(struct wlan_objmgr_vdev *vdev,
|
||||
uint32_t dialog_id,
|
||||
uint8_t twt_peer_mac[QDF_MAC_ADDR_SIZE],
|
||||
int *errno);
|
||||
/**
|
||||
* ucfg_mc_cp_stats_get_tx_power() - API to fetch tx_power
|
||||
* @vdev: pointer to vdev object
|
||||
@@ -221,7 +235,6 @@ bool ucfg_mc_cp_stats_is_req_pending(struct wlan_objmgr_psoc *psoc,
|
||||
QDF_STATUS ucfg_mc_cp_stats_set_pending_req(struct wlan_objmgr_psoc *psoc,
|
||||
enum stats_req_type type,
|
||||
struct request_info *req);
|
||||
|
||||
/**
|
||||
* ucfg_mc_cp_stats_reset_pending_req() - API to reset pending request
|
||||
* @psoc: pointer to psoc object
|
||||
@@ -250,10 +263,20 @@ QDF_STATUS ucfg_mc_cp_stats_get_pending_req(struct wlan_objmgr_psoc *psoc,
|
||||
enum stats_req_type type,
|
||||
struct request_info *info);
|
||||
|
||||
/**
|
||||
* ucfg_mc_infra_cp_stats_free_stats_resources() - API to free buffers within
|
||||
* infra cp stats_event structure
|
||||
* @ev: structure whose buffer are to freed
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
void
|
||||
ucfg_mc_infra_cp_stats_free_stats_resources(struct infra_cp_stats_event *ev);
|
||||
|
||||
/**
|
||||
* ucfg_mc_cp_stats_free_stats_resources() - API to free buffers within stats_event
|
||||
* structure
|
||||
* @ev: strcture whose buffer are to freed
|
||||
* @ev: structure whose buffer are to freed
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur