123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481 |
- /*
- * Copyright (c) 2016 The Linux Foundation. All rights reserved.
- *
- * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
- *
- *
- * Permission to use, copy, modify, and/or distribute this software for
- * any purpose with or without fee is hereby granted, provided that the
- * above copyright notice and this permission notice appear in all
- * copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
- * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
- /*
- * This file was originally distributed by Qualcomm Atheros, Inc.
- * under proprietary terms before Copyright ownership was assigned
- * to the Linux Foundation.
- */
- /**
- * @file cdp_txrx_ctrl.h
- * @brief Define the host data path control API functions
- * called by the host control SW and the OS interface module
- */
- #ifndef _CDP_TXRX_CTRL_H_
- #define _CDP_TXRX_CTRL_H_
- /* TODO: adf need to be replaced with qdf */
- /*
- * Cleanups -- Might need cleanup
- */
- #if !QCA_OL_TX_PDEV_LOCK && QCA_NSS_PLATFORM || \
- (defined QCA_PARTNER_PLATFORM && QCA_PARTNER_SUPPORT_FAST_TX)
- #define VAP_TX_SPIN_LOCK(_x) spin_lock(_x)
- #define VAP_TX_SPIN_UNLOCK(_x) spin_unlock(_x)
- #else /* QCA_OL_TX_PDEV_LOCK */
- #define VAP_TX_SPIN_LOCK(_x)
- #define VAP_TX_SPIN_UNLOCK(_x)
- #endif /* QCA_OL_TX_PDEV_LOCK */
- #if QCA_OL_TX_PDEV_LOCK
- void ol_ll_pdev_tx_lock(void *);
- void ol_ll_pdev_tx_unlock(void *);
- #define OL_TX_LOCK(_x) ol_ll_pdev_tx_lock(_x)
- #define OL_TX_UNLOCK(_x) ol_ll_pdev_tx_unlock(_x)
- #define OL_TX_PDEV_LOCK(_x) qdf_spin_lock_bh(_x)
- #define OL_TX_PDEV_UNLOCK(_x) qdf_spin_unlock_bh(_x)
- #else
- #define OL_TX_PDEV_LOCK(_x)
- #define OL_TX_PDEV_UNLOCK(_x)
- #define OL_TX_LOCK(_x)
- #define OL_TX_UNLOCK(_x)
- #endif /* QCA_OL_TX_PDEV_LOCK */
- #if !QCA_OL_TX_PDEV_LOCK
- #define OL_TX_FLOW_CTRL_LOCK(_x) qdf_spin_lock_bh(_x)
- #define OL_TX_FLOW_CTRL_UNLOCK(_x) qdf_spin_unlock_bh(_x)
- #define OL_TX_DESC_LOCK(_x) qdf_spin_lock_bh(_x)
- #define OL_TX_DESC_UNLOCK(_x) qdf_spin_unlock_bh(_x)
- #define OSIF_VAP_TX_LOCK(_x) spin_lock(&((_x)->tx_lock))
- #define OSIF_VAP_TX_UNLOCK(_x) spin_unlock(&((_x)->tx_lock))
- #define OL_TX_PEER_LOCK(_x, _id) qdf_spin_lock_bh(&((_x)->peer_lock[_id]))
- #define OL_TX_PEER_UNLOCK(_x, _id) qdf_spin_unlock_bh(&((_x)->peer_lock[_id]))
- #define OL_TX_PEER_UPDATE_LOCK(_x, _id) \
- qdf_spin_lock_bh(&((_x)->peer_lock[_id]))
- #define OL_TX_PEER_UPDATE_UNLOCK(_x, _id) \
- qdf_spin_unlock_bh(&((_x)->peer_lock[_id]))
- #else
- #define OSIF_VAP_TX_LOCK(_x) ol_ll_pdev_tx_lock((_x)->iv_txrx_handle)
- #define OSIF_VAP_TX_UNLOCK(_x) ol_ll_pdev_tx_unlock((_x)->iv_txrx_handle)
- #define OL_TX_FLOW_CTRL_LOCK(_x)
- #define OL_TX_FLOW_CTRL_UNLOCK(_x)
- #define OL_TX_DESC_LOCK(_x)
- #define OL_TX_DESC_UNLOCK(_x)
- #define OL_TX_PEER_LOCK(_x, _id)
- #define OL_TX_PEER_UNLOCK(_x, _id)
- #define OL_TX_PEER_UPDATE_LOCK(_x, _id) qdf_spin_lock_bh(&((_x)->tx_lock))
- #define OL_TX_PEER_UPDATE_UNLOCK(_x, _id) qdf_spin_unlock_bh(&((_x)->tx_lock))
- #endif /* !QCA_OL_TX_PDEV_LOCK */
- extern int ol_txrx_is_target_ar900b(ol_txrx_vdev_handle vdev);
- #define OL_TXRX_IS_TARGET_AR900B(vdev) ol_txrx_is_target_ar900b(vdev)
- /* WIN */
- int
- ol_txrx_mempools_attach(ol_pdev_handle ctrl_pdev);
- int
- ol_txrx_set_filter_neighbour_peers(
- ol_txrx_pdev_handle pdev,
- u_int32_t val);
- /**
- * @brief set the safemode of the device
- * @details
- * This flag is used to bypass the encrypt and decrypt processes when send and
- * receive packets. It works like open AUTH mode, HW will treate all packets
- * as non-encrypt frames because no key installed. For rx fragmented frames,
- * it bypasses all the rx defragmentaion.
- *
- * @param vdev - the data virtual device object
- * @param val - the safemode state
- * @return - void
- */
- void
- ol_txrx_set_safemode(
- ol_txrx_vdev_handle vdev,
- u_int32_t val);
- /**
- * @brief configure the drop unencrypted frame flag
- * @details
- * Rx related. When set this flag, all the unencrypted frames
- * received over a secure connection will be discarded
- *
- * @param vdev - the data virtual device object
- * @param val - flag
- * @return - void
- */
- void
- ol_txrx_set_drop_unenc(
- ol_txrx_vdev_handle vdev,
- u_int32_t val);
- /**
- * @brief set the Tx encapsulation type of the VDEV
- * @details
- * This will be used to populate the HTT desc packet type field during Tx
- *
- * @param vdev - the data virtual device object
- * @param val - the Tx encap type
- * @return - void
- */
- void
- ol_txrx_set_tx_encap_type(
- ol_txrx_vdev_handle vdev,
- enum htt_pkt_type val);
- /**
- * @brief set the Rx decapsulation type of the VDEV
- * @details
- * This will be used to configure into firmware and hardware which format to
- * decap all Rx packets into, for all peers under the VDEV.
- *
- * @param vdev - the data virtual device object
- * @param val - the Rx decap mode
- * @return - void
- */
- void
- ol_txrx_set_vdev_rx_decap_type(
- ol_txrx_vdev_handle vdev,
- enum htt_pkt_type val);
- /**
- * @brief get the Rx decapsulation type of the VDEV
- *
- * @param vdev - the data virtual device object
- * @return - the Rx decap type
- */
- enum htt_pkt_type
- ol_txrx_get_vdev_rx_decap_type(ol_txrx_vdev_handle vdev);
- /* Is this similar to ol_txrx_peer_state_update() in MCL */
- /**
- * @brief Update the authorize peer object at association time
- * @details
- * For the host-based implementation of rate-control, it
- * updates the peer/node-related parameters within rate-control
- * context of the peer at association.
- *
- * @param peer - pointer to the node's object
- * @authorize - either to authorize or unauthorize peer
- *
- * @return none
- */
- void
- ol_txrx_peer_authorize(struct ol_txrx_peer_t *peer, u_int32_t authorize);
- bool
- ol_txrx_set_inact_params(ol_txrx_pdev_handle pdev,
- u_int16_t inact_check_interval,
- u_int16_t inact_normal,
- u_int16_t inact_overload);
- bool
- ol_txrx_start_inact_timer(
- ol_txrx_pdev_handle pdev,
- bool enable);
- /**
- * @brief Set the overload status of the radio
- * @details
- * Set the overload status of the radio, updating the inactivity
- * threshold and inactivity count for each node.
- *
- * @param pdev - the data physical device object
- * @param overload - whether the radio is overloaded or not
- */
- void
- ol_txrx_set_overload(
- ol_txrx_pdev_handle pdev,
- bool overload);
- /**
- * @brief Check the inactivity status of the peer/node
- *
- * @param peer - pointer to the node's object
- * @return true if the node is inactive; otherwise return false
- */
- bool
- ol_txrx_peer_is_inact(ol_txrx_peer_handle peer);
- /**
- * @brief Mark inactivity status of the peer/node
- * @details
- * If it becomes active, reset inactivity count to reload value;
- * if the inactivity status changed, notify umac band steering.
- *
- * @param peer - pointer to the node's object
- * @param inactive - whether the node is inactive or not
- */
- void
- ol_txrx_mark_peer_inact(
- ol_txrx_peer_handle peer,
- bool inactive);
- /* Should be ol_txrx_ctrl_api.h */
- void ol_txrx_set_mesh_mode(ol_txrx_vdev_handle vdev, u_int32_t val);
- void ol_tx_flush_buffers(struct ol_txrx_vdev_t *vdev);
- /*
- ** Enumeration of PDEV Configuration parameter
- */
- typedef enum _ol_ath_param_t {
- OL_ATH_PARAM_TXCHAINMASK = 1,
- OL_ATH_PARAM_RXCHAINMASK = 2,
- OL_ATH_PARAM_AMPDU = 6,
- OL_ATH_PARAM_AMPDU_LIMIT = 7,
- OL_ATH_PARAM_AMPDU_SUBFRAMES = 8,
- OL_ATH_PARAM_TXPOWER_LIMIT2G = 12,
- OL_ATH_PARAM_TXPOWER_LIMIT5G = 13,
- OL_ATH_PARAM_LDPC = 32,
- OL_ATH_PARAM_VOW_EXT_STATS = 45,
- OL_ATH_PARAM_DYN_TX_CHAINMASK = 73,
- OL_ATH_PARAM_BURST_ENABLE = 77,
- OL_ATH_PARAM_BURST_DUR = 78,
- OL_ATH_PARAM_BCN_BURST = 80,
- OL_ATH_PARAM_DCS = 82,
- #if UMAC_SUPPORT_PERIODIC_PERFSTATS
- OL_ATH_PARAM_PRDPERFSTAT_THRPUT_ENAB = 83,
- OL_ATH_PARAM_PRDPERFSTAT_THRPUT_WIN = 84,
- OL_ATH_PARAM_PRDPERFSTAT_THRPUT = 85,
- OL_ATH_PARAM_PRDPERFSTAT_PER_ENAB = 86,
- OL_ATH_PARAM_PRDPERFSTAT_PER_WIN = 87,
- OL_ATH_PARAM_PRDPERFSTAT_PER = 88,
- #endif
- /* UMAC_SUPPORT_PERIODIC_PERFSTATS */
- OL_ATH_PARAM_TOTAL_PER = 89,
- /*set manual rate for rts frame */
- OL_ATH_PARAM_RTS_CTS_RATE = 92,
- /** co channel interference threshold level */
- OL_ATH_PARAM_DCS_COCH_THR = 93,
- /** transmit error threshold */
- OL_ATH_PARAM_DCS_TXERR_THR = 94,
- /** phy error threshold */
- OL_ATH_PARAM_DCS_PHYERR_THR = 95,
- /* The IOCTL number is 114, it is made 114, inorder to make the IOCTL
- number same as Direct-attach IOCTL.
- Please, don't change number. This IOCTL gets the Interface code path
- it should be either DIRECT-ATTACH or OFF-LOAD.
- */
- OL_ATH_PARAM_GET_IF_ID = 114,
- /*Enable Acs back Ground Channel selection Scan timer in AP mode*/
- OL_ATH_PARAM_ACS_ENABLE_BK_SCANTIMEREN = 118,
- /* ACS scan timer value in Seconds */
- OL_ATH_PARAM_ACS_SCANTIME = 119,
- /*Negligence Delta RSSI between two channel */
- OL_ATH_PARAM_ACS_RSSIVAR = 120,
- /*Negligence Delta Channel load between two channel*/
- OL_ATH_PARAM_ACS_CHLOADVAR = 121,
- /* Enable Limited OBSS check */
- OL_ATH_PARAM_ACS_LIMITEDOBSS = 122,
- /* Acs control flag for Scan timer */
- OL_ATH_PARAM_ACS_CTRLFLAG = 123,
- /* Acs Run time Debug level*/
- OL_ATH_PARAM_ACS_DEBUGTRACE = 124,
- OL_ATH_PARAM_SET_FW_HANG_ID = 137,
- /* Radio type 1:11ac 0:11abgn */
- OL_ATH_PARAM_RADIO_TYPE = 138,
- OL_ATH_PARAM_IGMPMLD_OVERRIDE, /* IGMP/MLD packet override */
- OL_ATH_PARAM_IGMPMLD_TID, /* IGMP/MLD packet TID no */
- OL_ATH_PARAM_ARPDHCP_AC_OVERRIDE,
- OL_ATH_PARAM_NON_AGG_SW_RETRY_TH,
- OL_ATH_PARAM_AGG_SW_RETRY_TH,
- /* Dont change this number it as per sync with DA
- Blocking certian channel from ic channel list */
- OL_ATH_PARAM_DISABLE_DFS = 144,
- OL_ATH_PARAM_ENABLE_AMSDU = 145,
- OL_ATH_PARAM_ENABLE_AMPDU = 146,
- OL_ATH_PARAM_STA_KICKOUT_TH,
- OL_ATH_PARAM_WLAN_PROF_ENABLE,
- OL_ATH_PARAM_LTR_ENABLE,
- OL_ATH_PARAM_LTR_AC_LATENCY_BE = 150,
- OL_ATH_PARAM_LTR_AC_LATENCY_BK,
- OL_ATH_PARAM_LTR_AC_LATENCY_VI,
- OL_ATH_PARAM_LTR_AC_LATENCY_VO,
- OL_ATH_PARAM_LTR_AC_LATENCY_TIMEOUT,
- OL_ATH_PARAM_LTR_TX_ACTIVITY_TIMEOUT = 155,
- OL_ATH_PARAM_LTR_SLEEP_OVERRIDE,
- OL_ATH_PARAM_LTR_RX_OVERRIDE,
- OL_ATH_PARAM_L1SS_ENABLE,
- OL_ATH_PARAM_DSLEEP_ENABLE,
- /** radar error threshold */
- OL_ATH_PARAM_DCS_RADAR_ERR_THR = 160,
- /** Tx channel utilization due to AP's tx and rx */
- OL_ATH_PARAM_DCS_USERMAX_CU_THR,
- /** interference detection threshold */
- OL_ATH_PARAM_DCS_INTR_DETECT_THR,
- /** sampling window, default 10secs */
- OL_ATH_PARAM_DCS_SAMPLE_WINDOW,
- /** debug logs enable/disable */
- OL_ATH_PARAM_DCS_DEBUG,
- OL_ATH_PARAM_ANI_ENABLE = 165,
- OL_ATH_PARAM_ANI_POLL_PERIOD,
- OL_ATH_PARAM_ANI_LISTEN_PERIOD,
- OL_ATH_PARAM_ANI_OFDM_LEVEL,
- OL_ATH_PARAM_ANI_CCK_LEVEL,
- OL_ATH_PARAM_DSCP_TID_MAP = 170,
- OL_ATH_PARAM_TXPOWER_SCALE,
- /** Phy error penalty */
- OL_ATH_PARAM_DCS_PHYERR_PENALTY,
- #if ATH_SUPPORT_DSCP_OVERRIDE
- /** set/get TID for sending HMMC packets */
- OL_ATH_PARAM_HMMC_DSCP_TID_MAP,
- /** set/get DSCP mapping override */
- OL_ATH_PARAM_DSCP_OVERRIDE,
- /** set/get HMMC-DSCP mapping override */
- OL_ATH_PARAM_HMMC_DSCP_OVERRIDE = 175,
- #endif
- #if ATH_RX_LOOPLIMIT_TIMER
- OL_ATH_PARAM_LOOPLIMIT_NUM,
- #endif
- OL_ATH_PARAM_ANTENNA_GAIN_2G,
- OL_ATH_PARAM_ANTENNA_GAIN_5G,
- OL_ATH_PARAM_RX_FILTER,
- #if ATH_SUPPORT_HYFI_ENHANCEMENTS
- OL_ATH_PARAM_BUFF_THRESH = 180,
- OL_ATH_PARAM_BLK_REPORT_FLOOD,
- OL_ATH_PARAM_DROP_STA_QUERY,
- #endif
- OL_ATH_PARAM_QBOOST,
- OL_ATH_PARAM_SIFS_FRMTYPE,
- OL_ATH_PARAM_SIFS_UAPSD = 185,
- OL_ATH_PARAM_FW_RECOVERY_ID,
- OL_ATH_PARAM_RESET_OL_STATS,
- OL_ATH_PARAM_AGGR_BURST,
- /* Number of deauth sent in consecutive rx_peer_invalid */
- OL_ATH_PARAM_DEAUTH_COUNT,
- OL_ATH_PARAM_BLOCK_INTERBSS = 190,
- /* Firmware reset control for Bmiss / timeout / reset */
- OL_ATH_PARAM_FW_DISABLE_RESET,
- OL_ATH_PARAM_MSDU_TTL,
- OL_ATH_PARAM_PPDU_DURATION,
- OL_ATH_PARAM_SET_TXBF_SND_PERIOD,
- OL_ATH_PARAM_ALLOW_PROMISC = 195,
- OL_ATH_PARAM_BURST_MODE,
- OL_ATH_PARAM_DYN_GROUPING,
- OL_ATH_PARAM_DPD_ENABLE,
- OL_ATH_PARAM_DBGLOG_RATELIM,
- /* firmware should intimate us about ps state change for node */
- OL_ATH_PARAM_PS_STATE_CHANGE = 200,
- OL_ATH_PARAM_MCAST_BCAST_ECHO,
- /* OBSS RSSI threshold for 20/40 coexistance */
- OL_ATH_PARAM_OBSS_RSSI_THRESHOLD,
- /* Link/node RX RSSI threshold for 20/40 coexistance */
- OL_ATH_PARAM_OBSS_RX_RSSI_THRESHOLD,
- #if ATH_CHANNEL_BLOCKING
- OL_ATH_PARAM_ACS_BLOCK_MODE = 205,
- #endif
- OL_ATH_PARAM_ACS_TX_POWER_OPTION,
- /* Default Antenna Polarization MSB 8 bits (24:31) specifying
- enable/disable ; LSB 24 bits (0:23) antenna mask value */
- OL_ATH_PARAM_ANT_POLARIZATION,
- /* rate limit mute type error prints */
- OL_ATH_PARAM_PRINT_RATE_LIMIT,
- OL_ATH_PARAM_PDEV_RESET, /* Reset FW PDEV*/
- /*Do not crash host when target assert happened*/
- OL_ATH_PARAM_FW_DUMP_NO_HOST_CRASH = 210,
- /*Consider OBSS non-erp to change to long slot*/
- OL_ATH_PARAM_CONSIDER_OBSS_NON_ERP_LONG_SLOT = 211,
- #if PEER_FLOW_CONTROL
- OL_ATH_PARAM_STATS_FC,
- OL_ATH_PARAM_QFLUSHINTERVAL,
- OL_ATH_PARAM_TOTAL_Q_SIZE,
- OL_ATH_PARAM_TOTAL_Q_SIZE_RANGE0,
- OL_ATH_PARAM_TOTAL_Q_SIZE_RANGE1,
- OL_ATH_PARAM_TOTAL_Q_SIZE_RANGE2,
- OL_ATH_PARAM_TOTAL_Q_SIZE_RANGE3,
- OL_ATH_PARAM_MIN_THRESHOLD,
- OL_ATH_PARAM_MAX_Q_LIMIT,
- OL_ATH_PARAM_MIN_Q_LIMIT,
- OL_ATH_PARAM_CONG_CTRL_TIMER_INTV,
- OL_ATH_PARAM_STATS_TIMER_INTV,
- OL_ATH_PARAM_ROTTING_TIMER_INTV,
- OL_ATH_PARAM_LATENCY_PROFILE,
- OL_ATH_PARAM_HOSTQ_DUMP,
- OL_ATH_PARAM_TIDQ_MAP,
- #endif
- OL_ATH_PARAM_DBG_ARP_SRC_ADDR, /* ARP DEBUG source address*/
- OL_ATH_PARAM_DBG_ARP_DST_ADDR, /* ARP DEBUG destination address*/
- OL_ATH_PARAM_ARP_DBG_CONF, /* ARP debug configuration */
- OL_ATH_PARAM_DISABLE_STA_VAP_AMSDU, /* Disable AMSDU for station vap */
- #if ATH_SUPPORT_DFS && ATH_SUPPORT_STA_DFS
- OL_ATH_PARAM_STADFS_ENABLE = 300, /* STA DFS is enabled or not */
- #endif
- #if QCA_AIRTIME_FAIRNESS
- OL_ATH_PARAM_ATF_STRICT_SCHED = 301,
- OL_ATH_PARAM_ATF_GROUP_POLICY = 302,
- #endif
- #if DBDC_REPEATER_SUPPORT
- OL_ATH_PARAM_PRIMARY_RADIO,
- OL_ATH_PARAM_DBDC_ENABLE,
- #endif
- OL_ATH_PARAM_TXPOWER_DBSCALE,
- OL_ATH_PARAM_CTL_POWER_SCALE,
- #if QCA_AIRTIME_FAIRNESS
- OL_ATH_PARAM_ATF_OBSS_SCHED = 307,
- OL_ATH_PARAM_ATF_OBSS_SCALE = 308,
- #endif
- OL_ATH_PARAM_PHY_OFDM_ERR = 309,
- OL_ATH_PARAM_PHY_CCK_ERR = 310,
- OL_ATH_PARAM_FCS_ERR = 311,
- OL_ATH_PARAM_CHAN_UTIL = 312,
- #if DBDC_REPEATER_SUPPORT
- OL_ATH_PARAM_CLIENT_MCAST,
- #endif
- OL_ATH_PARAM_EMIWAR_80P80 = 314,
- OL_ATH_PARAM_BATCHMODE = 315,
- OL_ATH_PARAM_PACK_AGGR_DELAY = 316,
- #if UMAC_SUPPORT_ACFG
- OL_ATH_PARAM_DIAG_ENABLE = 317,
- #endif
- #if ATH_SUPPORT_VAP_QOS
- OL_ATH_PARAM_VAP_QOS = 318,
- #endif
- OL_ATH_PARAM_CHAN_STATS_TH = 319,
- /* Passive scan is enabled or disabled */
- OL_ATH_PARAM_PASSIVE_SCAN_ENABLE = 320,
- OL_ATH_MIN_RSSI_ENABLE = 321,
- OL_ATH_MIN_RSSI = 322,
- } ol_ath_param_t;
- /*
- ** Enumeration of PDEV Configuration parameter
- */
- typedef enum _ol_hal_param_t {
- OL_HAL_CONFIG_DMA_BEACON_RESPONSE_TIME = 0
- } ol_hal_param_t;
- #endif
|