2 ******************************************************************************
6 * @brief File containing the definition of tx/rx info and debug descriptors.
8 * Copyright (C) ESWIN 2015-2020
10 ******************************************************************************
13 #ifndef _ESWIN_UTILS_H_
14 #define _ESWIN_UTILS_H_
16 #if defined(CONFIG_ECRNX_ESWIN_SDIO)
17 // for param in sdio irq flag
18 #define FLAG_MSG_TYPE_MASK 0x0f
20 // queue in sdio irq flag
21 #define FLAG_TXDESC_QUEUE_SHIFT 5
22 #define FLAG_TXDESC_QUEUE_MASK 0xe0
23 #define FLAG_TXDESC_USER_SHIFT 4
24 #define FLAG_TXDESC_USER_MASK 0x10
26 // tag in tx payload param
27 //#define FLAG_TXPAYLOAD_PARAM_SHIFT 6
28 //#define FLAG_TXPAYLOAD_PARAM_MASK 0xffc0 //10 bits
29 #define TX_DESC_TAG_LEN 492 //SLAVE fhost_tx_desc_tag_len
31 #elif defined(CONFIG_ECRNX_ESWIN_USB)
32 // for param in sdio irq flag
33 #define FLAG_MSG_TYPE_MASK 0x00ff
35 // queue in sdio irq flag
36 #define FLAG_TXDESC_USER_SHIFT 8
37 #define FLAG_TXDESC_USER_MASK 0x0f00
38 #define FLAG_TXDESC_QUEUE_SHIFT 12
39 #define FLAG_TXDESC_QUEUE_MASK 0xf000
47 TX_FLAG_MSG_BEACON_IE,
49 TX_FLAG_MSG_SOFTAP_IE,
51 TX_FLAG_MSG_DEBUGFS_IE,
53 #ifdef CONFIG_ECRNX_WIFO_CAIL
54 TX_FLAG_AMT_IWPRIV_IE, //10
61 DBG_TYPE_D, //debug msg type
62 DBG_TYPE_I, //info msg type
63 DBG_TYPE_W, //warning msg type
64 DBG_TYPE_E, //error msg type
65 DBG_TYPE_O, //this type means always output
70 uint8_t direct; // slave log director, 0 is print by uart, 1 is send to host
71 dbg_print_type_e dbg_level; //slave debug level
80 #ifdef CONFIG_ECRNX_ESWIN_SDIO
81 uint32_t resvd; /* for sdio */
82 uint32_t rlen; /* for sdio */
88 * struct pulse_elem - elements in pulse queue
89 * @ts: time stamp in usecs
92 struct list_head head;
96 uint16_t real_offset; /* dma address align 4, real data - real_offset */
98 /*bitmaps of agg frame to upaold*/
99 uint64_t agg_upload_idx;
100 /*bitmaps of agg frame upaold status, 0 is forward, 1 is delete*/
101 uint64_t agg_upload_status;
105 * struct pulse_elem - elements in pulse queue
106 * @ts: time stamp in usecs
109 struct list_head head;
113 uint16_t real_offset; /* dma address align 4, real data - real_offset */
117 void ecrnx_frame_send(struct ecrnx_hw *ecrnx_hw, struct txdesc_api *tx_desc,
118 struct sk_buff *skb, int hw_queue, int user);
119 void ecrnx_msg_send(struct ecrnx_cmd *cmd, uint16_t len);
120 int host_send(void *buff, int len, int flag);
121 const struct ecrnx_element *cfg80211_find_ecrnx_elem(u8 eid, const u8 *ies, int len);