#ifndef ENA_ETH_COM_H_
#define ENA_ETH_COM_H_
#include "ena_com.h"
#define ENA_LLQ_ENTRY_DESC_CHUNK_SIZE …
#define ENA_LLQ_HEADER …
#define ENA_LLQ_LARGE_HEADER …
struct ena_com_tx_ctx { … };
struct ena_com_rx_ctx { … };
int ena_com_prepare_tx(struct ena_com_io_sq *io_sq,
struct ena_com_tx_ctx *ena_tx_ctx,
int *nb_hw_desc);
int ena_com_rx_pkt(struct ena_com_io_cq *io_cq,
struct ena_com_io_sq *io_sq,
struct ena_com_rx_ctx *ena_rx_ctx);
int ena_com_add_single_rx_desc(struct ena_com_io_sq *io_sq,
struct ena_com_buf *ena_buf,
u16 req_id);
bool ena_com_cq_empty(struct ena_com_io_cq *io_cq);
static inline void ena_com_unmask_intr(struct ena_com_io_cq *io_cq,
struct ena_eth_io_intr_reg *intr_reg)
{ … }
static inline int ena_com_free_q_entries(struct ena_com_io_sq *io_sq)
{ … }
static inline bool ena_com_sq_have_enough_space(struct ena_com_io_sq *io_sq,
u16 required_buffers)
{ … }
static inline bool ena_com_meta_desc_changed(struct ena_com_io_sq *io_sq,
struct ena_com_tx_ctx *ena_tx_ctx)
{ … }
static inline bool is_llq_max_tx_burst_exists(struct ena_com_io_sq *io_sq)
{ … }
static inline bool ena_com_is_doorbell_needed(struct ena_com_io_sq *io_sq,
struct ena_com_tx_ctx *ena_tx_ctx)
{ … }
static inline int ena_com_write_sq_doorbell(struct ena_com_io_sq *io_sq)
{ … }
static inline void ena_com_update_numa_node(struct ena_com_io_cq *io_cq,
u8 numa_node)
{ … }
static inline void ena_com_comp_ack(struct ena_com_io_sq *io_sq, u16 elem)
{ … }
static inline void ena_com_cq_inc_head(struct ena_com_io_cq *io_cq)
{ … }
static inline int ena_com_tx_comp_req_id_get(struct ena_com_io_cq *io_cq,
u16 *req_id)
{ … }
#endif