123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394 |
- #ifndef __CDP_TXRX_MOB_DEF_H
- #define __CDP_TXRX_MOB_DEF_H
- #include <sir_types.h>
- #include <htt.h>
- #define OL_TXQ_PAUSE_REASON_FW (1 << 0)
- #define OL_TXQ_PAUSE_REASON_PEER_UNAUTHORIZED (1 << 1)
- #define OL_TXQ_PAUSE_REASON_TX_ABORT (1 << 2)
- #define OL_TXQ_PAUSE_REASON_VDEV_STOP (1 << 3)
- #define OL_TXQ_PAUSE_REASON_THERMAL_MITIGATION (1 << 4)
- #define WLAN_HDD_STATS 0
- #define WLAN_TXRX_STATS 1
- #define WLAN_TXRX_HIST_STATS 2
- #define WLAN_TXRX_TSO_STATS 3
- #define WLAN_HDD_NETIF_OPER_HISTORY 4
- #define WLAN_DUMP_TX_FLOW_POOL_INFO 5
- #define WLAN_TXRX_DESC_STATS 6
- #define WLAN_HIF_STATS 7
- #define WLAN_LRO_STATS 8
- #define WLAN_SCHEDULER_STATS 21
- #define WLAN_TX_QUEUE_STATS 22
- #define WLAN_BUNDLE_STATS 23
- #define WLAN_CREDIT_STATS 24
- #define OL_TXRX_INVALID_NUM_PEERS (-1)
- #define OL_TXRX_MAC_ADDR_LEN 6
- #define WLAN_MAX_STA_COUNT (HAL_NUM_STA)
- #define WLAN_RX_BCMC_STA_ID (WLAN_MAX_STA_COUNT + 1)
- #define WLAN_RX_SAP_SELF_STA_ID (WLAN_MAX_STA_COUNT + 2)
- #define IEEE80211_IS_MULTICAST(_a) (*(_a) & 0x01)
- #define MAX_PEERS 32
- #define QCA_TX_DELAY_HIST_REPORT_BINS 6
- #define IEEE80211_ACTION_BA_ADDBA_REQUEST 0
- #define IEEE80211_ACTION_BA_ADDBA_RESPONSE 1
- #define IEEE80211_ACTION_BA_DELBA 2
- #define IEEE80211_BA_POLICY_DELAYED 0
- #define IEEE80211_BA_POLICY_IMMEDIATE 1
- #define IEEE80211_BA_AMSDU_SUPPORTED 1
- enum netif_action_type {
- WLAN_STOP_ALL_NETIF_QUEUE = 1,
- WLAN_START_ALL_NETIF_QUEUE,
- WLAN_WAKE_ALL_NETIF_QUEUE,
- WLAN_STOP_ALL_NETIF_QUEUE_N_CARRIER,
- WLAN_START_ALL_NETIF_QUEUE_N_CARRIER,
- WLAN_NETIF_TX_DISABLE,
- WLAN_NETIF_TX_DISABLE_N_CARRIER,
- WLAN_NETIF_CARRIER_ON,
- WLAN_NETIF_CARRIER_OFF,
- WLAN_NETIF_ACTION_TYPE_MAX,
- };
- enum netif_reason_type {
- WLAN_CONTROL_PATH = 1,
- WLAN_DATA_FLOW_CONTROL,
- WLAN_FW_PAUSE,
- WLAN_TX_ABORT,
- WLAN_VDEV_STOP,
- WLAN_PEER_UNAUTHORISED,
- WLAN_THERMAL_MITIGATION,
- WLAN_REASON_TYPE_MAX,
- };
- enum ol_rx_err_type {
- OL_RX_ERR_DEFRAG_MIC,
- OL_RX_ERR_PN,
- OL_RX_ERR_UNKNOWN_PEER,
- OL_RX_ERR_MALFORMED,
- OL_RX_ERR_TKIP_MIC,
- OL_RX_ERR_DECRYPT,
- OL_RX_ERR_MPDU_LENGTH,
- OL_RX_ERR_ENCRYPT_REQUIRED,
- OL_RX_ERR_DUP,
- OL_RX_ERR_UNKNOWN,
- OL_RX_ERR_FCS,
- OL_RX_ERR_PRIVACY,
- OL_RX_ERR_NONE_FRAG,
- OL_RX_ERR_NONE = 0xFF
- };
- enum throttle_level {
- THROTTLE_LEVEL_0,
- THROTTLE_LEVEL_1,
- THROTTLE_LEVEL_2,
- THROTTLE_LEVEL_3,
-
- THROTTLE_LEVEL_MAX,
- };
- enum {
- OL_TX_WMM_AC_BE,
- OL_TX_WMM_AC_BK,
- OL_TX_WMM_AC_VI,
- OL_TX_WMM_AC_VO,
- OL_TX_NUM_WMM_AC
- };
- enum ol_tx_spec {
- OL_TX_SPEC_STD = 0x0,
- OL_TX_SPEC_RAW = 0x1,
- OL_TX_SPEC_NO_AGGR = 0x2,
- OL_TX_SPEC_NO_ENCRYPT = 0x4,
- OL_TX_SPEC_TSO = 0x8,
- OL_TX_SPEC_NWIFI_NO_ENCRYPT = 0x10,
- OL_TX_SPEC_NO_FREE = 0x20,
- };
- struct ol_txrx_desc_type {
- uint8_t sta_id;
- uint8_t is_qos_enabled;
- uint8_t is_wapi_supported;
- };
- struct txrx_pdev_cfg_param_t {
- uint8_t is_full_reorder_offload;
-
- uint8_t is_uc_offload_enabled;
-
- uint32_t uc_tx_buffer_count;
-
- uint32_t uc_tx_buffer_size;
-
- uint32_t uc_rx_indication_ring_count;
-
- uint32_t uc_tx_partition_base;
-
- bool ip_tcp_udp_checksum_offload;
-
- bool enable_rxthread;
-
- bool ce_classify_enabled;
- #ifdef QCA_LL_TX_FLOW_CONTROL_V2
-
- uint32_t tx_flow_stop_queue_th;
-
- uint32_t tx_flow_start_queue_offset;
- #endif
- };
- struct ol_txrx_ipa_resources {
- qdf_dma_addr_t ce_sr_base_paddr;
- uint32_t ce_sr_ring_size;
- qdf_dma_addr_t ce_reg_paddr;
- qdf_dma_addr_t tx_comp_ring_base_paddr;
- uint32_t tx_comp_ring_size;
- uint32_t tx_num_alloc_buffer;
- qdf_dma_addr_t rx_rdy_ring_base_paddr;
- uint32_t rx_rdy_ring_size;
- qdf_dma_addr_t rx_proc_done_idx_paddr;
- void *rx_proc_done_idx_vaddr;
- qdf_dma_addr_t rx2_rdy_ring_base_paddr;
- uint32_t rx2_rdy_ring_size;
- qdf_dma_addr_t rx2_proc_done_idx_paddr;
- void *rx2_proc_done_idx_vaddr;
- };
- struct ol_txrx_ocb_chan_info {
- uint32_t chan_freq;
- uint16_t disable_rx_stats_hdr:1;
- };
- struct ol_mic_error_info {
- uint8_t vdev_id;
- uint32_t key_id;
- uint64_t pn;
- uint8_t sa[OL_TXRX_MAC_ADDR_LEN];
- uint8_t da[OL_TXRX_MAC_ADDR_LEN];
- uint8_t ta[OL_TXRX_MAC_ADDR_LEN];
- };
- struct ol_error_info {
- union {
- struct ol_mic_error_info mic_err;
- } u;
- };
- struct ol_txrx_ocb_set_chan {
- uint32_t ocb_channel_count;
- struct ol_txrx_ocb_chan_info *ocb_channel_info;
- };
- struct ol_tx_ac_param_t {
- uint32_t aifs;
- uint32_t cwmin;
- uint32_t cwmax;
- };
- struct ol_tx_wmm_param_t {
- struct ol_tx_ac_param_t ac[OL_TX_NUM_WMM_AC];
- };
- struct ieee80211_ba_parameterset {
- #if _BYTE_ORDER == _BIG_ENDIAN
- uint16_t buffersize:10,
- tid:4,
- bapolicy:1,
- amsdusupported:1;
- #else
- uint16_t amsdusupported:1,
- bapolicy:1,
- tid:4,
- buffersize:10;
- #endif
- } __packed;
- struct ieee80211_ba_seqctrl {
- #if _BYTE_ORDER == _BIG_ENDIAN
- uint16_t startseqnum:12,
- fragnum:4;
- #else
- uint16_t fragnum:4,
- startseqnum:12;
- #endif
- } __packed;
- struct ieee80211_delba_parameterset {
- #if _BYTE_ORDER == _BIG_ENDIAN
- uint16_t tid:4,
- initiator:1,
- reserved0:11;
- #else
- uint16_t reserved0:11,
- initiator:1,
- tid:4;
- #endif
- } __packed;
- typedef QDF_STATUS(*rx_callback_fp)(void *p_cds_gctx,
- qdf_nbuf_t pDataBuff,
- uint8_t ucSTAId);
- typedef void (*ol_txrx_vdev_peer_remove_cb)(void *handle, uint8_t *bssid,
- uint8_t vdev_id, void *peer, bool roam_synch_in_progress);
- typedef void (*ol_txrx_tx_flow_control_fp)(void *osif_dev, bool tx_resume);
- typedef void (*tx_flow_control_fp)(void *osif_dev,
- bool tx_resume);
- typedef void (*ol_tx_pause_callback_fp)(uint8_t vdev_id,
- enum netif_action_type action,
- enum netif_reason_type reason);
- typedef void (*ipa_op_cb_type)(uint8_t *op_msg,
- void *osif_ctxt);
- #endif
|