Lines Matching refs:txs

123 	struct glc_txsoft *txs;
229 txs = &sc->sc_txsoft[i];
230 txs->txs_mbuf = NULL;
231 err = bus_dmamap_create(sc->sc_txdma_tag, 0, &txs->txs_dmamap);
237 STAILQ_INSERT_TAIL(&sc->sc_txfreeq, txs, txs_q);
295 struct glc_txsoft *txs;
323 while ((txs = STAILQ_FIRST(&sc->sc_txdirtyq)) != NULL) {
325 bus_dmamap_unload(sc->sc_txdma_tag, txs->txs_dmamap);
327 if (txs->txs_mbuf != NULL) {
328 m_freem(txs->txs_mbuf);
329 txs->txs_mbuf = NULL;
332 STAILQ_INSERT_TAIL(&sc->sc_txfreeq, txs, txs_q);
610 struct glc_txsoft *txs;
623 if ((txs = STAILQ_FIRST(&sc->sc_txfreeq)) == NULL) {
642 err = bus_dmamap_load_mbuf_sg(sc->sc_txdma_tag, txs->txs_dmamap,
660 txs->txs_ndescs = nsegs;
661 txs->txs_firstdesc = sc->next_txdma_slot;
663 idx = txs->txs_firstdesc;
665 txs->txs_firstdesc*sizeof(struct glc_dmadesc);
676 txs->txs_lastdesc = idx;
691 if (txs->txs_firstdesc != 0)
692 idx = txs->txs_firstdesc - 1;
697 sc->first_used_txdma_slot = txs->txs_firstdesc;
699 bus_dmamap_sync(sc->sc_txdma_tag, txs->txs_dmamap,
704 STAILQ_INSERT_TAIL(&sc->sc_txdirtyq, txs, txs_q);
705 txs->txs_mbuf = *m_head;
788 struct glc_txsoft *txs;
794 while ((txs = STAILQ_FIRST(&sc->sc_txdirtyq)) != NULL) {
795 if (sc->sc_txdmadesc[txs->txs_lastdesc].cmd_stat
800 bus_dmamap_unload(sc->sc_txdma_tag, txs->txs_dmamap);
801 sc->bsy_txdma_slots -= txs->txs_ndescs;
803 if (txs->txs_mbuf != NULL) {
804 m_freem(txs->txs_mbuf);
805 txs->txs_mbuf = NULL;
808 if ((sc->sc_txdmadesc[txs->txs_lastdesc].cmd_stat & 0xf0000000)
815 if (sc->sc_txdmadesc[txs->txs_lastdesc].cmd_stat &
819 STAILQ_INSERT_TAIL(&sc->sc_txfreeq, txs, txs_q);
824 if (txs != NULL)
825 sc->first_used_txdma_slot = txs->txs_firstdesc;
829 if (kickstart || txs != NULL) {
833 txs->txs_firstdesc*sizeof(struct glc_dmadesc), 0);