WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
frw_dmac_rom.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2020-2022. All rights reserved.
3 * Description: Header file of dmac public interface.
4 * Author:
5 */
6
7#ifndef FRW_DMAC_ROM_H
8#define FRW_DMAC_ROM_H
9
10#include "osal_types.h"
11#include "oal_net_rom.h"
12#include "dmac_ext_if_rom.h"
13#include "frw_msg_rom.h"
14#include "dmac_pkt_debug_rom.h"
15#ifdef __cplusplus
16#if __cplusplus
17extern "C" {
18#endif
19#endif
20
21#define frw_dbg(fmt, ...)
22
23#define TIME_OUT_MS 2000
24
41
48
52
53typedef struct {
58#ifdef _PRE_OS_VERSION_LITEOS
59 osal_wait que_wait; /* 异步事件 */
60#endif
61} frw_ctrl;
62
63/*
64 约定:对于dmac侧而言,无论是配置消息,还是数据帧/管理帧:
65 send: dmac -> wal/hmac
66 post: dmac -> dmac
67 rcv : wal/hmac - > dmac
68 对于数据帧/管理帧
69 rx: air -> dmac
70 tx: dmac -> air
71*/
72
73/* msg_id:配置消息ID;
74 用于从device侧发起的消息/配置,且消息/配置一定会被发往host侧
75 d2h没有同步消息;
76*/
78
79/* 用于wal->hmac的异步配置 */
81
82/*
83 netbuf: 数据帧报文指针,调用者申请,HCC释放;
84 发送数据帧到hmac侧的接口
85 调用者要填写优先级,cb域具体填写位置待定
86*/
89
91 osal_u16 netbuf_type, frw_msg *msg);
92
99
101#ifdef _PRE_OS_VERSION_LITEOS
102osal_u8 frw_thread_condition_check(osal_void);
103osal_wait *frw_thread_get_wait(osal_void);
104#endif
105
112#ifdef _PRE_WLAN_FEATURE_CENTRALIZE
113typedef osal_u32 (*frw_rx_msg_cb)(osal_u16 msg_id, osal_u8 vap_id, osal_u32 seq, osal_s32 dev_cb_ret, frw_msg *msg);
114typedef osal_u32 (*frw_rx_netbuf_cb)(oal_dmac_netbuf_stru *netbuf, osal_u32 payload_len);
115#endif
116#define OSAL_FRW_CB_CONTINUE 1
118typedef osal_u32 (*frw_hcc_flowctrl_type_callback)(osal_u8 data_type, osal_u16 *fc_flag, osal_u8 *queue_id);
121typedef osal_void (*frw_event_flush_cb)(osal_u16 event_type);
123#ifdef __cplusplus
124#if __cplusplus
125}
126#endif
127#endif
128
129#endif // FRW_DMAC_H
osal_u32 dmac_send_msg_to_host(osal_u8 vap_id, osal_u16 msg_id, osal_u8 *data, osal_u32 data_len)
osal_s32 frw_send_mgmt_to_host(oal_dmac_netbuf_stru *netbuf, osal_u32 buf_len, osal_u32 msg_type, osal_u32 vap_id)
frw_msg_node * frw_fetch_msg_node(osal_void)
osal_s32 frw_send_data_to_host(oal_dmac_netbuf_stru *netbuf, osal_u32 buf_len, osal_u32 msg_type, osal_u32 vap_id)
osal_u32(* frw_recv_msg_callback)(frw_msg_adapt *msg_adapt)
Definition frw_dmac_rom.h:117
osal_s32(* dmac_frw_msg_callback)(dmac_vap_stru *dmac_vap, frw_msg *msg)
Definition frw_dmac_rom.h:25
osal_void frw_dmac_msg_hook_unregister(osal_u16 msg_id)
osal_s32 dmac_frw_msg_exec(osal_u16 msg_id, osal_u8 vap_id, osal_u8 *data, osal_u32 data_len)
osal_void frw_thread_process_msg_node(frw_msg_node *node, osal_bool drop)
osal_s32 dmac_frw_msg_exec_callback(osal_u16 msg_id, osal_u8 vap_id, frw_msg *msg)
osal_s32 dmac_frw_post_async_msg(osal_u16 msg_id, osal_u8 pri, osal_u8 vap_id, frw_msg *msg, osal_u32 seq)
device_frw_stat * get_frw_device_stat_info(osal_void)
osal_s32 dmac_config_flush_event_msg(dmac_vap_stru *dmac_vap, frw_msg *msg)
osal_s32 dmac_frw_netbuf_exec_callback(dmac_vap_stru *dmac_vap, osal_u8 data_type, osal_u16 netbuf_type, frw_msg *msg)
osal_void(* frw_event_flush_cb)(osal_u16 event_type)
Definition frw_dmac_rom.h:121
osal_s32 frw_send_cfg_to_host(osal_u16 msg_id, osal_u8 vap_id, frw_msg *msg)
osal_u8 is_frw_queue_empty(osal_void)
osal_s32 dmac_hal_post_async_msg(osal_u16 msg_id, osal_u8 pri, osal_u8 vap_id, osal_u8 *data, osal_u32 data_len)
osal_s32(* frw_msg_exec_callback_hook)(osal_u16 msg_id, osal_u8 vap_id, frw_msg *msg)
Definition frw_dmac_rom.h:119
osal_u32 frw_dmac_msg_hook_register(osal_u16 msg_id, dmac_frw_msg_callback msg_cb)
osal_u32(* frw_hcc_flowctrl_type_callback)(osal_u8 data_type, osal_u16 *fc_flag, osal_u8 *queue_id)
Definition frw_dmac_rom.h:118
osal_void frw_dump_stats(osal_void)
osal_void frw_free_msg_node(frw_msg_node *node)
osal_void frw_thread_process_msg(osal_void)
frw_ctrl * get_dmac_frw_ctrl(osal_void)
@ FRW_POST_PRI_NUM
Definition frw_msg_rom.h:43
int osal_s32
Definition osal_types.h:19
unsigned char osal_u8
Definition osal_types.h:11
osal_u8 osal_bool
Definition osal_types.h:27
void osal_void
Definition osal_types.h:29
unsigned int osal_u32
Definition osal_types.h:13
unsigned short osal_u16
Definition osal_types.h:12
Definition frw_ext_common_rom.h:35
Definition dmac_ext_if_rom.h:106
Definition frw_dmac_rom.h:53
frw_msg_item * msg_table
Definition frw_dmac_rom.h:56
osal_u16 msg_id_max
Definition frw_dmac_rom.h:55
osal_u16 msg_id_min
Definition frw_dmac_rom.h:54
Definition frw_msg_rom.h:87
Definition frw_dmac_rom.h:49
dmac_frw_msg_callback msg_cb
Definition frw_dmac_rom.h:50
Definition frw_dmac_rom.h:26
osal_u8 wait_cond
Definition frw_dmac_rom.h:31
osal_u8 vap_id
Definition frw_dmac_rom.h:36
osal_s32 cb_return
Definition frw_dmac_rom.h:29
osal_u8 sync
Definition frw_dmac_rom.h:32
osal_atomic wait_fail
Definition frw_dmac_rom.h:39
osal_u16 time_out
Definition frw_dmac_rom.h:37
osal_u8 wait_cond_thread
Definition frw_dmac_rom.h:33
osal_u8 pool_idx
Definition frw_dmac_rom.h:35
osal_u8 pool_used
Definition frw_dmac_rom.h:34
osal_u16 seq
Definition frw_dmac_rom.h:38
frw_msg msg
Definition frw_dmac_rom.h:27
osal_u16 msg_id
Definition frw_dmac_rom.h:30
Definition frw_dmac_rom.h:42
osal_spinlock lock
Definition frw_dmac_rom.h:46
osal_u32 cnt
Definition frw_dmac_rom.h:44
osal_u32 seq
Definition frw_dmac_rom.h:45
Definition frw_msg_rom.h:74
Definition oal_net_pkt_rom.h:83
Definition osal_atomic.h:18
Definition osal_list.h:39
Definition osal_spinlock.h:18
Definition osal_wait.h:21
Definition hal_uart_v151_regs_def.h:38