Changeset View
Changeset View
Standalone View
Standalone View
head/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 120 Lines • Show Last 20 Lines |