cdp_txrx_stats_struct.h 16 KB

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