123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373 |
-
- #ifndef _CDP_TXRX_CMN_STRUCT_H_
- #define _CDP_TXRX_CMN_STRUCT_H_
- #include "htc_api.h"
- #include "qdf_types.h"
- #include "qdf_nbuf.h"
- #ifndef CONFIG_WIN
- #include <cdp_txrx_mob_def.h>
- #endif
- #ifndef OL_TXRX_NUM_LOCAL_PEER_IDS
- #define OL_TXRX_NUM_LOCAL_PEER_IDS 33
- #endif
- #define OL_TXRX_INVALID_LOCAL_PEER_ID 0xffff
- enum htt_cmn_dbg_stats_type {
- HTT_DBG_CMN_STATS_WAL_PDEV_TXRX = 0,
- HTT_DBG_CMN_STATS_RX_REORDER = 1,
- HTT_DBG_CMN_STATS_RX_RATE_INFO = 2,
- HTT_DBG_CMN_STATS_TX_PPDU_LOG = 3,
- HTT_DBG_CMN_STATS_TX_RATE_INFO = 4,
- HTT_DBG_CMN_STATS_TIDQ = 5,
- HTT_DBG_CMN_STATS_TXBF_INFO = 6,
- HTT_DBG_CMN_STATS_SND_INFO = 7,
- HTT_DBG_CMN_STATS_ERROR_INFO = 8,
- HTT_DBG_CMN_STATS_TX_SELFGEN_INFO = 9,
- HTT_DBG_CMN_STATS_TX_MU_INFO = 10,
- HTT_DBG_CMN_STATS_SIFS_RESP_INFO = 11,
- HTT_DBG_CMN_STATS_RESET_INFO = 12,
- HTT_DBG_CMN_STATS_MAC_WDOG_INFO = 13,
- HTT_DBG_CMN_STATS_TX_DESC_INFO = 14,
- HTT_DBG_CMN_STATS_TX_FETCH_MGR_INFO = 15,
- HTT_DBG_CMN_STATS_TX_PFSCHED_INFO = 16,
- HTT_DBG_CMN_STATS_TX_PATH_STATS_INFO = 17,
-
-
- HTT_DBG_CMN_NUM_STATS
- };
- enum htt_cmn_pkt_type {
- htt_cmn_pkt_type_raw = 0,
- htt_cmn_pkt_type_native_wifi = 1,
- htt_cmn_pkt_type_ethernet = 2,
-
- htt_cmn_pkt_num_types
- };
- enum htt_cmn_t2h_en_stats_type {
-
- HTT_CMN_T2H_EN_STATS_TYPE_START = 0,
-
- HTT_CMN_T2H_EN_STATS_TYPE_COMMON = 1,
-
- HTT_CMN_T2H_EN_STATS_TYPE_SANT = 2,
-
- HTT_CMN_T2H_EN_STATS_TYPE_COMMON_V2 = 3,
-
- HTT_CMN_T2H_EN_STATS_TYPE_END = 0x1f,
- };
- enum htt_cmn_t2h_en_stats_status {
-
- HTT_CMN_T2H_EN_STATS_STATUS_PARTIAL = 0,
- HTT_CMN_T2H_EN_STATS_STATUS_PRESENT = 1,
- HTT_CMN_T2H_EN_STATS_STATUS_ERROR = 2,
- HTT_CMN_T2H_EN_STATS_STATUS_INVALID = 3,
-
- HTT_CMN_T2H_EN_STATS_STATUS_SERIES_DONE = 7,
- };
- enum ol_txrx_peer_state {
- OL_TXRX_PEER_STATE_INVALID,
- OL_TXRX_PEER_STATE_DISC,
- OL_TXRX_PEER_STATE_CONN,
- OL_TXRX_PEER_STATE_AUTH,
- };
- typedef struct cdp_soc_t *ol_txrx_soc_handle;
- typedef void (*ol_txrx_vdev_delete_cb)(void *context);
- struct ol_osif_vdev_t;
- typedef struct ol_osif_vdev_t *ol_osif_vdev_handle;
- enum wlan_op_mode {
- wlan_op_mode_unknown,
- wlan_op_mode_ap,
- wlan_op_mode_ibss,
- wlan_op_mode_sta,
- wlan_op_mode_monitor,
- wlan_op_mode_ocb,
- wlan_op_mode_ndi,
- };
- typedef void
- (*ol_txrx_mgmt_tx_cb)(void *ctxt, qdf_nbuf_t tx_mgmt_frm, int had_error);
- typedef void
- (*ol_txrx_data_tx_cb)(void *ctxt, qdf_nbuf_t tx_frm, int had_error);
- typedef qdf_nbuf_t (*ol_txrx_tx_fp)(void *data_vdev,
- qdf_nbuf_t msdu_list);
- typedef void (*ol_txrx_tx_flow_control_fp)(void *osif_dev,
- bool tx_resume);
- typedef QDF_STATUS(*ol_txrx_rx_fp)(void *osif_dev, qdf_nbuf_t msdu_list);
- typedef bool (*ol_txrx_rx_check_wai_fp)(ol_osif_vdev_handle vdev,
- qdf_nbuf_t mpdu_head,
- qdf_nbuf_t mpdu_tail);
- typedef void (*ol_txrx_rx_mon_fp)(ol_osif_vdev_handle vdev,
- qdf_nbuf_t mpdu,
- void *rx_status);
- typedef int (*ol_txrx_proxy_arp_fp)(ol_osif_vdev_handle vdev,
- qdf_nbuf_t netbuf);
- typedef void (*ol_txrx_stats_callback)(void *ctxt,
- enum htt_cmn_dbg_stats_type type,
- uint8_t *buf, int bytes);
- struct ol_txrx_ops {
-
- struct {
- ol_txrx_tx_fp tx;
- } tx;
-
- struct {
- ol_txrx_rx_fp rx;
- ol_txrx_rx_check_wai_fp wai_check;
- ol_txrx_rx_mon_fp mon;
- } rx;
-
- ol_txrx_proxy_arp_fp proxy_arp;
- };
- struct ol_txrx_stats_req {
- uint32_t stats_type_upload_mask;
- uint32_t stats_type_reset_mask;
-
- struct {
- int verbose;
- int concise;
- } print;
-
- struct {
- ol_txrx_stats_callback fp;
- void *ctxt;
- } callback;
-
- struct {
- uint8_t *buf;
- int byte_limit;
- } copy;
-
- struct {
- int blocking;
-
- qdf_semaphore_t *sem_ptr;
- } wait;
- };
- struct cdp_soc_t {
- struct cdp_ops *ops;
- struct ol_if_ops *ol_ops;
- };
- #define TXRX_FW_STATS_TXSTATS 1
- #define TXRX_FW_STATS_RXSTATS 2
- #define TXRX_FW_STATS_RX_RATE_INFO 3
- #define TXRX_FW_STATS_PHYSTATS 4
- #define TXRX_FW_STATS_PHYSTATS_CONCISE 5
- #define TXRX_FW_STATS_TX_RATE_INFO 6
- #define TXRX_FW_STATS_TID_STATE 7
- #define TXRX_FW_STATS_HOST_STATS 8
- #define TXRX_FW_STATS_CLEAR_HOST_STATS 9
- #define TXRX_FW_STATS_CE_STATS 10
- #define TXRX_FW_STATS_VOW_UMAC_COUNTER 11
- #define TXRX_FW_STATS_ME_STATS 12
- #define TXRX_FW_STATS_TXBF_INFO 13
- #define TXRX_FW_STATS_SND_INFO 14
- #define TXRX_FW_STATS_ERROR_INFO 15
- #define TXRX_FW_STATS_TX_SELFGEN_INFO 16
- #define TXRX_FW_STATS_TX_MU_INFO 17
- #define TXRX_FW_SIFS_RESP_INFO 18
- #define TXRX_FW_RESET_STATS 19
- #define TXRX_FW_MAC_WDOG_STATS 20
- #define TXRX_FW_MAC_DESC_STATS 21
- #define TXRX_FW_MAC_FETCH_MGR_STATS 22
- #define TXRX_FW_MAC_PREFETCH_MGR_STATS 23
- #define TXRX_FW_STATS_DURATION_INFO 24
- #define TXRX_FW_STATS_DURATION_INFO_RESET 25
- #define PER_RADIO_FW_STATS_REQUEST 0
- #define PER_VDEV_FW_STATS_REQUEST 1
- #endif
|