cdp_txrx_ctrl.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481
  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_ctrl.h
  28. * @brief Define the host data path control API functions
  29. * called by the host control SW and the OS interface module
  30. */
  31. #ifndef _CDP_TXRX_CTRL_H_
  32. #define _CDP_TXRX_CTRL_H_
  33. /* TODO: adf need to be replaced with qdf */
  34. /*
  35. * Cleanups -- Might need cleanup
  36. */
  37. #if !QCA_OL_TX_PDEV_LOCK && QCA_NSS_PLATFORM || \
  38. (defined QCA_PARTNER_PLATFORM && QCA_PARTNER_SUPPORT_FAST_TX)
  39. #define VAP_TX_SPIN_LOCK(_x) spin_lock(_x)
  40. #define VAP_TX_SPIN_UNLOCK(_x) spin_unlock(_x)
  41. #else /* QCA_OL_TX_PDEV_LOCK */
  42. #define VAP_TX_SPIN_LOCK(_x)
  43. #define VAP_TX_SPIN_UNLOCK(_x)
  44. #endif /* QCA_OL_TX_PDEV_LOCK */
  45. #if QCA_OL_TX_PDEV_LOCK
  46. void ol_ll_pdev_tx_lock(void *);
  47. void ol_ll_pdev_tx_unlock(void *);
  48. #define OL_TX_LOCK(_x) ol_ll_pdev_tx_lock(_x)
  49. #define OL_TX_UNLOCK(_x) ol_ll_pdev_tx_unlock(_x)
  50. #define OL_TX_PDEV_LOCK(_x) qdf_spin_lock_bh(_x)
  51. #define OL_TX_PDEV_UNLOCK(_x) qdf_spin_unlock_bh(_x)
  52. #else
  53. #define OL_TX_PDEV_LOCK(_x)
  54. #define OL_TX_PDEV_UNLOCK(_x)
  55. #define OL_TX_LOCK(_x)
  56. #define OL_TX_UNLOCK(_x)
  57. #endif /* QCA_OL_TX_PDEV_LOCK */
  58. #if !QCA_OL_TX_PDEV_LOCK
  59. #define OL_TX_FLOW_CTRL_LOCK(_x) qdf_spin_lock_bh(_x)
  60. #define OL_TX_FLOW_CTRL_UNLOCK(_x) qdf_spin_unlock_bh(_x)
  61. #define OL_TX_DESC_LOCK(_x) qdf_spin_lock_bh(_x)
  62. #define OL_TX_DESC_UNLOCK(_x) qdf_spin_unlock_bh(_x)
  63. #define OSIF_VAP_TX_LOCK(_x) spin_lock(&((_x)->tx_lock))
  64. #define OSIF_VAP_TX_UNLOCK(_x) spin_unlock(&((_x)->tx_lock))
  65. #define OL_TX_PEER_LOCK(_x, _id) qdf_spin_lock_bh(&((_x)->peer_lock[_id]))
  66. #define OL_TX_PEER_UNLOCK(_x, _id) qdf_spin_unlock_bh(&((_x)->peer_lock[_id]))
  67. #define OL_TX_PEER_UPDATE_LOCK(_x, _id) \
  68. qdf_spin_lock_bh(&((_x)->peer_lock[_id]))
  69. #define OL_TX_PEER_UPDATE_UNLOCK(_x, _id) \
  70. qdf_spin_unlock_bh(&((_x)->peer_lock[_id]))
  71. #else
  72. #define OSIF_VAP_TX_LOCK(_x) ol_ll_pdev_tx_lock((_x)->iv_txrx_handle)
  73. #define OSIF_VAP_TX_UNLOCK(_x) ol_ll_pdev_tx_unlock((_x)->iv_txrx_handle)
  74. #define OL_TX_FLOW_CTRL_LOCK(_x)
  75. #define OL_TX_FLOW_CTRL_UNLOCK(_x)
  76. #define OL_TX_DESC_LOCK(_x)
  77. #define OL_TX_DESC_UNLOCK(_x)
  78. #define OL_TX_PEER_LOCK(_x, _id)
  79. #define OL_TX_PEER_UNLOCK(_x, _id)
  80. #define OL_TX_PEER_UPDATE_LOCK(_x, _id) qdf_spin_lock_bh(&((_x)->tx_lock))
  81. #define OL_TX_PEER_UPDATE_UNLOCK(_x, _id) qdf_spin_unlock_bh(&((_x)->tx_lock))
  82. #endif /* !QCA_OL_TX_PDEV_LOCK */
  83. extern int ol_txrx_is_target_ar900b(ol_txrx_vdev_handle vdev);
  84. #define OL_TXRX_IS_TARGET_AR900B(vdev) ol_txrx_is_target_ar900b(vdev)
  85. /* WIN */
  86. int
  87. ol_txrx_mempools_attach(ol_pdev_handle ctrl_pdev);
  88. int
  89. ol_txrx_set_filter_neighbour_peers(
  90. ol_txrx_pdev_handle pdev,
  91. u_int32_t val);
  92. /**
  93. * @brief set the safemode of the device
  94. * @details
  95. * This flag is used to bypass the encrypt and decrypt processes when send and
  96. * receive packets. It works like open AUTH mode, HW will treate all packets
  97. * as non-encrypt frames because no key installed. For rx fragmented frames,
  98. * it bypasses all the rx defragmentaion.
  99. *
  100. * @param vdev - the data virtual device object
  101. * @param val - the safemode state
  102. * @return - void
  103. */
  104. void
  105. ol_txrx_set_safemode(
  106. ol_txrx_vdev_handle vdev,
  107. u_int32_t val);
  108. /**
  109. * @brief configure the drop unencrypted frame flag
  110. * @details
  111. * Rx related. When set this flag, all the unencrypted frames
  112. * received over a secure connection will be discarded
  113. *
  114. * @param vdev - the data virtual device object
  115. * @param val - flag
  116. * @return - void
  117. */
  118. void
  119. ol_txrx_set_drop_unenc(
  120. ol_txrx_vdev_handle vdev,
  121. u_int32_t val);
  122. /**
  123. * @brief set the Tx encapsulation type of the VDEV
  124. * @details
  125. * This will be used to populate the HTT desc packet type field during Tx
  126. *
  127. * @param vdev - the data virtual device object
  128. * @param val - the Tx encap type
  129. * @return - void
  130. */
  131. void
  132. ol_txrx_set_tx_encap_type(
  133. ol_txrx_vdev_handle vdev,
  134. enum htt_pkt_type val);
  135. /**
  136. * @brief set the Rx decapsulation type of the VDEV
  137. * @details
  138. * This will be used to configure into firmware and hardware which format to
  139. * decap all Rx packets into, for all peers under the VDEV.
  140. *
  141. * @param vdev - the data virtual device object
  142. * @param val - the Rx decap mode
  143. * @return - void
  144. */
  145. void
  146. ol_txrx_set_vdev_rx_decap_type(
  147. ol_txrx_vdev_handle vdev,
  148. enum htt_pkt_type val);
  149. /**
  150. * @brief get the Rx decapsulation type of the VDEV
  151. *
  152. * @param vdev - the data virtual device object
  153. * @return - the Rx decap type
  154. */
  155. enum htt_pkt_type
  156. ol_txrx_get_vdev_rx_decap_type(ol_txrx_vdev_handle vdev);
  157. /* Is this similar to ol_txrx_peer_state_update() in MCL */
  158. /**
  159. * @brief Update the authorize peer object at association time
  160. * @details
  161. * For the host-based implementation of rate-control, it
  162. * updates the peer/node-related parameters within rate-control
  163. * context of the peer at association.
  164. *
  165. * @param peer - pointer to the node's object
  166. * @authorize - either to authorize or unauthorize peer
  167. *
  168. * @return none
  169. */
  170. void
  171. ol_txrx_peer_authorize(struct ol_txrx_peer_t *peer, u_int32_t authorize);
  172. bool
  173. ol_txrx_set_inact_params(ol_txrx_pdev_handle pdev,
  174. u_int16_t inact_check_interval,
  175. u_int16_t inact_normal,
  176. u_int16_t inact_overload);
  177. bool
  178. ol_txrx_start_inact_timer(
  179. ol_txrx_pdev_handle pdev,
  180. bool enable);
  181. /**
  182. * @brief Set the overload status of the radio
  183. * @details
  184. * Set the overload status of the radio, updating the inactivity
  185. * threshold and inactivity count for each node.
  186. *
  187. * @param pdev - the data physical device object
  188. * @param overload - whether the radio is overloaded or not
  189. */
  190. void
  191. ol_txrx_set_overload(
  192. ol_txrx_pdev_handle pdev,
  193. bool overload);
  194. /**
  195. * @brief Check the inactivity status of the peer/node
  196. *
  197. * @param peer - pointer to the node's object
  198. * @return true if the node is inactive; otherwise return false
  199. */
  200. bool
  201. ol_txrx_peer_is_inact(ol_txrx_peer_handle peer);
  202. /**
  203. * @brief Mark inactivity status of the peer/node
  204. * @details
  205. * If it becomes active, reset inactivity count to reload value;
  206. * if the inactivity status changed, notify umac band steering.
  207. *
  208. * @param peer - pointer to the node's object
  209. * @param inactive - whether the node is inactive or not
  210. */
  211. void
  212. ol_txrx_mark_peer_inact(
  213. ol_txrx_peer_handle peer,
  214. bool inactive);
  215. /* Should be ol_txrx_ctrl_api.h */
  216. void ol_txrx_set_mesh_mode(ol_txrx_vdev_handle vdev, u_int32_t val);
  217. void ol_tx_flush_buffers(struct ol_txrx_vdev_t *vdev);
  218. /*
  219. ** Enumeration of PDEV Configuration parameter
  220. */
  221. typedef enum _ol_ath_param_t {
  222. OL_ATH_PARAM_TXCHAINMASK = 1,
  223. OL_ATH_PARAM_RXCHAINMASK = 2,
  224. OL_ATH_PARAM_AMPDU = 6,
  225. OL_ATH_PARAM_AMPDU_LIMIT = 7,
  226. OL_ATH_PARAM_AMPDU_SUBFRAMES = 8,
  227. OL_ATH_PARAM_TXPOWER_LIMIT2G = 12,
  228. OL_ATH_PARAM_TXPOWER_LIMIT5G = 13,
  229. OL_ATH_PARAM_LDPC = 32,
  230. OL_ATH_PARAM_VOW_EXT_STATS = 45,
  231. OL_ATH_PARAM_DYN_TX_CHAINMASK = 73,
  232. OL_ATH_PARAM_BURST_ENABLE = 77,
  233. OL_ATH_PARAM_BURST_DUR = 78,
  234. OL_ATH_PARAM_BCN_BURST = 80,
  235. OL_ATH_PARAM_DCS = 82,
  236. #if UMAC_SUPPORT_PERIODIC_PERFSTATS
  237. OL_ATH_PARAM_PRDPERFSTAT_THRPUT_ENAB = 83,
  238. OL_ATH_PARAM_PRDPERFSTAT_THRPUT_WIN = 84,
  239. OL_ATH_PARAM_PRDPERFSTAT_THRPUT = 85,
  240. OL_ATH_PARAM_PRDPERFSTAT_PER_ENAB = 86,
  241. OL_ATH_PARAM_PRDPERFSTAT_PER_WIN = 87,
  242. OL_ATH_PARAM_PRDPERFSTAT_PER = 88,
  243. #endif
  244. /* UMAC_SUPPORT_PERIODIC_PERFSTATS */
  245. OL_ATH_PARAM_TOTAL_PER = 89,
  246. /*set manual rate for rts frame */
  247. OL_ATH_PARAM_RTS_CTS_RATE = 92,
  248. /** co channel interference threshold level */
  249. OL_ATH_PARAM_DCS_COCH_THR = 93,
  250. /** transmit error threshold */
  251. OL_ATH_PARAM_DCS_TXERR_THR = 94,
  252. /** phy error threshold */
  253. OL_ATH_PARAM_DCS_PHYERR_THR = 95,
  254. /* The IOCTL number is 114, it is made 114, inorder to make the IOCTL
  255. number same as Direct-attach IOCTL.
  256. Please, don't change number. This IOCTL gets the Interface code path
  257. it should be either DIRECT-ATTACH or OFF-LOAD.
  258. */
  259. OL_ATH_PARAM_GET_IF_ID = 114,
  260. /*Enable Acs back Ground Channel selection Scan timer in AP mode*/
  261. OL_ATH_PARAM_ACS_ENABLE_BK_SCANTIMEREN = 118,
  262. /* ACS scan timer value in Seconds */
  263. OL_ATH_PARAM_ACS_SCANTIME = 119,
  264. /*Negligence Delta RSSI between two channel */
  265. OL_ATH_PARAM_ACS_RSSIVAR = 120,
  266. /*Negligence Delta Channel load between two channel*/
  267. OL_ATH_PARAM_ACS_CHLOADVAR = 121,
  268. /* Enable Limited OBSS check */
  269. OL_ATH_PARAM_ACS_LIMITEDOBSS = 122,
  270. /* Acs control flag for Scan timer */
  271. OL_ATH_PARAM_ACS_CTRLFLAG = 123,
  272. /* Acs Run time Debug level*/
  273. OL_ATH_PARAM_ACS_DEBUGTRACE = 124,
  274. OL_ATH_PARAM_SET_FW_HANG_ID = 137,
  275. /* Radio type 1:11ac 0:11abgn */
  276. OL_ATH_PARAM_RADIO_TYPE = 138,
  277. OL_ATH_PARAM_IGMPMLD_OVERRIDE, /* IGMP/MLD packet override */
  278. OL_ATH_PARAM_IGMPMLD_TID, /* IGMP/MLD packet TID no */
  279. OL_ATH_PARAM_ARPDHCP_AC_OVERRIDE,
  280. OL_ATH_PARAM_NON_AGG_SW_RETRY_TH,
  281. OL_ATH_PARAM_AGG_SW_RETRY_TH,
  282. /* Dont change this number it as per sync with DA
  283. Blocking certian channel from ic channel list */
  284. OL_ATH_PARAM_DISABLE_DFS = 144,
  285. OL_ATH_PARAM_ENABLE_AMSDU = 145,
  286. OL_ATH_PARAM_ENABLE_AMPDU = 146,
  287. OL_ATH_PARAM_STA_KICKOUT_TH,
  288. OL_ATH_PARAM_WLAN_PROF_ENABLE,
  289. OL_ATH_PARAM_LTR_ENABLE,
  290. OL_ATH_PARAM_LTR_AC_LATENCY_BE = 150,
  291. OL_ATH_PARAM_LTR_AC_LATENCY_BK,
  292. OL_ATH_PARAM_LTR_AC_LATENCY_VI,
  293. OL_ATH_PARAM_LTR_AC_LATENCY_VO,
  294. OL_ATH_PARAM_LTR_AC_LATENCY_TIMEOUT,
  295. OL_ATH_PARAM_LTR_TX_ACTIVITY_TIMEOUT = 155,
  296. OL_ATH_PARAM_LTR_SLEEP_OVERRIDE,
  297. OL_ATH_PARAM_LTR_RX_OVERRIDE,
  298. OL_ATH_PARAM_L1SS_ENABLE,
  299. OL_ATH_PARAM_DSLEEP_ENABLE,
  300. /** radar error threshold */
  301. OL_ATH_PARAM_DCS_RADAR_ERR_THR = 160,
  302. /** Tx channel utilization due to AP's tx and rx */
  303. OL_ATH_PARAM_DCS_USERMAX_CU_THR,
  304. /** interference detection threshold */
  305. OL_ATH_PARAM_DCS_INTR_DETECT_THR,
  306. /** sampling window, default 10secs */
  307. OL_ATH_PARAM_DCS_SAMPLE_WINDOW,
  308. /** debug logs enable/disable */
  309. OL_ATH_PARAM_DCS_DEBUG,
  310. OL_ATH_PARAM_ANI_ENABLE = 165,
  311. OL_ATH_PARAM_ANI_POLL_PERIOD,
  312. OL_ATH_PARAM_ANI_LISTEN_PERIOD,
  313. OL_ATH_PARAM_ANI_OFDM_LEVEL,
  314. OL_ATH_PARAM_ANI_CCK_LEVEL,
  315. OL_ATH_PARAM_DSCP_TID_MAP = 170,
  316. OL_ATH_PARAM_TXPOWER_SCALE,
  317. /** Phy error penalty */
  318. OL_ATH_PARAM_DCS_PHYERR_PENALTY,
  319. #if ATH_SUPPORT_DSCP_OVERRIDE
  320. /** set/get TID for sending HMMC packets */
  321. OL_ATH_PARAM_HMMC_DSCP_TID_MAP,
  322. /** set/get DSCP mapping override */
  323. OL_ATH_PARAM_DSCP_OVERRIDE,
  324. /** set/get HMMC-DSCP mapping override */
  325. OL_ATH_PARAM_HMMC_DSCP_OVERRIDE = 175,
  326. #endif
  327. #if ATH_RX_LOOPLIMIT_TIMER
  328. OL_ATH_PARAM_LOOPLIMIT_NUM,
  329. #endif
  330. OL_ATH_PARAM_ANTENNA_GAIN_2G,
  331. OL_ATH_PARAM_ANTENNA_GAIN_5G,
  332. OL_ATH_PARAM_RX_FILTER,
  333. #if ATH_SUPPORT_HYFI_ENHANCEMENTS
  334. OL_ATH_PARAM_BUFF_THRESH = 180,
  335. OL_ATH_PARAM_BLK_REPORT_FLOOD,
  336. OL_ATH_PARAM_DROP_STA_QUERY,
  337. #endif
  338. OL_ATH_PARAM_QBOOST,
  339. OL_ATH_PARAM_SIFS_FRMTYPE,
  340. OL_ATH_PARAM_SIFS_UAPSD = 185,
  341. OL_ATH_PARAM_FW_RECOVERY_ID,
  342. OL_ATH_PARAM_RESET_OL_STATS,
  343. OL_ATH_PARAM_AGGR_BURST,
  344. /* Number of deauth sent in consecutive rx_peer_invalid */
  345. OL_ATH_PARAM_DEAUTH_COUNT,
  346. OL_ATH_PARAM_BLOCK_INTERBSS = 190,
  347. /* Firmware reset control for Bmiss / timeout / reset */
  348. OL_ATH_PARAM_FW_DISABLE_RESET,
  349. OL_ATH_PARAM_MSDU_TTL,
  350. OL_ATH_PARAM_PPDU_DURATION,
  351. OL_ATH_PARAM_SET_TXBF_SND_PERIOD,
  352. OL_ATH_PARAM_ALLOW_PROMISC = 195,
  353. OL_ATH_PARAM_BURST_MODE,
  354. OL_ATH_PARAM_DYN_GROUPING,
  355. OL_ATH_PARAM_DPD_ENABLE,
  356. OL_ATH_PARAM_DBGLOG_RATELIM,
  357. /* firmware should intimate us about ps state change for node */
  358. OL_ATH_PARAM_PS_STATE_CHANGE = 200,
  359. OL_ATH_PARAM_MCAST_BCAST_ECHO,
  360. /* OBSS RSSI threshold for 20/40 coexistance */
  361. OL_ATH_PARAM_OBSS_RSSI_THRESHOLD,
  362. /* Link/node RX RSSI threshold for 20/40 coexistance */
  363. OL_ATH_PARAM_OBSS_RX_RSSI_THRESHOLD,
  364. #if ATH_CHANNEL_BLOCKING
  365. OL_ATH_PARAM_ACS_BLOCK_MODE = 205,
  366. #endif
  367. OL_ATH_PARAM_ACS_TX_POWER_OPTION,
  368. /* Default Antenna Polarization MSB 8 bits (24:31) specifying
  369. enable/disable ; LSB 24 bits (0:23) antenna mask value */
  370. OL_ATH_PARAM_ANT_POLARIZATION,
  371. /* rate limit mute type error prints */
  372. OL_ATH_PARAM_PRINT_RATE_LIMIT,
  373. OL_ATH_PARAM_PDEV_RESET, /* Reset FW PDEV*/
  374. /*Do not crash host when target assert happened*/
  375. OL_ATH_PARAM_FW_DUMP_NO_HOST_CRASH = 210,
  376. /*Consider OBSS non-erp to change to long slot*/
  377. OL_ATH_PARAM_CONSIDER_OBSS_NON_ERP_LONG_SLOT = 211,
  378. #if PEER_FLOW_CONTROL
  379. OL_ATH_PARAM_STATS_FC,
  380. OL_ATH_PARAM_QFLUSHINTERVAL,
  381. OL_ATH_PARAM_TOTAL_Q_SIZE,
  382. OL_ATH_PARAM_TOTAL_Q_SIZE_RANGE0,
  383. OL_ATH_PARAM_TOTAL_Q_SIZE_RANGE1,
  384. OL_ATH_PARAM_TOTAL_Q_SIZE_RANGE2,
  385. OL_ATH_PARAM_TOTAL_Q_SIZE_RANGE3,
  386. OL_ATH_PARAM_MIN_THRESHOLD,
  387. OL_ATH_PARAM_MAX_Q_LIMIT,
  388. OL_ATH_PARAM_MIN_Q_LIMIT,
  389. OL_ATH_PARAM_CONG_CTRL_TIMER_INTV,
  390. OL_ATH_PARAM_STATS_TIMER_INTV,
  391. OL_ATH_PARAM_ROTTING_TIMER_INTV,
  392. OL_ATH_PARAM_LATENCY_PROFILE,
  393. OL_ATH_PARAM_HOSTQ_DUMP,
  394. OL_ATH_PARAM_TIDQ_MAP,
  395. #endif
  396. OL_ATH_PARAM_DBG_ARP_SRC_ADDR, /* ARP DEBUG source address*/
  397. OL_ATH_PARAM_DBG_ARP_DST_ADDR, /* ARP DEBUG destination address*/
  398. OL_ATH_PARAM_ARP_DBG_CONF, /* ARP debug configuration */
  399. OL_ATH_PARAM_DISABLE_STA_VAP_AMSDU, /* Disable AMSDU for station vap */
  400. #if ATH_SUPPORT_DFS && ATH_SUPPORT_STA_DFS
  401. OL_ATH_PARAM_STADFS_ENABLE = 300, /* STA DFS is enabled or not */
  402. #endif
  403. #if QCA_AIRTIME_FAIRNESS
  404. OL_ATH_PARAM_ATF_STRICT_SCHED = 301,
  405. OL_ATH_PARAM_ATF_GROUP_POLICY = 302,
  406. #endif
  407. #if DBDC_REPEATER_SUPPORT
  408. OL_ATH_PARAM_PRIMARY_RADIO,
  409. OL_ATH_PARAM_DBDC_ENABLE,
  410. #endif
  411. OL_ATH_PARAM_TXPOWER_DBSCALE,
  412. OL_ATH_PARAM_CTL_POWER_SCALE,
  413. #if QCA_AIRTIME_FAIRNESS
  414. OL_ATH_PARAM_ATF_OBSS_SCHED = 307,
  415. OL_ATH_PARAM_ATF_OBSS_SCALE = 308,
  416. #endif
  417. OL_ATH_PARAM_PHY_OFDM_ERR = 309,
  418. OL_ATH_PARAM_PHY_CCK_ERR = 310,
  419. OL_ATH_PARAM_FCS_ERR = 311,
  420. OL_ATH_PARAM_CHAN_UTIL = 312,
  421. #if DBDC_REPEATER_SUPPORT
  422. OL_ATH_PARAM_CLIENT_MCAST,
  423. #endif
  424. OL_ATH_PARAM_EMIWAR_80P80 = 314,
  425. OL_ATH_PARAM_BATCHMODE = 315,
  426. OL_ATH_PARAM_PACK_AGGR_DELAY = 316,
  427. #if UMAC_SUPPORT_ACFG
  428. OL_ATH_PARAM_DIAG_ENABLE = 317,
  429. #endif
  430. #if ATH_SUPPORT_VAP_QOS
  431. OL_ATH_PARAM_VAP_QOS = 318,
  432. #endif
  433. OL_ATH_PARAM_CHAN_STATS_TH = 319,
  434. /* Passive scan is enabled or disabled */
  435. OL_ATH_PARAM_PASSIVE_SCAN_ENABLE = 320,
  436. OL_ATH_MIN_RSSI_ENABLE = 321,
  437. OL_ATH_MIN_RSSI = 322,
  438. } ol_ath_param_t;
  439. /*
  440. ** Enumeration of PDEV Configuration parameter
  441. */
  442. typedef enum _ol_hal_param_t {
  443. OL_HAL_CONFIG_DMA_BEACON_RESPONSE_TIME = 0
  444. } ol_hal_param_t;
  445. #endif