sge_txq
struct sge_txq *txq; /* NIC tx queues */
void t4_mac_tx_update(struct port_info *pi, struct sge_txq *txq);
struct sge_txq *txq =
struct sge_txq *txq = &sc->sge.txq[pi->first_txq];
struct sge_txq *txq;
t4_mac_tx_update(struct port_info *pi, struct sge_txq *txq)
struct sge_txq *txq = (struct sge_txq *)rh;
s->txq = kmem_zalloc(s->ntxq * sizeof (struct sge_txq), KM_SLEEP);
kmem_free(s->txq, s->ntxq * sizeof (struct sge_txq));
static int alloc_txq(struct port_info *pi, struct sge_txq *txq, int idx);
static int free_txq(struct port_info *pi, struct sge_txq *txq);
static int get_frame_txinfo(struct sge_txq *txq, mblk_t **fp,
static inline int fits_in_txb(struct sge_txq *txq, int len, int *waste);
static inline int copy_into_txb(struct sge_txq *txq, mblk_t *m, int len,
static inline int add_mblk(struct sge_txq *txq, struct txinfo *txinfo,
static void free_txinfo_resources(struct sge_txq *txq, struct txinfo *txinfo);
static int add_to_txpkts(struct sge_txq *txq, struct txpkts *txpkts, mblk_t *m,
static void write_txpkts_wr(struct sge_txq *txq, struct txpkts *txpkts);
static int write_txpkt_wr(struct port_info *pi, struct sge_txq *txq, mblk_t *m,
static void t4_write_flush_wr(struct sge_txq *);
static inline void write_ulp_cpl_sgl(struct port_info *pi, struct sge_txq *txq,
static void t4_tx_ring_db(struct sge_txq *);
static uint_t t4_tx_reclaim_descs(struct sge_txq *, uint_t, mblk_t **);
static kstat_t *setup_txq_kstats(struct port_info *pi, struct sge_txq *txq,
alloc_txq(struct port_info *pi, struct sge_txq *txq, int idx)
free_txq(struct port_info *pi, struct sge_txq *txq)
get_frame_txinfo(struct sge_txq *txq, mblk_t **fp, struct txinfo *txinfo,
fits_in_txb(struct sge_txq *txq, int len, int *waste)
copy_into_txb(struct sge_txq *txq, mblk_t *m, int len, struct txinfo *txinfo)
add_mblk(struct sge_txq *txq, struct txinfo *txinfo, mblk_t *m, int len)
free_txinfo_resources(struct sge_txq *txq, struct txinfo *txinfo)
add_to_txpkts(struct sge_txq *txq, struct txpkts *txpkts, mblk_t *m,
t4_tx_incr_pending(struct sge_txq *txq, uint_t ndesc)
write_txpkts_wr(struct sge_txq *txq, struct txpkts *txpkts)
write_txpkt_wr(struct port_info *pi, struct sge_txq *txq, mblk_t *m,
t4_write_flush_wr(struct sge_txq *txq)
write_ulp_cpl_sgl(struct port_info *pi, struct sge_txq *txq,
t4_tx_ring_db(struct sge_txq *txq)
t4_tx_reclaim_descs(struct sge_txq *txq, uint_t howmany, mblk_t **defer_freemp)
struct sge_txq *txq = (struct sge_txq *)(*t4_eqmap_slot(sc, qid));
struct sge_txq *, txq, struct cpl_sge_egr_update *, cpl);
setup_txq_kstats(struct port_info *pi, struct sge_txq *txq, int idx)
struct sge_txq *txq = ksp->ks_private;
struct sge_txq *txq;
struct sge_txq *txq;
struct sge_txq *txq = (struct sge_txq *)arg;