qcacld-3.0: Add API for sending ML Link state diag event

Add connectivity logging API to send ML Link state switch
diag event.
When ML link gets enabled/disabled, this event will be
sent.
EVENT_WLAN_MLO_LINK_STATUS is the diag event for ML link
state switch event.

Change-Id: Ie10f1208875f86a5a5892ee2cfb2fabe18f200e4
CRs-Fixed: 3610060
此提交包含在:
Pragaspathi Thilagaraj
2023-09-08 23:38:49 +05:30
提交者 Rahul Choudhary
父節點 a59288b53a
當前提交 406a6d568e
共有 2 個檔案被更改,包括 47 行新增2 行删除

查看文件

@@ -26,6 +26,7 @@
#include "wlan_logging_sock_svc.h"
#include "wlan_cm_roam_public_struct.h"
#include "wlan_mlo_mgr_public_structs.h"
#define WLAN_MAX_LOGGING_FREQ 120
@@ -1245,6 +1246,7 @@ void
wlan_connectivity_sta_info_event(struct wlan_objmgr_psoc *psoc,
uint8_t vdev_id);
#elif defined(WLAN_FEATURE_CONNECTIVITY_LOGGING)
/**
* wlan_connectivity_logging_start() - Initialize the connectivity/roaming
@@ -1403,7 +1405,25 @@ wlan_convert_freq_to_diag_band(uint16_t ch_freq)
static inline void
wlan_connectivity_sta_info_event(struct wlan_objmgr_psoc *psoc,
uint8_t vdev_id)
{
}
{}
#endif
#if defined(CONNECTIVITY_DIAG_EVENT) && defined(WLAN_FEATURE_11BE_MLO)
/**
* wlan_connectivity_mld_link_status_event() - Send connectivity logging
* ML Link Status event
* @psoc: Pointer to global PSOC object
* @src: Src parameters to be sent
*
* Return: None
*/
void
wlan_connectivity_mld_link_status_event(struct wlan_objmgr_psoc *psoc,
struct mlo_link_switch_params *src);
#else
static inline
void wlan_connectivity_mld_link_status_event(struct wlan_objmgr_psoc *psoc,
struct mlo_link_switch_params *src)
{}
#endif /* CONNECTIVITY_DIAG_EVENT && WLAN_FEATURE_11BE_MLO */
#endif /* _WLAN_CONNECTIVITY_LOGGING_H_ */

查看文件

@@ -647,4 +647,29 @@ out:
wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_OBJMGR_ID);
}
#ifdef WLAN_FEATURE_11BE_MLO
void wlan_connectivity_mld_link_status_event(struct wlan_objmgr_psoc *psoc,
struct mlo_link_switch_params *src)
{
WLAN_HOST_DIAG_EVENT_DEF(wlan_diag_event,
struct wlan_diag_mlo_link_status);
qdf_mem_zero(&wlan_diag_event,
sizeof(struct wlan_diag_mlo_link_status));
wlan_diag_event.diag_cmn.timestamp_us = qdf_get_time_of_the_day_us();
wlan_diag_event.diag_cmn.ktime_us = qdf_ktime_to_us(qdf_ktime_get());
wlan_diag_event.version = DIAG_MLO_LINK_STATUS_VERSION;
wlan_diag_event.active_link = src->active_link_bitmap;
wlan_diag_event.prev_active_link = src->prev_link_bitmap;
wlan_diag_event.reason = src->reason_code;
wlan_diag_event.diag_cmn.fw_timestamp = src->fw_timestamp;
WLAN_HOST_DIAG_EVENT_REPORT(&wlan_diag_event,
EVENT_WLAN_MLO_LINK_STATUS);
}
#endif
#endif