Lines Matching refs:st
2072 struct bwi_txstats_data *st;
2076 st = malloc(sizeof(*st), M_DEVBUF, M_NOWAIT | M_ZERO);
2077 if (st == NULL) {
2081 sc->sc_txstats = st;
2099 &st->stats_ring_dtag);
2106 error = bus_dmamem_alloc(st->stats_ring_dtag, &st->stats_ring,
2108 &st->stats_ring_dmap);
2112 bus_dma_tag_destroy(st->stats_ring_dtag);
2113 st->stats_ring_dtag = NULL;
2117 error = bus_dmamap_load(st->stats_ring_dtag, st->stats_ring_dmap,
2118 st->stats_ring, dma_size,
2119 bwi_dma_ring_addr, &st->stats_ring_paddr,
2123 bus_dmamem_free(st->stats_ring_dtag, st->stats_ring,
2124 st->stats_ring_dmap);
2125 bus_dma_tag_destroy(st->stats_ring_dtag);
2126 st->stats_ring_dtag = NULL;
2147 &st->stats_dtag);
2153 error = bus_dmamem_alloc(st->stats_dtag, (void **)&st->stats,
2155 &st->stats_dmap);
2158 bus_dma_tag_destroy(st->stats_dtag);
2159 st->stats_dtag = NULL;
2163 error = bus_dmamap_load(st->stats_dtag, st->stats_dmap, st->stats,
2164 dma_size, bwi_dma_ring_addr, &st->stats_paddr,
2168 bus_dmamem_free(st->stats_dtag, st->stats, st->stats_dmap);
2169 bus_dma_tag_destroy(st->stats_dtag);
2170 st->stats_dtag = NULL;
2174 st->stats_ctrl_base = ctrl_base;
2181 struct bwi_txstats_data *st;
2185 st = sc->sc_txstats;
2187 if (st->stats_ring_dtag != NULL) {
2188 bus_dmamap_unload(st->stats_ring_dtag, st->stats_ring_dmap);
2189 bus_dmamem_free(st->stats_ring_dtag, st->stats_ring,
2190 st->stats_ring_dmap);
2191 bus_dma_tag_destroy(st->stats_ring_dtag);
2194 if (st->stats_dtag != NULL) {
2195 bus_dmamap_unload(st->stats_dtag, st->stats_dmap);
2196 bus_dmamem_free(st->stats_dtag, st->stats, st->stats_dmap);
2197 bus_dma_tag_destroy(st->stats_dtag);
2200 free(st, M_DEVBUF);
2436 struct bwi_txstats_data *st = sc->sc_txstats;
2440 bzero(st->stats, BWI_TXSTATS_NDESC * sizeof(struct bwi_txstats));
2441 bus_dmamap_sync(st->stats_dtag, st->stats_dmap, BUS_DMASYNC_PREWRITE);
2443 st->stats_idx = 0;
2445 stats_paddr = st->stats_paddr;
2447 bwi_setup_desc32(sc, st->stats_ring, BWI_TXSTATS_NDESC, i,
2451 bus_dmamap_sync(st->stats_ring_dtag, st->stats_ring_dmap,
2454 bwi_init_rxdesc_ring32(sc, st->stats_ctrl_base,
2455 st->stats_ring_paddr, 0, BWI_TXSTATS_NDESC);
3407 struct bwi_txstats_data *st = sc->sc_txstats;
3410 bus_dmamap_sync(st->stats_dtag, st->stats_dmap, BUS_DMASYNC_POSTREAD);
3412 idx = st->stats_idx;
3414 const struct bwi_txstats *stats = &st->stats[idx];
3427 st->stats_idx = idx;