cdp_txrx_stats_struct.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482
  1. /*
  2. * Copyright (c) 2016 The Linux Foundation. All rights reserved.
  3. *
  4. * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  5. *
  6. *
  7. * Permission to use, copy, modify, and/or distribute this software for
  8. * any purpose with or without fee is hereby granted, provided that the
  9. * above copyright notice and this permission notice appear in all
  10. * copies.
  11. *
  12. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  13. * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  14. * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
  15. * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  16. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  17. * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  18. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  19. * PERFORMANCE OF THIS SOFTWARE.
  20. */
  21. /*
  22. * This file was originally distributed by Qualcomm Atheros, Inc.
  23. * under proprietary terms before Copyright ownership was assigned
  24. * to the Linux Foundation.
  25. */
  26. /**
  27. * @file cdp_txrx_stats_struct.h
  28. * @brief Define the host data path stats API functions
  29. * called by the host control SW and the OS interface module
  30. */
  31. #ifndef _CDP_TXRX_STATS_STRUCT_H_
  32. #define _CDP_TXRX_STATS_STRUCT_H_
  33. #include <wlan_defs.h>
  34. #define TXRX_STATS_LEVEL_OFF 0
  35. #define TXRX_STATS_LEVEL_BASIC 1
  36. #define TXRX_STATS_LEVEL_FULL 2
  37. #ifndef TXRX_STATS_LEVEL
  38. #define TXRX_STATS_LEVEL TXRX_STATS_LEVEL_BASIC
  39. #endif
  40. #ifndef BIG_ENDIAN_HOST
  41. typedef struct {
  42. u_int32_t pkts;
  43. u_int32_t bytes;
  44. } ol_txrx_stats_elem;
  45. #else
  46. struct ol_txrx_elem_t {
  47. u_int32_t pkts;
  48. u_int32_t bytes;
  49. };
  50. typedef struct ol_txrx_elem_t ol_txrx_stats_elem;
  51. #endif
  52. /**
  53. * @brief data stats published by the host txrx layer
  54. */
  55. struct ol_txrx_stats {
  56. struct {
  57. /* MSDUs received from the stack */
  58. ol_txrx_stats_elem from_stack;
  59. /* MSDUs successfully sent across the WLAN */
  60. ol_txrx_stats_elem delivered;
  61. struct {
  62. /* MSDUs that the host did not accept */
  63. ol_txrx_stats_elem host_reject;
  64. /* MSDUs which could not be downloaded to the
  65. target */
  66. ol_txrx_stats_elem download_fail;
  67. /* MSDUs which the target discarded
  68. (lack of mem or old age) */
  69. ol_txrx_stats_elem target_discard;
  70. /* MSDUs which the target sent but couldn't get
  71. an ack for */
  72. ol_txrx_stats_elem no_ack;
  73. /* MSDUs dropped in NSS-FW */
  74. ol_txrx_stats_elem nss_ol_dropped;
  75. } dropped;
  76. u_int32_t desc_in_use;
  77. u_int32_t desc_alloc_fails;
  78. u_int32_t ce_ring_full;
  79. u_int32_t dma_map_error;
  80. /* MSDUs given to the txrx layer by the management stack */
  81. ol_txrx_stats_elem mgmt;
  82. #if (HOST_SW_TSO_ENABLE || HOST_SW_TSO_SG_ENABLE)
  83. struct {
  84. /* TSO applied jumbo packets received from NW Stack */
  85. ol_txrx_stats_elem tso_pkts;
  86. /* Non - TSO packets */
  87. ol_txrx_stats_elem non_tso_pkts;
  88. /* TSO packets : Dropped during TCP segmentation*/
  89. ol_txrx_stats_elem tso_dropped;
  90. /* TSO Descriptors */
  91. u_int32_t tso_desc_cnt;
  92. } tso;
  93. #endif /* HOST_SW_TSO_ENABLE || HOST_SW_TSO_SG_ENABLE */
  94. #if HOST_SW_SG_ENABLE
  95. struct {
  96. /* TSO applied jumbo packets received from NW Stack */
  97. ol_txrx_stats_elem sg_pkts;
  98. /* Non - TSO packets */
  99. ol_txrx_stats_elem non_sg_pkts;
  100. /* TSO packets : Dropped during TCP segmentation*/
  101. ol_txrx_stats_elem sg_dropped;
  102. /* TSO Descriptors */
  103. u_int32_t sg_desc_cnt;
  104. } sg;
  105. #endif /* HOST_SW_SG_ENABLE */
  106. struct {
  107. /* packets enqueued for flow control */
  108. u_int32_t fl_ctrl_enqueue;
  109. /* packets discarded for flow control is full */
  110. u_int32_t fl_ctrl_discard;
  111. /* packets sent to CE without flow control */
  112. u_int32_t fl_ctrl_avoid;
  113. } fl_ctrl;
  114. } tx;
  115. struct {
  116. /* MSDUs given to the OS shim */
  117. ol_txrx_stats_elem delivered;
  118. /* MSDUs forwarded from the rx path to the tx path */
  119. ol_txrx_stats_elem forwarded;
  120. #if RX_CHECKSUM_OFFLOAD
  121. /* MSDUs in which ipv4 chksum error detected by HW */
  122. ol_txrx_stats_elem ipv4_cksum_err;
  123. /* MSDUs in which tcp chksum error detected by HW */
  124. ol_txrx_stats_elem tcp_ipv4_cksum_err;
  125. /* MSDUs in which udp chksum error detected by HW */
  126. ol_txrx_stats_elem udp_ipv4_cksum_err;
  127. /* MSDUs in which tcp V6 chksum error detected by HW */
  128. ol_txrx_stats_elem tcp_ipv6_cksum_err;
  129. /* MSDUs in which UDP V6 chksum error detected by HW */
  130. ol_txrx_stats_elem udp_ipv6_cksum_err;
  131. #endif /* RX_CHECKSUM_OFFLOAD */
  132. } rx;
  133. struct {
  134. /* Number of mcast recieved for conversion */
  135. u_int32_t num_me_rcvd;
  136. /* Number of unicast sent as part of mcast conversion */
  137. u_int32_t num_me_ucast;
  138. /* Number of multicast frames dropped due to dma_map failure */
  139. u_int32_t num_me_dropped_m;
  140. /* Number of multicast frames dropped due to allocation
  141. failure */
  142. u_int32_t num_me_dropped_a;
  143. /* Number of multicast frames dropped due to internal failure */
  144. u_int32_t num_me_dropped_i;
  145. /* Number of me buf currently in use */
  146. u_int32_t num_me_buf;
  147. /* Number of me buf frames to self mac address */
  148. u_int32_t num_me_dropped_s;
  149. /* Number of me buf in use in non pool based allocation*/
  150. u_int32_t num_me_nonpool;
  151. /* Number of me buf allocated using non pool based allocation*/
  152. u_int32_t num_me_nonpool_count;
  153. } mcast_enhance;
  154. };
  155. struct ol_ath_dbg_rx_rssi {
  156. A_UINT8 rx_rssi_pri20;
  157. A_UINT8 rx_rssi_sec20;
  158. A_UINT8 rx_rssi_sec40;
  159. A_UINT8 rx_rssi_sec80;
  160. };
  161. struct ol_ath_radiostats {
  162. A_UINT64 tx_beacon;
  163. A_UINT32 be_nobuf;
  164. A_UINT32 tx_buf_count;
  165. A_UINT32 tx_packets;
  166. A_UINT32 rx_packets;
  167. A_INT32 tx_mgmt;
  168. A_UINT32 tx_num_data;
  169. A_UINT32 rx_num_data;
  170. A_INT32 rx_mgmt;
  171. A_UINT32 rx_num_mgmt;
  172. A_UINT32 rx_num_ctl;
  173. A_UINT32 tx_rssi;
  174. A_UINT32 tx_mcs[10];
  175. A_UINT32 rx_mcs[10];
  176. A_UINT32 rx_rssi_comb;
  177. struct ol_ath_dbg_rx_rssi rx_rssi_chain0;
  178. struct ol_ath_dbg_rx_rssi rx_rssi_chain1;
  179. struct ol_ath_dbg_rx_rssi rx_rssi_chain2;
  180. struct ol_ath_dbg_rx_rssi rx_rssi_chain3;
  181. A_UINT64 rx_bytes;
  182. A_UINT64 tx_bytes;
  183. A_UINT32 tx_compaggr;
  184. A_UINT32 rx_aggr;
  185. A_UINT32 tx_bawadv;
  186. A_UINT32 tx_compunaggr;
  187. A_UINT32 rx_overrun;
  188. A_UINT32 rx_badcrypt;
  189. A_UINT32 rx_badmic;
  190. A_UINT32 rx_crcerr;
  191. A_UINT32 rx_phyerr;
  192. A_UINT32 ackRcvBad;
  193. A_UINT32 rtsBad;
  194. A_UINT32 rtsGood;
  195. A_UINT32 fcsBad;
  196. A_UINT32 noBeacons;
  197. A_UINT32 mib_int_count;
  198. A_UINT32 rx_looplimit_start;
  199. A_UINT32 rx_looplimit_end;
  200. A_UINT8 ap_stats_tx_cal_enable;
  201. A_UINT32 tgt_asserts;
  202. A_INT16 chan_nf;
  203. A_UINT32 rx_last_msdu_unset_cnt;
  204. A_INT16 chan_nf_sec80;
  205. };
  206. /*
  207. ** structure to hold all stats information
  208. ** for offload device interface
  209. */
  210. struct ol_stats {
  211. int txrx_stats_level;
  212. struct ol_txrx_stats txrx_stats;
  213. struct wlan_dbg_stats stats;
  214. struct ol_ath_radiostats interface_stats;
  215. struct wlan_dbg_tidq_stats tidq_stats;
  216. };
  217. /*
  218. ** Enumeration of PDEV Configuration parameter
  219. */
  220. typedef enum _ol_ath_param_t {
  221. OL_ATH_PARAM_TXCHAINMASK = 1,
  222. OL_ATH_PARAM_RXCHAINMASK = 2,
  223. OL_ATH_PARAM_AMPDU = 6,
  224. OL_ATH_PARAM_AMPDU_LIMIT = 7,
  225. OL_ATH_PARAM_AMPDU_SUBFRAMES = 8,
  226. OL_ATH_PARAM_TXPOWER_LIMIT2G = 12,
  227. OL_ATH_PARAM_TXPOWER_LIMIT5G = 13,
  228. OL_ATH_PARAM_LDPC = 32,
  229. OL_ATH_PARAM_VOW_EXT_STATS = 45,
  230. OL_ATH_PARAM_DYN_TX_CHAINMASK = 73,
  231. OL_ATH_PARAM_BURST_ENABLE = 77,
  232. OL_ATH_PARAM_BURST_DUR = 78,
  233. OL_ATH_PARAM_BCN_BURST = 80,
  234. OL_ATH_PARAM_DCS = 82,
  235. #if UMAC_SUPPORT_PERIODIC_PERFSTATS
  236. OL_ATH_PARAM_PRDPERFSTAT_THRPUT_ENAB = 83,
  237. OL_ATH_PARAM_PRDPERFSTAT_THRPUT_WIN = 84,
  238. OL_ATH_PARAM_PRDPERFSTAT_THRPUT = 85,
  239. OL_ATH_PARAM_PRDPERFSTAT_PER_ENAB = 86,
  240. OL_ATH_PARAM_PRDPERFSTAT_PER_WIN = 87,
  241. OL_ATH_PARAM_PRDPERFSTAT_PER = 88,
  242. #endif
  243. /* UMAC_SUPPORT_PERIODIC_PERFSTATS */
  244. OL_ATH_PARAM_TOTAL_PER = 89,
  245. /*set manual rate for rts frame */
  246. OL_ATH_PARAM_RTS_CTS_RATE = 92,
  247. /** co channel interference threshold level */
  248. OL_ATH_PARAM_DCS_COCH_THR = 93,
  249. /** transmit error threshold */
  250. OL_ATH_PARAM_DCS_TXERR_THR = 94,
  251. /** phy error threshold */
  252. OL_ATH_PARAM_DCS_PHYERR_THR = 95,
  253. /* The IOCTL number is 114, it is made 114, inorder to make the IOCTL
  254. number same as Direct-attach IOCTL.
  255. Please, don't change number. This IOCTL gets the Interface code path
  256. it should be either DIRECT-ATTACH or OFF-LOAD.
  257. */
  258. OL_ATH_PARAM_GET_IF_ID = 114,
  259. /*Enable Acs back Ground Channel selection Scan timer in AP mode*/
  260. OL_ATH_PARAM_ACS_ENABLE_BK_SCANTIMEREN = 118,
  261. /* ACS scan timer value in Seconds */
  262. OL_ATH_PARAM_ACS_SCANTIME = 119,
  263. /*Negligence Delta RSSI between two channel */
  264. OL_ATH_PARAM_ACS_RSSIVAR = 120,
  265. /*Negligence Delta Channel load between two channel*/
  266. OL_ATH_PARAM_ACS_CHLOADVAR = 121,
  267. /* Enable Limited OBSS check */
  268. OL_ATH_PARAM_ACS_LIMITEDOBSS = 122,
  269. /* Acs control flag for Scan timer */
  270. OL_ATH_PARAM_ACS_CTRLFLAG = 123,
  271. /* Acs Run time Debug level*/
  272. OL_ATH_PARAM_ACS_DEBUGTRACE = 124,
  273. OL_ATH_PARAM_SET_FW_HANG_ID = 137,
  274. /* Radio type 1:11ac 0:11abgn */
  275. OL_ATH_PARAM_RADIO_TYPE = 138,
  276. OL_ATH_PARAM_IGMPMLD_OVERRIDE, /* IGMP/MLD packet override */
  277. OL_ATH_PARAM_IGMPMLD_TID, /* IGMP/MLD packet TID no */
  278. OL_ATH_PARAM_ARPDHCP_AC_OVERRIDE,
  279. OL_ATH_PARAM_NON_AGG_SW_RETRY_TH,
  280. OL_ATH_PARAM_AGG_SW_RETRY_TH,
  281. /* Dont change this number it as per sync with DA
  282. Blocking certian channel from ic channel list */
  283. OL_ATH_PARAM_DISABLE_DFS = 144,
  284. OL_ATH_PARAM_ENABLE_AMSDU = 145,
  285. OL_ATH_PARAM_ENABLE_AMPDU = 146,
  286. OL_ATH_PARAM_STA_KICKOUT_TH,
  287. OL_ATH_PARAM_WLAN_PROF_ENABLE,
  288. OL_ATH_PARAM_LTR_ENABLE,
  289. OL_ATH_PARAM_LTR_AC_LATENCY_BE = 150,
  290. OL_ATH_PARAM_LTR_AC_LATENCY_BK,
  291. OL_ATH_PARAM_LTR_AC_LATENCY_VI,
  292. OL_ATH_PARAM_LTR_AC_LATENCY_VO,
  293. OL_ATH_PARAM_LTR_AC_LATENCY_TIMEOUT,
  294. OL_ATH_PARAM_LTR_TX_ACTIVITY_TIMEOUT = 155,
  295. OL_ATH_PARAM_LTR_SLEEP_OVERRIDE,
  296. OL_ATH_PARAM_LTR_RX_OVERRIDE,
  297. OL_ATH_PARAM_L1SS_ENABLE,
  298. OL_ATH_PARAM_DSLEEP_ENABLE,
  299. /** radar error threshold */
  300. OL_ATH_PARAM_DCS_RADAR_ERR_THR = 160,
  301. /** Tx channel utilization due to AP's tx and rx */
  302. OL_ATH_PARAM_DCS_USERMAX_CU_THR,
  303. /** interference detection threshold */
  304. OL_ATH_PARAM_DCS_INTR_DETECT_THR,
  305. /** sampling window, default 10secs */
  306. OL_ATH_PARAM_DCS_SAMPLE_WINDOW,
  307. /** debug logs enable/disable */
  308. OL_ATH_PARAM_DCS_DEBUG,
  309. OL_ATH_PARAM_ANI_ENABLE = 165,
  310. OL_ATH_PARAM_ANI_POLL_PERIOD,
  311. OL_ATH_PARAM_ANI_LISTEN_PERIOD,
  312. OL_ATH_PARAM_ANI_OFDM_LEVEL,
  313. OL_ATH_PARAM_ANI_CCK_LEVEL,
  314. OL_ATH_PARAM_DSCP_TID_MAP = 170,
  315. OL_ATH_PARAM_TXPOWER_SCALE,
  316. /** Phy error penalty */
  317. OL_ATH_PARAM_DCS_PHYERR_PENALTY,
  318. #if ATH_SUPPORT_DSCP_OVERRIDE
  319. /** set/get TID for sending HMMC packets */
  320. OL_ATH_PARAM_HMMC_DSCP_TID_MAP,
  321. /** set/get DSCP mapping override */
  322. OL_ATH_PARAM_DSCP_OVERRIDE,
  323. /** set/get HMMC-DSCP mapping override */
  324. OL_ATH_PARAM_HMMC_DSCP_OVERRIDE = 175,
  325. #endif
  326. #if ATH_RX_LOOPLIMIT_TIMER
  327. OL_ATH_PARAM_LOOPLIMIT_NUM,
  328. #endif
  329. OL_ATH_PARAM_ANTENNA_GAIN_2G,
  330. OL_ATH_PARAM_ANTENNA_GAIN_5G,
  331. OL_ATH_PARAM_RX_FILTER,
  332. #if ATH_SUPPORT_HYFI_ENHANCEMENTS
  333. OL_ATH_PARAM_BUFF_THRESH = 180,
  334. OL_ATH_PARAM_BLK_REPORT_FLOOD,
  335. OL_ATH_PARAM_DROP_STA_QUERY,
  336. #endif
  337. OL_ATH_PARAM_QBOOST,
  338. OL_ATH_PARAM_SIFS_FRMTYPE,
  339. OL_ATH_PARAM_SIFS_UAPSD = 185,
  340. OL_ATH_PARAM_FW_RECOVERY_ID,
  341. OL_ATH_PARAM_RESET_OL_STATS,
  342. OL_ATH_PARAM_AGGR_BURST,
  343. /* Number of deauth sent in consecutive rx_peer_invalid */
  344. OL_ATH_PARAM_DEAUTH_COUNT,
  345. OL_ATH_PARAM_BLOCK_INTERBSS = 190,
  346. /* Firmware reset control for Bmiss / timeout / reset */
  347. OL_ATH_PARAM_FW_DISABLE_RESET,
  348. OL_ATH_PARAM_MSDU_TTL,
  349. OL_ATH_PARAM_PPDU_DURATION,
  350. OL_ATH_PARAM_SET_TXBF_SND_PERIOD,
  351. OL_ATH_PARAM_ALLOW_PROMISC = 195,
  352. OL_ATH_PARAM_BURST_MODE,
  353. OL_ATH_PARAM_DYN_GROUPING,
  354. OL_ATH_PARAM_DPD_ENABLE,
  355. OL_ATH_PARAM_DBGLOG_RATELIM,
  356. /* firmware should intimate us about ps state change for node */
  357. OL_ATH_PARAM_PS_STATE_CHANGE = 200,
  358. OL_ATH_PARAM_MCAST_BCAST_ECHO,
  359. /* OBSS RSSI threshold for 20/40 coexistance */
  360. OL_ATH_PARAM_OBSS_RSSI_THRESHOLD,
  361. /* Link/node RX RSSI threshold for 20/40 coexistance */
  362. OL_ATH_PARAM_OBSS_RX_RSSI_THRESHOLD,
  363. #if ATH_CHANNEL_BLOCKING
  364. OL_ATH_PARAM_ACS_BLOCK_MODE = 205,
  365. #endif
  366. OL_ATH_PARAM_ACS_TX_POWER_OPTION,
  367. /* Default Antenna Polarization MSB 8 bits (24:31) specifying
  368. enable/disable ; LSB 24 bits (0:23) antenna mask value */
  369. OL_ATH_PARAM_ANT_POLARIZATION,
  370. /* rate limit mute type error prints */
  371. OL_ATH_PARAM_PRINT_RATE_LIMIT,
  372. OL_ATH_PARAM_PDEV_RESET, /* Reset FW PDEV*/
  373. /*Do not crash host when target assert happened*/
  374. OL_ATH_PARAM_FW_DUMP_NO_HOST_CRASH = 210,
  375. /*Consider OBSS non-erp to change to long slot*/
  376. OL_ATH_PARAM_CONSIDER_OBSS_NON_ERP_LONG_SLOT = 211,
  377. #if PEER_FLOW_CONTROL
  378. OL_ATH_PARAM_STATS_FC,
  379. OL_ATH_PARAM_QFLUSHINTERVAL,
  380. OL_ATH_PARAM_TOTAL_Q_SIZE,
  381. OL_ATH_PARAM_TOTAL_Q_SIZE_RANGE0,
  382. OL_ATH_PARAM_TOTAL_Q_SIZE_RANGE1,
  383. OL_ATH_PARAM_TOTAL_Q_SIZE_RANGE2,
  384. OL_ATH_PARAM_TOTAL_Q_SIZE_RANGE3,
  385. OL_ATH_PARAM_MIN_THRESHOLD,
  386. OL_ATH_PARAM_MAX_Q_LIMIT,
  387. OL_ATH_PARAM_MIN_Q_LIMIT,
  388. OL_ATH_PARAM_CONG_CTRL_TIMER_INTV,
  389. OL_ATH_PARAM_STATS_TIMER_INTV,
  390. OL_ATH_PARAM_ROTTING_TIMER_INTV,
  391. OL_ATH_PARAM_LATENCY_PROFILE,
  392. OL_ATH_PARAM_HOSTQ_DUMP,
  393. OL_ATH_PARAM_TIDQ_MAP,
  394. #endif
  395. OL_ATH_PARAM_DBG_ARP_SRC_ADDR, /* ARP DEBUG source address*/
  396. OL_ATH_PARAM_DBG_ARP_DST_ADDR, /* ARP DEBUG destination address*/
  397. OL_ATH_PARAM_ARP_DBG_CONF, /* ARP debug configuration */
  398. OL_ATH_PARAM_DISABLE_STA_VAP_AMSDU, /* Disable AMSDU for station vap */
  399. #if ATH_SUPPORT_DFS && ATH_SUPPORT_STA_DFS
  400. OL_ATH_PARAM_STADFS_ENABLE = 300, /* STA DFS is enabled or not */
  401. #endif
  402. #if QCA_AIRTIME_FAIRNESS
  403. OL_ATH_PARAM_ATF_STRICT_SCHED = 301,
  404. OL_ATH_PARAM_ATF_GROUP_POLICY = 302,
  405. #endif
  406. #if DBDC_REPEATER_SUPPORT
  407. OL_ATH_PARAM_PRIMARY_RADIO,
  408. OL_ATH_PARAM_DBDC_ENABLE,
  409. #endif
  410. OL_ATH_PARAM_TXPOWER_DBSCALE,
  411. OL_ATH_PARAM_CTL_POWER_SCALE,
  412. #if QCA_AIRTIME_FAIRNESS
  413. OL_ATH_PARAM_ATF_OBSS_SCHED = 307,
  414. OL_ATH_PARAM_ATF_OBSS_SCALE = 308,
  415. #endif
  416. OL_ATH_PARAM_PHY_OFDM_ERR = 309,
  417. OL_ATH_PARAM_PHY_CCK_ERR = 310,
  418. OL_ATH_PARAM_FCS_ERR = 311,
  419. OL_ATH_PARAM_CHAN_UTIL = 312,
  420. #if DBDC_REPEATER_SUPPORT
  421. OL_ATH_PARAM_CLIENT_MCAST,
  422. #endif
  423. OL_ATH_PARAM_EMIWAR_80P80 = 314,
  424. OL_ATH_PARAM_BATCHMODE = 315,
  425. OL_ATH_PARAM_PACK_AGGR_DELAY = 316,
  426. #if UMAC_SUPPORT_ACFG
  427. OL_ATH_PARAM_DIAG_ENABLE = 317,
  428. #endif
  429. #if ATH_SUPPORT_VAP_QOS
  430. OL_ATH_PARAM_VAP_QOS = 318,
  431. #endif
  432. OL_ATH_PARAM_CHAN_STATS_TH = 319,
  433. /* Passive scan is enabled or disabled */
  434. OL_ATH_PARAM_PASSIVE_SCAN_ENABLE = 320,
  435. OL_ATH_MIN_RSSI_ENABLE = 321,
  436. OL_ATH_MIN_RSSI = 322,
  437. OL_ATH_PARAM_ACS_2G_ALLCHAN = 323,
  438. #if DBDC_REPEATER_SUPPORT
  439. OL_ATH_PARAM_DELAY_STAVAP_UP = 324,
  440. #endif
  441. OL_ATH_PARAM_TXPOW_MGMT = 326, /* Can be used to configure transmit power for management frames */
  442. OL_ATH_PARAM_CHANSWITCH_OPTIONS = 327, /* It is used to set the channel switch options */
  443. OL_ATH_BTCOEX_ENABLE = 328,
  444. OL_ATH_BTCOEX_WL_PRIORITY = 329,
  445. OL_ATH_PARAM_TID_OVERRIDE_QUEUE_MAPPING = 330,
  446. OL_ATH_PARAM_CAL_VER_CHECK = 331,
  447. OL_ATH_PARAM_NO_VLAN = 332,
  448. OL_ATH_PARAM_CCA_THRESHOLD = 333,
  449. OL_ATH_PARAM_ATF_LOGGING = 334,
  450. OL_ATH_PARAM_STRICT_DOTH = 335,
  451. OL_ATH_PARAM_DISCONNECTION_TIMEOUT = 336,
  452. OL_ATH_PARAM_RECONFIGURATION_TIMEOUT = 337,
  453. OL_ATH_PARAM_CHANNEL_SWITCH_COUNT = 338,
  454. OL_ATH_PARAM_ALWAYS_PRIMARY = 339,
  455. OL_ATH_PARAM_FAST_LANE = 340,
  456. OL_ATH_PARAM_SECONDARY_OFFSET_IE = 342,
  457. OL_ATH_PARAM_WIDE_BAND_SUB_ELEMENT = 343,
  458. OL_ATH_PARAM_PREFERRED_UPLINK = 344,
  459. } ol_ath_param_t;
  460. /*
  461. ** Enumeration of PDEV Configuration parameter
  462. */
  463. typedef enum _ol_hal_param_t {
  464. OL_HAL_CONFIG_DMA_BEACON_RESPONSE_TIME = 0
  465. } ol_hal_param_t;
  466. /* Bitmasks for stats that can block */
  467. #define EXT_TXRX_FW_STATS 0x0001
  468. #endif