Lines Matching refs:stmp
206 sfxge_tx_mapping_t *stmp = buf; in sfxge_tx_mapping_ctor() local
213 stmp->stm_sp = sp; in sfxge_tx_mapping_ctor()
218 NULL, &(stmp->stm_dma_handle)); in sfxge_tx_mapping_ctor()
227 stmp->stm_sp = NULL; in sfxge_tx_mapping_ctor()
229 SFXGE_OBJ_CHECK(stmp, sfxge_tx_mapping_t); in sfxge_tx_mapping_ctor()
237 sfxge_tx_mapping_t *stmp = buf; in sfxge_tx_mapping_dtor() local
239 ASSERT3P(stmp->stm_sp, ==, arg); in sfxge_tx_mapping_dtor()
242 ddi_dma_free_handle(&(stmp->stm_dma_handle)); in sfxge_tx_mapping_dtor()
243 stmp->stm_dma_handle = NULL; in sfxge_tx_mapping_dtor()
245 stmp->stm_sp = NULL; in sfxge_tx_mapping_dtor()
247 SFXGE_OBJ_CHECK(stmp, sfxge_tx_mapping_t); in sfxge_tx_mapping_dtor()
591 sfxge_tx_qfmp_put(sfxge_txq_t *stp, sfxge_tx_mapping_t *stmp) in sfxge_tx_qfmp_put() argument
595 ASSERT3P(stmp->stm_next, ==, NULL); in sfxge_tx_qfmp_put()
596 ASSERT3P(stmp->stm_mp, ==, NULL); in sfxge_tx_qfmp_put()
597 ASSERT3P(stmp->stm_base, ==, NULL); in sfxge_tx_qfmp_put()
598 ASSERT3U(stmp->stm_off, ==, 0); in sfxge_tx_qfmp_put()
599 ASSERT3U(stmp->stm_size, ==, 0); in sfxge_tx_qfmp_put()
601 stmp->stm_next = stfp->stf_stmp; in sfxge_tx_qfmp_put()
602 stfp->stf_stmp = stmp; in sfxge_tx_qfmp_put()
609 sfxge_tx_mapping_t *stmp; in sfxge_tx_qfmp_get() local
612 stmp = stfp->stf_stmp; in sfxge_tx_qfmp_get()
613 if (stmp == NULL) { in sfxge_tx_qfmp_get()
618 stfp->stf_stmp = stmp->stm_next; in sfxge_tx_qfmp_get()
619 stmp->stm_next = NULL; in sfxge_tx_qfmp_get()
628 return (stmp); in sfxge_tx_qfmp_get()
636 sfxge_tx_mapping_t *stmp; in sfxge_tx_qfmp_empty() local
640 stmp = stfp->stf_stmp; in sfxge_tx_qfmp_empty()
643 while (stmp != NULL) { in sfxge_tx_qfmp_empty()
646 next = stmp->stm_next; in sfxge_tx_qfmp_empty()
647 stmp->stm_next = NULL; in sfxge_tx_qfmp_empty()
652 kmem_cache_free(sp->s_tmc, stmp); in sfxge_tx_qfmp_empty()
654 stmp = next; in sfxge_tx_qfmp_empty()
662 sfxge_tx_msgb_unbind(sfxge_tx_mapping_t *stmp) in sfxge_tx_msgb_unbind() argument
664 bzero(stmp->stm_addr, sizeof (uint64_t) * SFXGE_TX_MAPPING_NADDR); in sfxge_tx_msgb_unbind()
665 stmp->stm_off = 0; in sfxge_tx_msgb_unbind()
667 (void) ddi_dma_unbind_handle(stmp->stm_dma_handle); in sfxge_tx_msgb_unbind()
669 stmp->stm_size = 0; in sfxge_tx_msgb_unbind()
670 stmp->stm_base = NULL; in sfxge_tx_msgb_unbind()
672 stmp->stm_mp = NULL; in sfxge_tx_msgb_unbind()
682 sfxge_tx_msgb_bind(mblk_t *mp, sfxge_tx_mapping_t *stmp) in sfxge_tx_msgb_bind() argument
693 ASSERT(stmp->stm_mp == NULL); in sfxge_tx_msgb_bind()
694 stmp->stm_mp = mp; in sfxge_tx_msgb_bind()
696 stmp->stm_base = (caddr_t)(mp->b_rptr); in sfxge_tx_msgb_bind()
697 stmp->stm_size = MBLKL(mp); in sfxge_tx_msgb_bind()
700 rc = ddi_dma_addr_bind_handle(stmp->stm_dma_handle, NULL, in sfxge_tx_msgb_bind()
701 stmp->stm_base, stmp->stm_size, DDI_DMA_WRITE | DDI_DMA_STREAMING, in sfxge_tx_msgb_bind()
713 stmp->stm_addr[n++] = dmac.dmac_laddress & SFXGE_TX_DESCMASK; in sfxge_tx_msgb_bind()
716 stmp->stm_off = dmac.dmac_laddress & SFXGE_TX_DESCOFFSET; in sfxge_tx_msgb_bind()
718 size = MIN(SFXGE_TX_DESCSIZE - stmp->stm_off, dmac.dmac_size); in sfxge_tx_msgb_bind()
729 ddi_dma_nextcookie(stmp->stm_dma_handle, &dmac); in sfxge_tx_msgb_bind()
734 stmp->stm_addr[n++] = dmac.dmac_laddress; in sfxge_tx_msgb_bind()
748 stmp->stm_size = 0; in sfxge_tx_msgb_bind()
749 stmp->stm_base = NULL; in sfxge_tx_msgb_bind()
751 stmp->stm_mp = NULL; in sfxge_tx_msgb_bind()
766 sfxge_tx_mapping_t *stmp; in sfxge_tx_qreap() local
773 if ((stmp = stp->st_stmp[id]) != NULL) { in sfxge_tx_qreap()
780 next = stmp->stm_next; in sfxge_tx_qreap()
781 stmp->stm_next = NULL; in sfxge_tx_qreap()
783 sfxge_tx_qfmp_put(stp, stmp); in sfxge_tx_qreap()
785 stmp = next; in sfxge_tx_qreap()
786 } while (stmp != NULL); in sfxge_tx_qreap()
815 sfxge_tx_mapping_t *stmp; in sfxge_tx_qlist_abort() local
824 stmp = stp->st_stmp[id]; in sfxge_tx_qlist_abort()
828 while (stmp != NULL) { in sfxge_tx_qlist_abort()
831 next = stmp->stm_next; in sfxge_tx_qlist_abort()
832 stmp->stm_next = NULL; in sfxge_tx_qlist_abort()
834 if (stmp->stm_mp != NULL) in sfxge_tx_qlist_abort()
835 sfxge_tx_msgb_unbind(stmp); in sfxge_tx_qlist_abort()
837 sfxge_tx_qfmp_put(stp, stmp); in sfxge_tx_qlist_abort()
839 stmp = next; in sfxge_tx_qlist_abort()
907 sfxge_tx_mapping_t *stmp; in sfxge_tx_qlist_post() local
911 stmp = stp->st_stmp[id]; in sfxge_tx_qlist_post()
923 stp->st_stmp[id] = stmp; in sfxge_tx_qlist_post()
1244 sfxge_tx_qmapping_add(sfxge_txq_t *stp, sfxge_tx_mapping_t *stmp, in sfxge_tx_qmapping_add() argument
1252 ASSERT3U(*offp, <, stmp->stm_size); in sfxge_tx_qmapping_add()
1255 mp = stmp->stm_mp; in sfxge_tx_qmapping_add()
1257 ASSERT3P(stmp->stm_base, ==, mp->b_rptr); in sfxge_tx_qmapping_add()
1258 ASSERT3U(stmp->stm_size, ==, MBLKL(mp)); in sfxge_tx_qmapping_add()
1260 mapping_off = stmp->stm_off + *offp; in sfxge_tx_qmapping_add()
1261 mapping_size = stmp->stm_size - *offp; in sfxge_tx_qmapping_add()
1273 ASSERT((stmp->stm_addr[page] & SFXGE_TX_DESCMASK) != 0); in sfxge_tx_qmapping_add()
1287 ebp->eb_addr = stmp->stm_addr[page] + in sfxge_tx_qmapping_add()
1308 ASSERT3U(*offp, <=, stmp->stm_size); in sfxge_tx_qmapping_add()
1407 sfxge_tx_mapping_t *stmp; in sfxge_tx_qpayload_fragment() local
1413 stmp = stp->st_stmp[id]; in sfxge_tx_qpayload_fragment()
1432 if (stmp == NULL || stmp->stm_mp != mp) { in sfxge_tx_qpayload_fragment()
1449 stmp = sfxge_tx_qfmp_get(stp); in sfxge_tx_qpayload_fragment()
1450 if (stmp == NULL) { in sfxge_tx_qpayload_fragment()
1455 if ((stmp = kmem_cache_alloc(sp->s_tmc, in sfxge_tx_qpayload_fragment()
1461 stmp->stm_next = stp->st_stmp[id]; in sfxge_tx_qpayload_fragment()
1462 stp->st_stmp[id] = stmp; in sfxge_tx_qpayload_fragment()
1465 if (sfxge_tx_msgb_bind(mp, stmp) != 0) in sfxge_tx_qpayload_fragment()
1468 ASSERT3P(stmp->stm_mp, ==, mp); in sfxge_tx_qpayload_fragment()
1481 rc = sfxge_tx_qmapping_add(stp, stmp, &off, &size); in sfxge_tx_qpayload_fragment()
1786 sfxge_tx_mapping_t *stmp; in sfxge_tx_qpacket_fragment() local
1803 stmp = NULL; in sfxge_tx_qpacket_fragment()
1813 ASSERT(stmp == NULL || stmp->stm_mp != mp); in sfxge_tx_qpacket_fragment()
1835 stmp = sfxge_tx_qfmp_get(stp); in sfxge_tx_qpacket_fragment()
1836 if (stmp == NULL) { in sfxge_tx_qpacket_fragment()
1841 if ((stmp = kmem_cache_alloc(sp->s_tmc, in sfxge_tx_qpacket_fragment()
1847 stmp->stm_next = stp->st_stmp[id]; in sfxge_tx_qpacket_fragment()
1848 stp->st_stmp[id] = stmp; in sfxge_tx_qpacket_fragment()
1851 if (sfxge_tx_msgb_bind(mp, stmp) != 0) in sfxge_tx_qpacket_fragment()
1865 rc = sfxge_tx_qmapping_add(stp, stmp, &off, &size); in sfxge_tx_qpacket_fragment()
2356 sfxge_tx_mapping_t *stmp; in sfxge_tx_qcomplete() local
2360 if ((stmp = stp->st_stmp[id]) != NULL) { in sfxge_tx_qcomplete()
2365 ASSERT(stmp->stm_mp != NULL); in sfxge_tx_qcomplete()
2366 sfxge_tx_msgb_unbind(stmp); in sfxge_tx_qcomplete()
2368 stmp = stmp->stm_next; in sfxge_tx_qcomplete()
2369 } while (stmp != NULL); in sfxge_tx_qcomplete()