SFXGE_TX_NDESCS
#define SFXGE_TXQ_UNBLOCK_LEVEL1 (EFX_TXQ_LIMIT(SFXGE_TX_NDESCS) / 4)
evqX_size = sp->s_rxq_size + SFXGE_TX_NDESCS;
evq0_size = evqX_size + SFXGE_TX_NDESCS; /* only IP checksum TXQ */
evq0_size += SFXGE_TX_NDESCS; /* no checksums */
stop = (id + 1) & (SFXGE_TX_NDESCS - 1);
id = stp->st_pending & (SFXGE_TX_NDESCS - 1);
delta = (stop >= id) ? (stop - id) : (SFXGE_TX_NDESCS - id + stop);
bzero(esmp->esm_base, EFX_TXQ_SIZE(SFXGE_TX_NDESCS));
EFX_TXQ_NBUFS(SFXGE_TX_NDESCS))) != 0)
SFXGE_TX_NDESCS, stp->st_id, flags, sep->se_eep,
EFX_TXQ_NBUFS(SFXGE_TX_NDESCS));
EFX_TXQ_LIMIT(SFXGE_TX_NDESCS));
EFX_TXQ_LIMIT(SFXGE_TX_NDESCS)) {
EFX_TXQ_LIMIT(SFXGE_TX_NDESCS));
if (stp->st_n == EFX_TXQ_LIMIT(SFXGE_TX_NDESCS)) {
id = stp->st_added & (SFXGE_TX_NDESCS - 1);
if ((lss / mss) >= (EFX_TXQ_LIMIT(SFXGE_TX_NDESCS) / 2)) {
id = stp->st_added & (SFXGE_TX_NDESCS - 1);
id = completed++ & (SFXGE_TX_NDESCS - 1);
EFX_TXQ_NBUFS(SFXGE_TX_NDESCS));
dma_attr.sdba_length = EFX_TXQ_SIZE(SFXGE_TX_NDESCS);
dma_attr.sdba_maxcookies = EFX_TXQ_NBUFS(SFXGE_TX_NDESCS);
if ((rc = sfxge_sram_buf_tbl_alloc(sp, EFX_TXQ_NBUFS(SFXGE_TX_NDESCS),
EFX_TXQ_LIMIT(SFXGE_TX_NDESCS), kmflags)) == NULL) {
SFXGE_TX_NDESCS, kmflags)) == NULL) {
SFXGE_TX_NDESCS, kmflags)) == NULL) {
SFXGE_TX_NDESCS, kmflags)) == NULL) {
kmem_free(stp->st_stbp, sizeof (sfxge_tx_buffer_t *) * SFXGE_TX_NDESCS);
sizeof (sfxge_tx_mapping_t *) * SFXGE_TX_NDESCS);
EFX_TXQ_LIMIT(SFXGE_TX_NDESCS));
sfxge_sram_buf_tbl_free(sp, stp->st_id, EFX_TXQ_NBUFS(SFXGE_TX_NDESCS));
kmem_free(stp->st_mp, sizeof (mblk_t *) * SFXGE_TX_NDESCS);
kmem_free(stp->st_stbp, sizeof (sfxge_tx_buffer_t *) * SFXGE_TX_NDESCS);
sizeof (sfxge_tx_mapping_t *) * SFXGE_TX_NDESCS);
EFX_TXQ_LIMIT(SFXGE_TX_NDESCS));
sfxge_sram_buf_tbl_free(sp, stp->st_id, EFX_TXQ_NBUFS(SFXGE_TX_NDESCS));
id = reaped++ & (SFXGE_TX_NDESCS - 1);
id = stp->st_added & (SFXGE_TX_NDESCS - 1);
available = EFX_TXQ_LIMIT(SFXGE_TX_NDESCS) - level;
id = stp->st_added & (SFXGE_TX_NDESCS - 1);
if (((stp->st_added - 1) & (SFXGE_TX_NDESCS - 1)) != id) {
id = (stp->st_added - 1) & (SFXGE_TX_NDESCS - 1);
available = EFX_TXQ_LIMIT(SFXGE_TX_NDESCS) - level;