64 lines
1.6 KiB
C
64 lines
1.6 KiB
C
|
|
#ifndef _HGIC_LMAC_HOST_H_
|
||
|
|
#define _HGIC_LMAC_HOST_H_
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
extern "C" {
|
||
|
|
#endif
|
||
|
|
|
||
|
|
struct lmachost_param {
|
||
|
|
uint8 bus_type;
|
||
|
|
uint8 task_priority;
|
||
|
|
uint16 stack_size;
|
||
|
|
struct lmac_ops *lops;
|
||
|
|
struct bt_ops *btops;
|
||
|
|
uint32 rxwrite: 1, rev: 31;
|
||
|
|
uint32 dma_scatter;
|
||
|
|
};
|
||
|
|
|
||
|
|
struct lmac_host {
|
||
|
|
uint16 stop: 1, req_txwnd: 1, bleraw: 1, user_edca: 1, init_report: 1,
|
||
|
|
icmp_mntr: 1, rxwrite: 1, throughput_en: 3,
|
||
|
|
dup_filter:1, sta_mode:1;
|
||
|
|
uint16 cookie, last_cookie;
|
||
|
|
uint16 aggbuff_len, agg_len;
|
||
|
|
uint8 if_monitor; //interface monitor.
|
||
|
|
atomic8_t if_alive; //interface alive.
|
||
|
|
uint32 dma_scatter;
|
||
|
|
|
||
|
|
struct mac_bus *bus;
|
||
|
|
struct lmac_ops *ops;
|
||
|
|
struct bt_ops *btops;
|
||
|
|
|
||
|
|
struct skb_list iftest_list;
|
||
|
|
struct skb_list cmd_list;
|
||
|
|
struct skb_list up2host;
|
||
|
|
//struct skb_list txstatus_list;
|
||
|
|
struct skb_list rx_list;
|
||
|
|
os_semaphore_t sema;
|
||
|
|
os_task_t task;
|
||
|
|
uint8 *agg_buff;
|
||
|
|
struct sk_buff *cmdskb;
|
||
|
|
|
||
|
|
uint16 sn_head[9];
|
||
|
|
uint64 sn_bitmap[9];
|
||
|
|
|
||
|
|
uint16 stats_invalid_frm, stats_cookie_err;
|
||
|
|
uint16 stats_unsupport_frm, stats_rx_loop;
|
||
|
|
uint32 stats_recv_nomem;
|
||
|
|
uint32 rx_bytes, tx_bytes;
|
||
|
|
uint64 throughput_jiff;
|
||
|
|
};
|
||
|
|
|
||
|
|
|
||
|
|
void lmac_host_report_init_done(struct lmac_host *lmachost);
|
||
|
|
int32 lmac_host_init(struct lmachost_param *l_param, struct macbus_param *m_param);
|
||
|
|
int32 host_event_new(uint32 evt_id, uint8 *data, uint32 data_len);
|
||
|
|
int32 host_data_send(uint8 *data, uint32 data_len);
|
||
|
|
void lmac_host_status(void);
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
}
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#endif
|