WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hmac_latency_stat.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2021-2023. All rights reserved.
3 * Description: Latency Stat hmac function.
4 * Create: 2021-08-20
5 */
6
7#ifndef __HMAC_LATENCY_STAT_H__
8#define __HMAC_LATENCY_STAT_H__
9
10/*****************************************************************************
11 1 其他头文件包含
12*****************************************************************************/
13#include "oal_types.h"
14#include "wlan_types_common.h"
15#include "mac_vap_ext.h"
16#include "msg_latency_rom.h"
17
18#ifdef __cplusplus
19#if __cplusplus
20extern "C" {
21#endif
22#endif
23
24#undef THIS_FILE_ID
25#define THIS_FILE_ID OAM_FILE_ID_HMAC_LATENCY_STAT_H
26/*****************************************************************************
27 2 宏定义
28*****************************************************************************/
29#define latency_report_has_tx(direct) ((direct) == (LATENCY_RPT_DIR_TX) || (direct) == (LATENCY_RPT_DIR_TXRX))
30#define latency_report_has_rx(direct) ((direct) == (LATENCY_RPT_DIR_RX) || (direct) == (LATENCY_RPT_DIR_TXRX))
31
32#define LATENCY_STAT_SWITCH_ON ((hmac_latency_get_switch_state()) == OAL_TRUE)
33#define LATENCY_NEED_REPORT_TX (latency_report_has_tx(hmac_latency_get_report_direct()))
34#define LATENCY_NEED_REPORT_RX (latency_report_has_rx(hmac_latency_get_report_direct()))
35#define LATENCY_TX_STORAGE_EXIST (hmac_latency_get_storage_tx() != OSAL_NULL)
36#define LATENCY_RX_STORAGE_EXIST (hmac_latency_get_storage_rx() != OSAL_NULL)
37
38#define LATENCY_TIMESTAMP_MASK 0xffffff
39#define LATENCY_STATS_NUM_TIME_SLOTS 6
40#define LATENCY_STATS_TIME_SLOT_1 50
41#define LATENCY_STATS_TIME_SLOT_2 200
42#define LATENCY_STATS_TIME_SLOT_3 1000
43#define LATENCY_STATS_TIME_SLOT_4 10000
44#define LATENCY_STATS_TIME_SLOT_5 40000
45
46#define STAT_TIME_REG_MAX 0xFFFFFF /* 24位统计寄存器最大长度 */
47static inline osal_u32 time_revert(osal_u32 start, osal_u32 end)
48{
49 return (STAT_TIME_REG_MAX - start + end + 1); /* 时间反转计算 */
50}
51static inline osal_u32 get_runtime(osal_u32 start, osal_u32 end)
52{
53 return (start > end) ? time_revert(start, end) : (end - start);
54}
55/*****************************************************************************
56 3 枚举定义
57*****************************************************************************/
65
73/*****************************************************************************
74 10 函数声明
75*****************************************************************************/
80static osal_u32 hmac_latency_stat_init_weakref(osal_void)
81 __attribute__ ((weakref("hmac_latency_stat_init"), used));
82static osal_void hmac_latency_stat_deinit_weakref(osal_void)
83 __attribute__ ((weakref("hmac_latency_stat_deinit"), used));
84
85#ifdef __cplusplus
86#if __cplusplus
87}
88#endif
89#endif
90
91#endif /* __HMAC_LATENCY_STAT_H__ */
latency_proc_parts_rx_hmac
Definition hmac_latency_stat.h:66
@ RX_HMAC_KO_PROC
Definition hmac_latency_stat.h:67
@ RX_HMAC_NUM_PARTS
Definition hmac_latency_stat.h:70
@ RX_TRANS_TO_LAN
Definition hmac_latency_stat.h:68
osal_u32(* hmac_record_latency_tx_cb)(oal_netbuf_stru *buf, latency_tx_parts_enum_uint8 part)
Definition hmac_latency_stat.h:77
osal_u8 latency_rx_parts_enum_uint8
Definition hmac_latency_stat.h:72
#define STAT_TIME_REG_MAX
Definition hmac_latency_stat.h:46
osal_void(* hmac_record_latency_rx_cb)(oal_netbuf_stru *buf, latency_rx_parts_enum_uint8 part)
Definition hmac_latency_stat.h:79
osal_u8 latency_tx_parts_enum_uint8
Definition hmac_latency_stat.h:64
latency_proc_parts_tx_hmac
Definition hmac_latency_stat.h:58
@ TX_HMAC_NUM_PARTS
Definition hmac_latency_stat.h:62
@ TX_HMAC_PROC_AMSDU
Definition hmac_latency_stat.h:59
@ TX_HMAC_TID_QUEUE
Definition hmac_latency_stat.h:60
osal_void(* hmac_latency_stat_tx_entry_cb)(oal_netbuf_stru *buf)
Definition hmac_latency_stat.h:76
osal_void(* hmac_latency_stat_rx_entry_cb)(oal_netbuf_stru *buf)
Definition hmac_latency_stat.h:78
static osal_u32 used
Definition hmac_latency_stat.h:81
unsigned char osal_u8
Definition osal_types.h:11
void osal_void
Definition osal_types.h:29
unsigned int osal_u32
Definition osal_types.h:13
Log message information header.
Definition log_oam_logger.h:564
Definition oal_skbuff.h:82