1 /* 2 * Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 * Description: wal 11d api. 15 */ 16 17 #ifndef __DIAG_LOG_COMMON_H__ 18 #define __DIAG_LOG_COMMON_H__ 19 20 #if defined (_PRE_WLAN_PLAT_SUPPORT_HOST_HSO) 21 #include "zdiag_log_util.h" 22 #else 23 #include "soc_diag_util.h" 24 #if (!defined(DIAG_PRINT) && !defined(UT_TEST)) 25 #include "log_oam_logger.h" 26 #endif 27 #endif 28 29 #include "common_dft_rom.h" 30 31 #ifdef __cplusplus 32 #if __cplusplus 33 extern "C" { 34 #endif 35 #endif 36 37 #if !defined(_PRE_WLAN_PLAT_SUPPORT_HOST_PRINTK) 38 39 #if (defined(DIAG_PRINT) && !defined(UT_TEST)) 40 #define oam_info_log0(_uc_vap_0, _en_feature_0, fmt) \ 41 uapi_diag_info_log0(0, fmt) 42 #define oam_info_log1(_uc_vap_0, _en_feature_0, fmt, p1) \ 43 uapi_diag_info_log1(0, fmt, (td_u32)(p1)) 44 #define oam_info_log2(_uc_vap_0, _en_feature_0, fmt, p1, p2) \ 45 uapi_diag_info_log2(0, fmt, (td_u32)(p1), (td_u32)(p2)) 46 #define oam_info_log3(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3) \ 47 uapi_diag_info_log3(0, fmt, (td_u32)(p1), (td_u32)(p2), (td_u32)(p3)) 48 #define oam_info_log4(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3, p4) \ 49 uapi_diag_info_log4(0, fmt, (td_u32)(p1), (td_u32)(p2), (td_u32)(p3), (td_u32)(p4)) 50 51 #define oam_warning_log0(_uc_vap_0, _en_feature_0, fmt) \ 52 uapi_diag_warning_log0(0, fmt) 53 #define oam_warning_log1(_uc_vap_0, _en_feature_0, fmt, p1) \ 54 uapi_diag_warning_log1(0, fmt, (td_u32)(p1)) 55 #define oam_warning_log2(_uc_vap_0, _en_feature_0, fmt, p1, p2) \ 56 uapi_diag_warning_log2(0, fmt, (td_u32)(p1), (td_u32)(p2)) 57 #define oam_warning_log3(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3) \ 58 uapi_diag_warning_log3(0, fmt, (td_u32)(p1), (td_u32)(p2), (td_u32)(p3)) 59 #define oam_warning_log4(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3, p4) \ 60 uapi_diag_warning_log4(0, fmt, (td_u32)(p1), (td_u32)(p2), (td_u32)(p3), (td_u32)(p4)) 61 62 #define oam_error_log0(_uc_vap_0, _en_feature_0, fmt) \ 63 uapi_diag_error_log0(0, fmt) 64 #define oam_error_log1(_uc_vap_0, _en_feature_0, fmt, p1) \ 65 uapi_diag_error_log1(0, fmt, (td_u32)(p1)) 66 #define oam_error_log2(_uc_vap_0, _en_feature_0, fmt, p1, p2) \ 67 uapi_diag_error_log2(0, fmt, (td_u32)(p1), (td_u32)(p2)) 68 #define oam_error_log3(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3) \ 69 uapi_diag_error_log3(0, fmt, (td_u32)(p1), (td_u32)(p2), (td_u32)(p3)) 70 #define oam_error_log4(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3, p4) \ 71 uapi_diag_error_log4(0, fmt, (td_u32)(p1), (td_u32)(p2), (td_u32)(p3), (td_u32)(p4)) 72 73 #elif (!defined(DIAG_PRINT) && !defined(UT_TEST)) 74 #define oam_info_log0(_uc_vap_0, _en_feature_0, fmt) oml_wifi_log_print0(0, LOG_LEVEL_INFO, fmt) 75 #define oam_info_log1(_uc_vap_0, _en_feature_0, fmt, p1) oml_wifi_log_print1(0, LOG_LEVEL_INFO, fmt, p1) 76 #define oam_info_log2(_uc_vap_0, _en_feature_0, fmt, p1, p2) oml_wifi_log_print2(0, LOG_LEVEL_INFO, fmt, p1, p2) 77 #define oam_info_log3(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3) \ 78 oml_wifi_log_print3(0, LOG_LEVEL_INFO, fmt, p1, p2, p3) 79 #define oam_info_log4(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3, p4) \ 80 oml_wifi_log_print4(0, LOG_LEVEL_INFO, fmt, p1, p2, p3, p4) 81 82 #define oam_warning_log0(_uc_vap_0, _en_feature_0, fmt) oml_wifi_log_print0(0, LOG_LEVEL_WARNING, fmt) 83 #define oam_warning_log1(_uc_vap_0, _en_feature_0, fmt, p1) oml_wifi_log_print1(0, LOG_LEVEL_WARNING, fmt, p1) 84 #define oam_warning_log2(_uc_vap_0, _en_feature_0, fmt, p1, p2) \ 85 oml_wifi_log_print2(0, LOG_LEVEL_WARNING, fmt, p1, p2) 86 #define oam_warning_log3(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3) \ 87 oml_wifi_log_print3(0, LOG_LEVEL_WARNING, fmt, p1, p2, p3) 88 #define oam_warning_log4(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3, p4) \ 89 oml_wifi_log_print4(0, LOG_LEVEL_WARNING, fmt, p1, p2, p3, p4) 90 91 #define oam_error_log0(_uc_vap_0, _en_feature_0, fmt) oml_wifi_log_print0(0, LOG_LEVEL_ERROR, fmt) 92 #define oam_error_log1(_uc_vap_0, _en_feature_0, fmt, p1) oml_wifi_log_print1(0, LOG_LEVEL_ERROR, fmt, p1) 93 #define oam_error_log2(_uc_vap_0, _en_feature_0, fmt, p1, p2) oml_wifi_log_print2(0, LOG_LEVEL_ERROR, fmt, p1, p2) 94 #define oam_error_log3(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3) \ 95 oml_wifi_log_print3(0, LOG_LEVEL_ERROR, fmt, p1, p2, p3) 96 #define oam_error_log4(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3, p4) \ 97 oml_wifi_log_print4(0, LOG_LEVEL_ERROR, fmt, p1, p2, p3, p4) 98 99 #elif !defined(UT_TEST) 100 #define oam_info_log0(_uc_vap_0, _en_feature_0, fmt) 101 #define oam_info_log1(_uc_vap_0, _en_feature_0, fmt, p1) 102 #define oam_info_log2(_uc_vap_0, _en_feature_0, fmt, p1, p2) 103 #define oam_info_log3(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3) 104 #define oam_info_log4(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3, p4) 105 #define oam_warning_log0(_uc_vap_0, _en_feature_0, fmt) 106 #define oam_warning_log1(_uc_vap_0, _en_feature_0, fmt, p1) 107 #define oam_warning_log2(_uc_vap_0, _en_feature_0, fmt, p1, p2) 108 #define oam_warning_log3(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3) 109 #define oam_warning_log4(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3, p4) 110 #define oam_error_log0(_uc_vap_0, _en_feature_0, fmt) 111 #define oam_error_log1(_uc_vap_0, _en_feature_0, fmt, p1) 112 #define oam_error_log2(_uc_vap_0, _en_feature_0, fmt, p1, p2) 113 #define oam_error_log3(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3) 114 #define oam_error_log4(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3, p4) 115 #else 116 117 /* 日志宏定义 */ 118 #define oam_info_log0(_uc_vap_0, _en_feature_0, fmt) ext_diag_info_log0(0, fmt) 119 #define oam_info_log1(_uc_vap_0, _en_feature_0, fmt, p1) ext_diag_info_log1(0, fmt, (td_u32)(p1)) 120 #define oam_info_log2(_uc_vap_0, _en_feature_0, fmt, p1, p2) ext_diag_info_log2(0, fmt, (td_u32)(p1), (td_u32)(p2)) 121 #define oam_info_log3(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3) \ 122 ext_diag_info_log3(0, fmt, (td_u32)(p1), (td_u32)(p2), (td_u32)(p3)) 123 #define oam_info_log4(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3, p4) \ 124 ext_diag_info_log4(0, fmt, (td_u32)(p1), (td_u32)(p2), (td_u32)(p3), (td_u32)(p4)) 125 #define oam_info_buf(_uc_vap_0, _en_feature_0, buffer, data_size, fmt, type) \ 126 ext_diag_info_log_buff(0, buffer, data_size, fmt, type) 127 128 #define oam_warning_log0(_uc_vap_0, _en_feature_0, fmt) \ 129 do { \ 130 ext_diag_warning_log0(0, fmt); \ 131 } while (0) 132 #define oam_warning_log1(_uc_vap_0, _en_feature_0, fmt, p1) \ 133 do { \ 134 ext_diag_warning_log1(0, fmt, (td_u32)(p1)); \ 135 } while (0) 136 #define oam_warning_log2(_uc_vap_0, _en_feature_0, fmt, p1, p2) \ 137 do { \ 138 ext_diag_warning_log2(0, fmt, (td_u32)(p1), (td_u32)(p2)); \ 139 } while (0) 140 #define oam_warning_log3(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3) \ 141 do { \ 142 ext_diag_warning_log3(0, fmt, (td_u32)(p1), (td_u32)(p2), (td_u32)(p3)); \ 143 } while (0) 144 #define oam_warning_log4(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3, p4) \ 145 do { \ 146 ext_diag_warning_log4(0, fmt, (td_u32)(p1), (td_u32)(p2), (td_u32)(p3), (td_u32)(p4)); \ 147 } while (0) 148 149 #define oam_error_log0(_uc_vap_0, _en_feature_0, fmt) \ 150 do { \ 151 ext_diag_error_log0(0, fmt); \ 152 } while (0) 153 #define oam_error_log1(_uc_vap_0, _en_feature_0, fmt, p1) \ 154 do { \ 155 ext_diag_error_log1(0, fmt, (td_u32)(p1)); \ 156 } while (0) 157 #define oam_error_log2(_uc_vap_0, _en_feature_0, fmt, p1, p2) \ 158 do { \ 159 ext_diag_error_log2(0, fmt, (td_u32)(p1), (td_u32)(p2)); \ 160 } while (0) 161 #define oam_error_log3(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3) \ 162 do { \ 163 ext_diag_error_log3(0, fmt, (td_u32)(p1), (td_u32)(p2), (td_u32)(p3)); \ 164 } while (0) 165 #define oam_error_log4(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3, p4) \ 166 do { \ 167 ext_diag_error_log4(0, fmt, (td_u32)(p1), (td_u32)(p2), (td_u32)(p3), (td_u32)(p4)); \ 168 } while (0) 169 170 #endif 171 172 173 #define oam_warning_buf(_uc_vap_0, _en_feature_0, buffer, data_size, fmt, type) \ 174 ext_diag_warning_log_buff(0, buffer, data_size, fmt, type) 175 #define oam_error_buf(_uc_vap_0, _en_feature_0, buffer, data_size, fmt, type) \ 176 ext_diag_error_log_buff(0, buffer, data_size, fmt, type) 177 178 #define oam_info_log_alter(id, feature_id, fmt, num, arg...) 179 #define oam_warning_log_alter(id, feature_id, fmt, num, arg...) 180 #define oam_error_log_alter(id, feature_id, fmt, num, arg...) 181 182 #else 183 /* 日志宏定义 */ 184 #define oam_info_log0(_uc_vap_0, _en_feature_0, fmt) 185 #define oam_info_log1(_uc_vap_0, _en_feature_0, fmt, p1) 186 #define oam_info_log2(_uc_vap_0, _en_feature_0, fmt, p1, p2) 187 #define oam_info_log3(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3) 188 #define oam_info_log4(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3, p4) 189 #define oam_info_buf(_uc_vap_0, _en_feature_0, buffer, data_size, fmt, type) 190 191 #define oam_warning_log0(_uc_vap_0, _en_feature_0, fmt) do { \ 192 if (dft_get_log_level_switch()) { \ 193 osal_printk("[%d %d][%d]" fmt "\r\n", _uc_vap_0, _en_feature_0, __LINE__); \ 194 } \ 195 } while (0) 196 #define oam_warning_log1(_uc_vap_0, _en_feature_0, fmt, p1) do { \ 197 if (dft_get_log_level_switch()) { \ 198 osal_printk("[%d %d][%d]" fmt "\r\n", _uc_vap_0, _en_feature_0, __LINE__, p1); \ 199 } \ 200 } while (0) 201 #define oam_warning_log2(_uc_vap_0, _en_feature_0, fmt, p1, p2) do { \ 202 if (dft_get_log_level_switch()) { \ 203 osal_printk("[%d %d][%d]" fmt "\r\n", _uc_vap_0, _en_feature_0, __LINE__, p1, p2); \ 204 } \ 205 } while (0) 206 #define oam_warning_log3(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3) do { \ 207 if (dft_get_log_level_switch()) { \ 208 osal_printk("[%d %d][%d]" fmt "\r\n", _uc_vap_0, _en_feature_0, __LINE__, p1, p2, p3); \ 209 } \ 210 } while (0) 211 #define oam_warning_log4(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3, p4) do { \ 212 if (dft_get_log_level_switch()) { \ 213 osal_printk("[%d %d][%d]" fmt "\r\n", _uc_vap_0, _en_feature_0, __LINE__, p1, p2, p3, p4); \ 214 } \ 215 } while (0) 216 217 #define oam_error_log0(_uc_vap_0, _en_feature_0, fmt) do { \ 218 if (dft_get_log_level_switch()) { \ 219 osal_printk("[%d %d][%d]" fmt "\r\n", _uc_vap_0, _en_feature_0, __LINE__); \ 220 } \ 221 } while (0) 222 #define oam_error_log1(_uc_vap_0, _en_feature_0, fmt, p1) do { \ 223 if (dft_get_log_level_switch()) { \ 224 osal_printk("[%d %d][%d]" fmt "\r\n", _uc_vap_0, _en_feature_0, __LINE__, p1); \ 225 } \ 226 } while (0) 227 #define oam_error_log2(_uc_vap_0, _en_feature_0, fmt, p1, p2) do { \ 228 if (dft_get_log_level_switch()) { \ 229 osal_printk("[%d %d][%d]" fmt "\r\n", _uc_vap_0, _en_feature_0, __LINE__, p1, p2); \ 230 } \ 231 } while (0) 232 #define oam_error_log3(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3) do { \ 233 if (dft_get_log_level_switch()) { \ 234 osal_printk("[%d %d][%d]" fmt "\r\n", _uc_vap_0, _en_feature_0, __LINE__, p1, p2, p3); \ 235 } \ 236 } while (0) 237 #define oam_error_log4(_uc_vap_0, _en_feature_0, fmt, p1, p2, p3, p4) do { \ 238 if (dft_get_log_level_switch()) { \ 239 osal_printk("[%d %d][%d]" fmt "\r\n", _uc_vap_0, _en_feature_0, __LINE__, p1, p2, p3, p4); \ 240 } \ 241 } while (0) 242 243 #define oam_warning_buf(_uc_vap_0, _en_feature_0, buffer, data_size, fmt, type) 244 #define oam_error_buf(_uc_vap_0, _en_feature_0, buffer, data_size, fmt, type) 245 246 #define oam_info_log_alter(id, feature_id, fmt, num, arg...) 247 #define oam_warning_log_alter(id, feature_id, fmt, num, arg...) 248 #define oam_error_log_alter(id, feature_id, fmt, num, arg...) 249 250 #endif 251 252 #ifdef __cplusplus 253 #if __cplusplus 254 } 255 #endif 256 #endif 257 258 #endif /* #ifdef __DIAG_LOG_COMMON_H__ */ 259