1 /****************************************************************************** 2 * 3 * Copyright(c) 2007 - 2017 Realtek Corporation. 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms of version 2 of the GNU General Public License as 7 * published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 * more details. 13 * 14 *****************************************************************************/ 15 #ifndef __RTW_MESH_HWMP_H_ 16 #define __RTW_MESH_HWMP_H_ 17 18 #ifndef DBG_RTW_HWMP 19 #define DBG_RTW_HWMP 0 20 #endif 21 #if DBG_RTW_HWMP 22 #define RTW_HWMP_DBG(fmt, arg...) RTW_PRINT(fmt, ##arg) 23 #else 24 #define RTW_HWMP_DBG(fmt, arg...) RTW_DBG(fmt, ##arg) 25 #endif 26 27 #ifndef INFO_RTW_HWMP 28 #define INFO_RTW_HWMP 0 29 #endif 30 #if INFO_RTW_HWMP 31 #define RTW_HWMP_INFO(fmt, arg...) RTW_PRINT(fmt, ##arg) 32 #else 33 #define RTW_HWMP_INFO(fmt, arg...) RTW_INFO(fmt, ##arg) 34 #endif 35 36 37 void rtw_ewma_err_rate_init(struct rtw_ewma_err_rate *e); 38 unsigned long rtw_ewma_err_rate_read(struct rtw_ewma_err_rate *e); 39 void rtw_ewma_err_rate_add(struct rtw_ewma_err_rate *e, unsigned long val); 40 int rtw_mesh_path_error_tx(_adapter *adapter, 41 u8 ttl, const u8 *target, u32 target_sn, 42 u16 target_rcode, const u8 *ra); 43 void rtw_ieee80211s_update_metric(_adapter *adapter, u8 mac_id, 44 u8 per, u8 rate, 45 u8 bw, u8 total_pkt); 46 void rtw_mesh_rx_path_sel_frame(_adapter *adapter, union recv_frame *rframe); 47 void rtw_mesh_queue_preq(struct rtw_mesh_path *mpath, u8 flags); 48 void rtw_mesh_path_start_discovery(_adapter *adapter); 49 void rtw_mesh_path_timer(void *ctx); 50 void rtw_mesh_path_tx_root_frame(_adapter *adapter); 51 void rtw_mesh_work_hdl(_workitem *work); 52 void rtw_ieee80211_mesh_path_timer(void *ctx); 53 void rtw_ieee80211_mesh_path_root_timer(void *ctx); 54 BOOLEAN rtw_ieee80211_mesh_root_setup(_adapter *adapter); 55 void rtw_mesh_work(_workitem *work); 56 void rtw_mesh_atlm_param_req_timer(void *ctx); 57 58 #endif /* __RTW_MESH_HWMP_H_ */ 59 60 61