Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/cxgbe/offload.h
Show First 20 Lines • Show All 73 Lines • ▼ Show 20 Lines | |||||
*/ | */ | ||||
#define MAX_ATIDS 2048U | #define MAX_ATIDS 2048U | ||||
union aopen_entry { | union aopen_entry { | ||||
void *data; | void *data; | ||||
union aopen_entry *next; | union aopen_entry *next; | ||||
}; | }; | ||||
/* cxgbe_snd_tag flags */ | /* cxgbe_rate_tag flags */ | ||||
enum { | enum { | ||||
EO_FLOWC_PENDING = (1 << 0), /* flowc needs to be sent */ | EO_FLOWC_PENDING = (1 << 0), /* flowc needs to be sent */ | ||||
EO_FLOWC_RPL_PENDING = (1 << 1), /* flowc credits due back */ | EO_FLOWC_RPL_PENDING = (1 << 1), /* flowc credits due back */ | ||||
EO_SND_TAG_REF = (1 << 2), /* kernel has a ref on us */ | EO_SND_TAG_REF = (1 << 2), /* kernel has a ref on us */ | ||||
EO_FLUSH_RPL_PENDING = (1 << 3), /* credit flush rpl due back */ | EO_FLUSH_RPL_PENDING = (1 << 3), /* credit flush rpl due back */ | ||||
}; | }; | ||||
struct cxgbe_snd_tag { | struct cxgbe_snd_tag { | ||||
struct m_snd_tag com; | struct m_snd_tag com; | ||||
int type; | |||||
}; | |||||
struct cxgbe_rate_tag { | |||||
struct cxgbe_snd_tag com; | |||||
struct adapter *adapter; | struct adapter *adapter; | ||||
u_int flags; | u_int flags; | ||||
struct mtx lock; | struct mtx lock; | ||||
int port_id; | int port_id; | ||||
int etid; | int etid; | ||||
struct mbufq pending_tx, pending_fwack; | struct mbufq pending_tx, pending_fwack; | ||||
int plen; | int plen; | ||||
struct sge_wrq *eo_txq; | struct sge_wrq *eo_txq; | ||||
Show All 9 Lines | |||||
static inline struct cxgbe_snd_tag * | static inline struct cxgbe_snd_tag * | ||||
mst_to_cst(struct m_snd_tag *t) | mst_to_cst(struct m_snd_tag *t) | ||||
{ | { | ||||
return (__containerof(t, struct cxgbe_snd_tag, com)); | return (__containerof(t, struct cxgbe_snd_tag, com)); | ||||
} | } | ||||
static inline struct cxgbe_rate_tag * | |||||
mst_to_crt(struct m_snd_tag *t) | |||||
{ | |||||
return ((struct cxgbe_rate_tag *)mst_to_cst(t)); | |||||
} | |||||
union etid_entry { | union etid_entry { | ||||
struct cxgbe_snd_tag *cst; | struct cxgbe_rate_tag *cst; | ||||
union etid_entry *next; | union etid_entry *next; | ||||
}; | }; | ||||
/* | /* | ||||
* Holds the size, base address, start, end, etc. of various types of TIDs. The | * Holds the size, base address, start, end, etc. of various types of TIDs. The | ||||
* tables themselves are allocated dynamically. | * tables themselves are allocated dynamically. | ||||
*/ | */ | ||||
struct tid_info { | struct tid_info { | ||||
▲ Show 20 Lines • Show All 100 Lines • ▼ Show 20 Lines | struct tom_tunables { | ||||
int tls; | int tls; | ||||
int *tls_rx_ports; | int *tls_rx_ports; | ||||
int num_tls_rx_ports; | int num_tls_rx_ports; | ||||
int tx_align; | int tx_align; | ||||
int tx_zcopy; | int tx_zcopy; | ||||
int cop_managed_offloading; | int cop_managed_offloading; | ||||
int autorcvbuf_inc; | int autorcvbuf_inc; | ||||
}; | }; | ||||
/* iWARP driver tunables */ | /* iWARP driver tunables */ | ||||
struct iw_tunables { | struct iw_tunables { | ||||
int wc_en; | int wc_en; | ||||
}; | }; | ||||
struct tls_tunables { | |||||
int inline_keys; | |||||
int combo_wrs; | |||||
}; | |||||
#ifdef TCP_OFFLOAD | #ifdef TCP_OFFLOAD | ||||
int t4_register_uld(struct uld_info *); | int t4_register_uld(struct uld_info *); | ||||
int t4_unregister_uld(struct uld_info *); | int t4_unregister_uld(struct uld_info *); | ||||
int t4_activate_uld(struct adapter *, int); | int t4_activate_uld(struct adapter *, int); | ||||
int t4_deactivate_uld(struct adapter *, int); | int t4_deactivate_uld(struct adapter *, int); | ||||
int uld_active(struct adapter *, int); | int uld_active(struct adapter *, int); | ||||
#endif | #endif | ||||
#endif | #endif |