2025-10-10 16:07:00 +08:00

43 lines
1.4 KiB
C

#ifndef __RWNX_TX_H_
#define __RWNX_TX_H_
#include "bk_compiler.h"
#include "rwnx_intf.h"
#include "pbuf.h"
struct sk_buff;
#define CFG_MAX_SW_RETRY_CNT 5
#define MGMT_FRAME_MAX_TX_PBD_CNT 3
#define RWNX_HWQ_BK 0
#define RWNX_HWQ_BE 1
#define RWNX_HWQ_VI 2
#define RWNX_HWQ_VO 3
#define RWNX_HWQ_BCMC 4
#define RWNX_HWQ_NB NX_TXQ_CNT
#define RWNX_HWQ_ALL_ACS (RWNX_HWQ_BK | RWNX_HWQ_BE | RWNX_HWQ_VI | RWNX_HWQ_VO)
#define RWNX_HWQ_ALL_ACS_BIT ( BIT(RWNX_HWQ_BK) | BIT(RWNX_HWQ_BE) | \
BIT(RWNX_HWQ_VI) | BIT(RWNX_HWQ_VO) )
extern const int rwnx_tid2hwq[];
#define WARN(condition, format...) ({ \
int __ret_warn_on = !!(condition); \
if (unlikely(__ret_warn_on)) \
RWNX_LOGI(format); \
unlikely(__ret_warn_on); \
})
void rwnx_set_traffic_status(STA_INF_PTR sta, bool available, u8 ps_id);
void rwnx_tx_push(struct sk_buff *skb);
uint32_t rwnx_tx_get_pbuf_chain_cnt(struct pbuf *p);
int rwnx_start_xmit(uint8_t vif_idx, struct pbuf *p, BUS_MSG_T *msg);
void rwnx_start_xmit_mgmt(struct sk_buff *skb);
void rwnx_start_xmit_raw_ex(struct sk_buff *skb,raw_tx_cntrl_t *raw_tx_cntrl);
void fhost_tx_cfm_push(uint8_t queue_idx, struct txdesc *txdesc);
int fhost_txbuf_push(void *desc, uint8_t queue_idx);
#endif