qcacld-3.0: Extract Peer TWT session parameters
WMI handler is registered for twt_session_stats event. Upon wmi event twt session parameters are extracted and cached in peer mc_cp_stats. UMAC APIs are provided to retrieve TWT session parameters from north bound interface(hdd) using twt peer's mac_addr/session dialog_id CRs-Fixed: 2730732 Change-Id: I8ce38ac6be97e844e26e03751c6d6cca981b82b4
This commit is contained in:

کامیت شده توسط
snandini

والد
6363f77af4
کامیت
78df7f106e
@@ -29,6 +29,14 @@
|
||||
#include "wlan_cmn.h"
|
||||
#include "qdf_event.h"
|
||||
|
||||
#ifdef WLAN_SUPPORT_TWT
|
||||
|
||||
#include <wmi_unified_twt_param.h>
|
||||
/* Max TWT sessions per peer (supported by fw) */
|
||||
#define TWT_PEER_MAX_SESSIONS 1
|
||||
|
||||
#endif /* WLAN_SUPPORT_TWT */
|
||||
|
||||
#define MAX_NUM_CHAINS 2
|
||||
|
||||
#define MAX_MIB_STATS 1
|
||||
@@ -300,6 +308,7 @@ struct peer_extd_stats {
|
||||
* @peer_macaddr: mac address
|
||||
* @extd_stats: Pointer to peer extended stats
|
||||
* @adv_stats: Pointer to peer adv (extd2) stats
|
||||
* @twt_param: Pointer to peer twt session parameters
|
||||
*/
|
||||
struct peer_mc_cp_stats {
|
||||
uint32_t tx_rate;
|
||||
@@ -308,6 +317,9 @@ struct peer_mc_cp_stats {
|
||||
uint8_t peer_macaddr[QDF_MAC_ADDR_SIZE];
|
||||
struct peer_extd_stats *extd_stats;
|
||||
struct peer_adv_mc_cp_stats *adv_stats;
|
||||
#ifdef WLAN_SUPPORT_TWT
|
||||
struct wmi_host_twt_session_stats_info twt_param[TWT_PEER_MAX_SESSIONS];
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -31,6 +31,37 @@
|
||||
#include <wlan_objmgr_vdev_obj.h>
|
||||
#include <wlan_cp_stats_mc_defs.h>
|
||||
|
||||
#ifdef WLAN_SUPPORT_TWT
|
||||
|
||||
#include <wlan_objmgr_peer_obj.h>
|
||||
#include "../../core/src/wlan_cp_stats_defs.h"
|
||||
#include <qdf_event.h>
|
||||
|
||||
/* Max TWT sessions supported */
|
||||
#define TWT_PSOC_MAX_SESSIONS TWT_PEER_MAX_SESSIONS
|
||||
|
||||
/* Valid dialog_id 0 to (0xFF - 1) */
|
||||
#define TWT_MAX_DIALOG_ID (0xFF - 1)
|
||||
|
||||
/* dialog_id used to get all peer's twt session parameters */
|
||||
#define TWT_GET_ALL_PEER_PARAMS_DIALOG_ID (0xFF)
|
||||
|
||||
/**
|
||||
* ucfg_twt_get_peer_session_params() - Retrieves peer twt session parameters
|
||||
* corresponding to a peer by using mac_addr and dialog id
|
||||
* If dialog_id is TWT_GET_ALL_PEER_PARAMS_DIALOG_ID retrieves twt session
|
||||
* parameters of all peers with valid twt session
|
||||
* @psoc_obj: psoc object
|
||||
* @params: array pointer to store peer twt session parameters, should contain
|
||||
* mac_addr and dialog id of a peer for which twt session stats to be retrieved
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS upon success, else qdf error values
|
||||
*/
|
||||
QDF_STATUS
|
||||
ucfg_twt_get_peer_session_params(struct wlan_objmgr_psoc *psoc_obj,
|
||||
struct wmi_host_twt_session_stats_info *param);
|
||||
#endif /* WLAN_SUPPORT_TWT */
|
||||
|
||||
struct psoc_cp_stats;
|
||||
struct vdev_cp_stats;
|
||||
|
||||
|
مرجع در شماره جدید
Block a user