Symbol: ring
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1080
pci_viona_ring_set_msix(void *vsc, int ring)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1089
if (!VIONA_RING_VALID(sc, ring))
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1092
vrm.rm_index = ring;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1095
tab_index = sc->vsc_queues[ring].vq_msix_idx;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1110
WPRINTF("ioctl viona set_msi %d failed %d", ring, errno);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1174
int ring = vq->vq_num;
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1177
if (!VIONA_RING_VALID(sc, ring))
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1180
error = ioctl(sc->vsc_vnafd, VNA_IOC_RING_KICK, ring);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
1182
WPRINTF("ioctl viona ring 0x%x kick failed %d", ring, errno);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
230
pci_viona_ring_reset(struct pci_viona_softc *sc, int ring)
usr/src/cmd/bhyve/common/pci_virtio_viona.c
232
DPRINTF("viona: ring reset 0x%x", ring);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
236
res = ioctl(sc->vsc_vnafd, VNA_IOC_RING_RESET, ring);
usr/src/cmd/bhyve/common/pci_virtio_viona.c
241
ring, errno);
usr/src/cmd/bhyve/common/virtio.c
820
req.idx = next = vq->vq_avail->ring[idx & (vq->vq_qsize - 1)];
usr/src/cmd/bhyve/common/virtio.c
927
vue = &vuh->ring[vq->vq_next_used++ & mask];
usr/src/cmd/bhyve/common/virtio.h
397
(*(uint16_t *)&(vq)->vq_used->ring[(vq)->vq_qsize])
usr/src/cmd/bhyve/common/virtio.h
399
((vq)->vq_avail->ring[(vq)->vq_qsize])
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
102
ring_init(Ring *ring, unsigned char *buffer, int count)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
104
(void) memset(ring, 0, sizeof (*ring));
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
106
ring->size = count;
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
108
ring->supply = ring->consume = ring->bottom = buffer;
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
110
ring->top = ring->bottom+ring->size;
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
112
ring->clearto = 0;
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
124
ring_mark(Ring *ring)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
126
ring->mark = ring_decrement(ring, ring->supply, 1);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
134
ring_at_mark(Ring *ring)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
136
if (ring->mark == ring->consume) {
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
148
ring_clear_mark(Ring *ring)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
150
ring->mark = 0;
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
157
ring_supplied(Ring *ring, int count)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
159
ring->supply = ring_increment(ring, ring->supply, count);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
160
ring->supplytime = ++ring_clock;
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
167
ring_consumed(Ring *ring, int count)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
172
if (ring->mark &&
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
173
(ring_subtract(ring, ring->mark, ring->consume) < count)) {
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
174
ring->mark = 0;
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
177
if (ring->consume < ring->clearto &&
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
178
ring->clearto <= ring->consume + count)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
179
ring->clearto = 0;
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
180
else if (ring->consume + count > ring->top &&
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
181
ring->bottom <= ring->clearto)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
182
ring->clearto = 0;
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
184
ring->consume = ring_increment(ring, ring->consume, count);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
185
ring->consumetime = ++ring_clock;
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
189
if (ring_empty(ring)) {
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
190
ring->consume = ring->supply = ring->bottom;
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
201
ring_empty_count(Ring *ring)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
203
if (ring_empty(ring)) { /* if empty */
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
204
return (ring->size);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
206
return (ring_subtract(ring, ring->consume, ring->supply));
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
212
ring_empty_consecutive(Ring *ring)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
214
if ((ring->consume < ring->supply) || ring_empty(ring)) {
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
219
return (ring_subtract(ring, ring->top, ring->supply));
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
224
return (ring_subtract(ring, ring->consume, ring->supply));
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
234
ring_full_count(Ring *ring)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
236
if ((ring->mark == 0) || (ring->mark == ring->consume)) {
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
237
if (ring_full(ring)) {
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
238
return (ring->size); /* nothing consumed, but full */
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
240
return (ring_subtract(ring, ring->supply,
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
241
ring->consume));
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
244
return (ring_subtract(ring, ring->mark, ring->consume));
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
253
ring_full_consecutive(Ring *ring)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
255
if ((ring->mark == 0) || (ring->mark == ring->consume)) {
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
256
if ((ring->supply < ring->consume) || ring_full(ring)) {
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
257
return (ring_subtract(ring, ring->top, ring->consume));
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
259
return (ring_subtract(ring, ring->supply,
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
260
ring->consume));
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
263
if (ring->mark < ring->consume) {
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
264
return (ring_subtract(ring, ring->top, ring->consume));
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
266
return (ring_subtract(ring, ring->mark, ring->consume));
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
275
ring_supply_data(Ring *ring, unsigned char *buffer, int count)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
280
i = MIN(count, ring_empty_consecutive(ring));
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
281
(void) memcpy(ring->supply, buffer, i);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
282
ring_supplied(ring, i);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
294
ring_consume_data(Ring *ring, unsigned char *buffer, int count)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
299
i = MIN(count, ring_full_consecutive(ring));
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
300
memcpy(buffer, ring->consume, i);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
301
ring_consumed(ring, i);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
309
ring_encrypt(Ring *ring, void (*encryptor)())
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
313
if (ring_empty(ring) || ring->clearto == ring->supply)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
316
if ((c = ring->clearto) == NULL)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
317
c = ring->consume;
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
319
s = ring->supply;
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
322
(*encryptor)(c, ring->top - c);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
323
(*encryptor)(ring->bottom, s - ring->bottom);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
327
ring->clearto = ring->supply;
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
331
ring_clearto(Ring *ring)
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
333
if (!ring_empty(ring))
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
334
ring->clearto = ring->supply;
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.c
336
ring->clearto = 0;
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.h
74
extern int ring_init(Ring *ring, unsigned char *buffer, int count);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.h
77
extern void ring_supply_data(Ring *ring, unsigned char *buffer, int count);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.h
79
extern void ring_consume_data(Ring *ring, unsigned char *buffer, int count);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.h
83
extern void ring_supplied(Ring *ring, int count);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.h
84
extern void ring_consumed(Ring *ring, int count);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.h
87
extern int ring_at_mark(Ring *ring);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.h
88
extern int ring_empty_count(Ring *ring);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.h
89
extern int ring_empty_consecutive(Ring *ring);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.h
90
extern int ring_full_count(Ring *ring);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.h
91
extern int ring_full_consecutive(Ring *ring);
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.h
93
extern void ring_encrypt(Ring *ring, void (*func)());
usr/src/cmd/cmd-inet/usr.bin/telnet/ring.h
94
extern void ring_clearto(Ring *ring);
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
247
Ring *ring;
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
252
ring = va_arg(ap, Ring *);
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
265
ring_supply_data(ring, buffer, ptr-buffer);
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
266
ring_supply_data(ring, string, strlen(string));
usr/src/cmd/cmd-inet/usr.bin/telnet/telnet.c
282
ring_supply_data(ring, buffer, ptr-buffer);
usr/src/cmd/cmd-inet/usr.lib/in.chargend/in.chargend.c
108
static char *rs = ring;
usr/src/cmd/cmd-inet/usr.lib/in.chargend/in.chargend.c
112
rs = ring;
usr/src/cmd/cmd-inet/usr.lib/in.chargend/in.chargend.c
116
rp = ring;
usr/src/cmd/cmd-inet/usr.lib/in.chargend/in.chargend.c
120
rp = ring;
usr/src/cmd/cmd-inet/usr.lib/in.chargend/in.chargend.c
46
static char ring[RINGSIZE];
usr/src/cmd/cmd-inet/usr.lib/in.chargend/in.chargend.c
55
endring = ring;
usr/src/cmd/cmd-inet/usr.lib/in.chargend/in.chargend.c
70
char *rs = ring;
usr/src/cmd/cmd-inet/usr.lib/in.chargend/in.chargend.c
76
rs = ring;
usr/src/cmd/cmd-inet/usr.lib/in.chargend/in.chargend.c
83
rp = ring;
usr/src/cmd/cmd-inet/usr.lib/in.chargend/in.chargend.c
89
rp = ring;
usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_ether.c
798
ring(rh->rd[ii]));
usr/src/cmd/cmd-inet/usr.sbin/snoop/snoop_ether.c
801
ring(rh->rd[ii]), bridge(rh->rd[ii]));
usr/src/cmd/mailx/cmd2.c
649
char **ap, **ring;
usr/src/cmd/mailx/cmd2.c
659
ring = (char **)salloc((count + 1) * sizeof (char *));
usr/src/cmd/mailx/cmd2.c
660
ap = ring;
usr/src/cmd/mailx/cmd2.c
665
qsort(ring, count, sizeof (char *), igcomp);
usr/src/cmd/mailx/cmd2.c
666
for (ap = ring; *ap != 0; ap++)
usr/src/cmd/mailx/cmd2.c
760
char **ap, **ring;
usr/src/cmd/mailx/cmd2.c
770
ring = (char **)salloc((count + 1) * sizeof (char *));
usr/src/cmd/mailx/cmd2.c
771
ap = ring;
usr/src/cmd/mailx/cmd2.c
776
qsort((char *)ring, (unsigned)count, sizeof (char *), igcomp);
usr/src/cmd/mailx/cmd2.c
777
for (ap = ring; *ap != 0; ap++)
usr/src/cmd/mdb/common/modules/mac/mac.c
1001
(void) mdb_vread(&group, sizeof (group), (uintptr_t)ring.mr_gh);
usr/src/cmd/mdb/common/modules/mac/mac.c
1012
addr, ((ring.mr_type == 1)? "RX" : "TX"),
usr/src/cmd/mdb/common/modules/mac/mac.c
1013
mac_ring_state2str(ring.mr_state), ring.mr_flag,
usr/src/cmd/mdb/common/modules/mac/mac.c
1014
ring.mr_gh, mac_ring_classify2str(ring.mr_classify_type),
usr/src/cmd/mdb/common/modules/mac/mac.c
1015
group.mrg_mh, ring.mr_srs, flent.fe_flow_name);
usr/src/cmd/mdb/common/modules/mac/mac.c
980
mac_ring_t ring;
usr/src/cmd/mdb/common/modules/mac/mac.c
992
if (mdb_vread(&ring, sizeof (ring), addr) == -1) {
usr/src/cmd/mdb/common/modules/mac/mac.c
997
if (mdb_vread(&srs, sizeof (srs), (uintptr_t)ring.mr_srs) != -1) {
usr/src/compat/bhyve/dev/virtio/virtio.h
72
uint16_t ring[]; /* size N, reported in QNUM value */
usr/src/compat/bhyve/dev/virtio/virtio.h
80
struct vring_used_elem ring[]; /* size N */
usr/src/test/util-tests/tests/ctf/test-sou.c
164
struct fellowship ring;
usr/src/uts/common/inet/ip.h
2299
#define ILL_RING_TO_XMIT_HINT(ring) ((uint32_t)(((uintptr_t)ring) >> 7))
usr/src/uts/common/io/aggr/aggr_grp.c
668
aggr_pseudo_rx_ring_t *ring;
usr/src/uts/common/io/aggr/aggr_grp.c
673
ring = rx_grp->arg_rings + j;
usr/src/uts/common/io/aggr/aggr_grp.c
674
if (!(ring->arr_flags & MAC_PSEUDO_RING_INUSE))
usr/src/uts/common/io/aggr/aggr_grp.c
684
ring->arr_flags |= MAC_PSEUDO_RING_INUSE;
usr/src/uts/common/io/aggr/aggr_grp.c
685
ring->arr_hw_rh = hw_rh;
usr/src/uts/common/io/aggr/aggr_grp.c
686
ring->arr_port = port;
usr/src/uts/common/io/aggr/aggr_grp.c
687
ring->arr_grp = rx_grp;
usr/src/uts/common/io/aggr/aggr_grp.c
695
ring->arr_flags &= ~MAC_PSEUDO_RING_INUSE;
usr/src/uts/common/io/aggr/aggr_grp.c
696
ring->arr_hw_rh = NULL;
usr/src/uts/common/io/aggr/aggr_grp.c
697
ring->arr_port = NULL;
usr/src/uts/common/io/aggr/aggr_grp.c
698
ring->arr_grp = NULL;
usr/src/uts/common/io/aggr/aggr_grp.c
704
ASSERT3P(ring->arr_rh, !=, NULL);
usr/src/uts/common/io/aggr/aggr_grp.c
706
(void *)port, (mac_resource_handle_t)ring);
usr/src/uts/common/io/aggr/aggr_grp.c
718
aggr_pseudo_rx_ring_t *ring = rx_grp->arg_rings + j;
usr/src/uts/common/io/aggr/aggr_grp.c
720
if (!(ring->arr_flags & MAC_PSEUDO_RING_INUSE) ||
usr/src/uts/common/io/aggr/aggr_grp.c
721
ring->arr_hw_rh != hw_rh) {
usr/src/uts/common/io/aggr/aggr_grp.c
725
mac_group_rem_ring(rx_grp->arg_gh, ring->arr_rh);
usr/src/uts/common/io/aggr/aggr_grp.c
727
ring->arr_flags &= ~MAC_PSEUDO_RING_INUSE;
usr/src/uts/common/io/aggr/aggr_grp.c
728
ring->arr_hw_rh = NULL;
usr/src/uts/common/io/aggr/aggr_grp.c
729
ring->arr_port = NULL;
usr/src/uts/common/io/aggr/aggr_grp.c
730
ring->arr_grp = NULL;
usr/src/uts/common/io/aggr/aggr_grp.c
877
aggr_pseudo_tx_ring_t *ring;
usr/src/uts/common/io/aggr/aggr_grp.c
883
ring = tx_grp->atg_rings + i;
usr/src/uts/common/io/aggr/aggr_grp.c
884
if (!(ring->atr_flags & MAC_PSEUDO_RING_INUSE))
usr/src/uts/common/io/aggr/aggr_grp.c
897
ring->atr_flags |= MAC_PSEUDO_RING_INUSE;
usr/src/uts/common/io/aggr/aggr_grp.c
898
ring->atr_hw_rh = hw_rh;
usr/src/uts/common/io/aggr/aggr_grp.c
899
ring->atr_port = port;
usr/src/uts/common/io/aggr/aggr_grp.c
908
ring->atr_flags &= ~MAC_PSEUDO_RING_INUSE;
usr/src/uts/common/io/aggr/aggr_grp.c
909
ring->atr_hw_rh = NULL;
usr/src/uts/common/io/aggr/aggr_grp.c
910
ring->atr_port = NULL;
usr/src/uts/common/io/aggr/aggr_grp.c
915
mac_hwring_setup(hw_rh, (mac_resource_handle_t)ring,
usr/src/uts/common/io/aggr/aggr_grp.c
930
aggr_pseudo_tx_ring_t *ring;
usr/src/uts/common/io/aggr/aggr_grp.c
934
ring = tx_grp->atg_rings + i;
usr/src/uts/common/io/aggr/aggr_grp.c
935
if (ring->atr_rh != pseudo_hw_rh)
usr/src/uts/common/io/aggr/aggr_grp.c
938
ASSERT(ring->atr_flags & MAC_PSEUDO_RING_INUSE);
usr/src/uts/common/io/aggr/aggr_grp.c
940
ring->atr_flags &= ~MAC_PSEUDO_RING_INUSE;
usr/src/uts/common/io/aggr/aggr_grp.c
941
mac_hwring_teardown(ring->atr_hw_rh);
usr/src/uts/common/io/aggr/aggr_grp.c
942
ring->atr_hw_rh = NULL;
usr/src/uts/common/io/aggr/aggr_grp.c
943
ring->atr_port = NULL;
usr/src/uts/common/io/aggr/aggr_recv.c
50
aggr_pseudo_rx_ring_t *ring = (aggr_pseudo_rx_ring_t *)mrh;
usr/src/uts/common/io/aggr/aggr_recv.c
51
mac_rx_ring(lg_mh, ring->arr_rh, mp, ring->arr_gen);
usr/src/uts/common/io/bfe/bfe.c
2677
caddr_t ring;
usr/src/uts/common/io/bfe/bfe.c
2703
&ring, &ring_len, &r->r_desc_acc_handle);
usr/src/uts/common/io/bfe/bfe.c
2714
NULL, ring, ring_len,
usr/src/uts/common/io/bfe/bfe.c
2738
r->r_desc = (void *)ring;
usr/src/uts/common/io/bge/bge_chip2.c
4211
uint64_t ring;
usr/src/uts/common/io/bge/bge_chip2.c
4441
for (ring = 0; ring < maxring; ++ring) {
usr/src/uts/common/io/bge/bge_chip2.c
4442
bge_mbx_put(bgep, SEND_RING_HOST_INDEX_REG(ring), 0);
usr/src/uts/common/io/bge/bge_chip2.c
4443
bge_mbx_put(bgep, SEND_RING_NIC_INDEX_REG(ring), 0);
usr/src/uts/common/io/bge/bge_chip2.c
4444
bge_nic_putrcb(bgep, NIC_MEM_SEND_RING(ring),
usr/src/uts/common/io/bge/bge_chip2.c
4445
&bgep->send[ring].hw_rcb);
usr/src/uts/common/io/bge/bge_chip2.c
4456
for (ring = 0; ring < maxring; ++ring)
usr/src/uts/common/io/bge/bge_chip2.c
4457
bge_nic_putrcb(bgep, NIC_MEM_RECV_RING(ring),
usr/src/uts/common/io/bge/bge_chip2.c
4458
&bgep->recv[ring].hw_rcb);
usr/src/uts/common/io/bge/bge_chip2.c
4810
for (ring = 0; ring < BGE_BUFF_RINGS_USED; ++ring)
usr/src/uts/common/io/bge/bge_chip2.c
4811
bge_mbx_put(bgep, bgep->buff[ring].chip_mbx_reg,
usr/src/uts/common/io/bge/bge_chip2.c
4812
bgep->buff[ring].rf_next);
usr/src/uts/common/io/bge/bge_hw.h
1005
#define RULE_MATCH(ring) (RECV_RULE_CTL_ENABLE | RECV_RULE_CTL_OP_EQ | \
usr/src/uts/common/io/bge/bge_hw.h
1006
RECV_RULE_CTL_CLASS((ring)))
usr/src/uts/common/io/bge/bge_hw.h
1008
#define RULE_MATCH_MASK(ring) (RULE_MATCH(ring) | RECV_RULE_CTL_MASK)
usr/src/uts/common/io/bge/bge_hw.h
1010
#define RULE_DEST_MAC_1(ring) (RULE_MATCH(ring) | \
usr/src/uts/common/io/bge/bge_hw.h
1014
#define RULE_DEST_MAC_2(ring) (RULE_MATCH_MASK(ring) | \
usr/src/uts/common/io/bge/bge_hw.h
1018
#define RULE_LOCAL_IP(ring) (RULE_MATCH(ring) | RECV_RULE_CTL_HEADER_IP | \
usr/src/uts/common/io/bge/bge_hw.h
1021
#define RULE_REMOTE_IP(ring) (RULE_MATCH(ring) | RECV_RULE_CTL_HEADER_IP | \
usr/src/uts/common/io/bge/bge_hw.h
1024
#define RULE_IP_PROTO(ring) (RULE_MATCH_MASK(ring) | \
usr/src/uts/common/io/bge/bge_hw.h
1028
#define RULE_TCP_SPORT(ring) (RULE_MATCH_MASK(ring) | \
usr/src/uts/common/io/bge/bge_hw.h
1032
#define RULE_TCP_DPORT(ring) (RULE_MATCH_MASK(ring) | \
usr/src/uts/common/io/bge/bge_hw.h
1036
#define RULE_UDP_SPORT(ring) (RULE_MATCH_MASK(ring) | \
usr/src/uts/common/io/bge/bge_hw.h
1040
#define RULE_UDP_DPORT(ring) (RULE_MATCH_MASK(ring) | \
usr/src/uts/common/io/bge/bge_hw.h
1962
#define SEND_INDEX_P(bsp, ring) (&(bsp)->index[(ring)^0].send_cons_index)
usr/src/uts/common/io/bge/bge_hw.h
1963
#define RECV_INDEX_P(bsp, ring) (&(bsp)->index[(ring)^0].recv_prod_index)
usr/src/uts/common/io/bge/bge_hw.h
1968
#define SEND_INDEX_P(bsp, ring) (&(bsp)->index[(ring)^1].send_cons_index)
usr/src/uts/common/io/bge/bge_hw.h
1969
#define RECV_INDEX_P(bsp, ring) (&(bsp)->index[(ring)^1].recv_prod_index)
usr/src/uts/common/io/bge/bge_hw.h
555
#define NIC_MEM_SEND_RING(ring) (0x0100+16*(ring))
usr/src/uts/common/io/bge/bge_hw.h
557
#define NIC_MEM_RECV_RING(ring) (0x0200+16*(ring))
usr/src/uts/common/io/bge/bge_hw.h
583
#define NIC_MEM_SHADOW_SEND_RING(ring, nslots) (0x4000 + 4*(ring)*(nslots))
usr/src/uts/common/io/bge/bge_hw.h
780
#define RECV_RING_CONS_INDEX_REG(ring) (0x0280+8*(ring))
usr/src/uts/common/io/bge/bge_hw.h
781
#define SEND_RING_HOST_INDEX_REG(ring) (0x0300+8*(ring))
usr/src/uts/common/io/bge/bge_hw.h
782
#define SEND_RING_NIC_INDEX_REG(ring) (0x0380+8*(ring))
usr/src/uts/common/io/bge/bge_hw.h
989
#define RECV_RULE_CTL_CLASS(ring) (((ring) << 8) & \
usr/src/uts/common/io/bge/bge_main2.c
1500
uint8_t ring = (uint8_t)(rrp - bgep->recv) + 1;
usr/src/uts/common/io/bge/bge_main2.c
1573
rulep[i].control = RULE_DEST_MAC_1(ring) | RECV_RULE_CTL_AND;
usr/src/uts/common/io/bge/bge_main2.c
1579
rulep[i+1].control = RULE_DEST_MAC_2(ring);
usr/src/uts/common/io/bge/bge_main2.c
2192
bge_init_buff_ring(bge_t *bgep, uint64_t ring)
usr/src/uts/common/io/bge/bge_main2.c
2220
(void *)bgep, ring));
usr/src/uts/common/io/bge/bge_main2.c
2222
brp = &bgep->buff[ring];
usr/src/uts/common/io/bge/bge_main2.c
2237
brp->hw_rcb.nic_ring_addr = nic_ring_addrs[ring];
usr/src/uts/common/io/bge/bge_main2.c
2244
brp->cons_index_p = &bsp->buff_cons_index[buff_cons_xref[ring]];
usr/src/uts/common/io/bge/bge_main2.c
2245
brp->chip_mbx_reg = mailbox_regs[ring];
usr/src/uts/common/io/bge/bge_main2.c
2270
bge_fini_buff_ring(bge_t *bgep, uint64_t ring)
usr/src/uts/common/io/bge/bge_main2.c
2276
(void *)bgep, ring));
usr/src/uts/common/io/bge/bge_main2.c
2278
brp = &bgep->buff[ring];
usr/src/uts/common/io/bge/bge_main2.c
2292
bge_init_recv_ring(bge_t *bgep, uint64_t ring)
usr/src/uts/common/io/bge/bge_main2.c
2299
(void *)bgep, ring));
usr/src/uts/common/io/bge/bge_main2.c
2305
rrp = &bgep->recv[ring];
usr/src/uts/common/io/bge/bge_main2.c
2323
rrp->prod_index_p = RECV_INDEX_P(bsp, ring);
usr/src/uts/common/io/bge/bge_main2.c
2324
rrp->chip_mbx_reg = RECV_RING_CONS_INDEX_REG(ring);
usr/src/uts/common/io/bge/bge_main2.c
2334
bge_fini_recv_ring(bge_t *bgep, uint64_t ring)
usr/src/uts/common/io/bge/bge_main2.c
2339
(void *)bgep, ring));
usr/src/uts/common/io/bge/bge_main2.c
2341
rrp = &bgep->recv[ring];
usr/src/uts/common/io/bge/bge_main2.c
2353
bge_init_send_ring(bge_t *bgep, uint64_t ring)
usr/src/uts/common/io/bge/bge_main2.c
2366
(void *)bgep, ring));
usr/src/uts/common/io/bge/bge_main2.c
2372
srp = &bgep->send[ring];
usr/src/uts/common/io/bge/bge_main2.c
2382
srp->hw_rcb.nic_ring_addr = NIC_MEM_SHADOW_SEND_RING(ring, nslots);
usr/src/uts/common/io/bge/bge_main2.c
2389
srp->cons_index_p = SEND_INDEX_P(bsp, ring);
usr/src/uts/common/io/bge/bge_main2.c
2390
srp->chip_mbx_reg = SEND_RING_HOST_INDEX_REG(ring);
usr/src/uts/common/io/bge/bge_main2.c
2448
bge_fini_send_ring(bge_t *bgep, uint64_t ring)
usr/src/uts/common/io/bge/bge_main2.c
2456
(void *)bgep, ring));
usr/src/uts/common/io/bge/bge_main2.c
2458
srp = &bgep->send[ring];
usr/src/uts/common/io/bge/bge_main2.c
2486
uint32_t ring;
usr/src/uts/common/io/bge/bge_main2.c
2493
for (ring = 0; ring < BGE_SEND_RINGS_MAX; ++ring)
usr/src/uts/common/io/bge/bge_main2.c
2494
bge_init_send_ring(bgep, ring);
usr/src/uts/common/io/bge/bge_main2.c
2495
for (ring = 0; ring < BGE_RECV_RINGS_MAX; ++ring)
usr/src/uts/common/io/bge/bge_main2.c
2496
bge_init_recv_ring(bgep, ring);
usr/src/uts/common/io/bge/bge_main2.c
2497
for (ring = 0; ring < BGE_BUFF_RINGS_MAX; ++ring)
usr/src/uts/common/io/bge/bge_main2.c
2498
bge_init_buff_ring(bgep, ring);
usr/src/uts/common/io/bge/bge_main2.c
2507
uint32_t ring;
usr/src/uts/common/io/bge/bge_main2.c
2511
for (ring = 0; ring < BGE_BUFF_RINGS_MAX; ++ring)
usr/src/uts/common/io/bge/bge_main2.c
2512
bge_fini_buff_ring(bgep, ring);
usr/src/uts/common/io/bge/bge_main2.c
2513
for (ring = 0; ring < BGE_RECV_RINGS_MAX; ++ring)
usr/src/uts/common/io/bge/bge_main2.c
2514
bge_fini_recv_ring(bgep, ring);
usr/src/uts/common/io/bge/bge_main2.c
2515
for (ring = 0; ring < BGE_SEND_RINGS_MAX; ++ring)
usr/src/uts/common/io/bge/bge_main2.c
2516
bge_fini_send_ring(bgep, ring);
usr/src/uts/common/io/bge/bge_main2.c
255
bge_reinit_buff_ring(buff_ring_t *brp, uint32_t ring)
usr/src/uts/common/io/bge/bge_main2.c
2646
uint32_t ring;
usr/src/uts/common/io/bge/bge_main2.c
2846
for (ring = 0; ring < tx_rings; ++ring) {
usr/src/uts/common/io/bge/bge_main2.c
2847
bge_slice_chunk(&bgep->send[ring].buf[0][split],
usr/src/uts/common/io/bge/bge_main2.c
2852
split, ring,
usr/src/uts/common/io/bge/bge_main2.c
2853
bgep->send[ring].buf[0][split].mem_va,
usr/src/uts/common/io/bge/bge_main2.c
2854
bgep->send[ring].buf[0][split].alength,
usr/src/uts/common/io/bge/bge_main2.c
2855
bgep->send[ring].buf[0][split].offset,
usr/src/uts/common/io/bge/bge_main2.c
2856
bgep->send[ring].buf[0][split].cookie.dmac_laddress,
usr/src/uts/common/io/bge/bge_main2.c
2857
bgep->send[ring].buf[0][split].cookie.dmac_size,
usr/src/uts/common/io/bge/bge_main2.c
2862
for (; ring < BGE_SEND_RINGS_MAX; ++ring) {
usr/src/uts/common/io/bge/bge_main2.c
2863
bge_slice_chunk(&bgep->send[ring].buf[0][split],
usr/src/uts/common/io/bge/bge_main2.c
2876
for (ring = 0; ring < rx_rings; ++ring) {
usr/src/uts/common/io/bge/bge_main2.c
2877
bge_slice_chunk(&bgep->recv[ring].desc, &bgep->rx_desc[ring],
usr/src/uts/common/io/bge/bge_main2.c
288
hw_rbd_p->flags |= ring_type_flag[ring];
usr/src/uts/common/io/bge/bge_main2.c
2881
ring,
usr/src/uts/common/io/bge/bge_main2.c
2882
bgep->recv[ring].desc.mem_va,
usr/src/uts/common/io/bge/bge_main2.c
2883
bgep->recv[ring].desc.alength,
usr/src/uts/common/io/bge/bge_main2.c
2884
bgep->recv[ring].desc.offset,
usr/src/uts/common/io/bge/bge_main2.c
2885
bgep->recv[ring].desc.cookie.dmac_laddress,
usr/src/uts/common/io/bge/bge_main2.c
2886
bgep->recv[ring].desc.cookie.dmac_size,
usr/src/uts/common/io/bge/bge_main2.c
2894
for (; ring < BGE_RECV_RINGS_MAX; ++ring) /* skip unused rings */
usr/src/uts/common/io/bge/bge_main2.c
2895
bge_slice_chunk(&bgep->recv[ring].desc, &area,
usr/src/uts/common/io/bge/bge_main2.c
2956
for (ring = 0; ring < tx_rings; ++ring) {
usr/src/uts/common/io/bge/bge_main2.c
2957
bge_slice_chunk(&bgep->send[ring].desc, &area,
usr/src/uts/common/io/bge/bge_main2.c
2961
ring,
usr/src/uts/common/io/bge/bge_main2.c
2962
bgep->send[ring].desc.mem_va,
usr/src/uts/common/io/bge/bge_main2.c
2963
bgep->send[ring].desc.alength,
usr/src/uts/common/io/bge/bge_main2.c
2964
bgep->send[ring].desc.offset,
usr/src/uts/common/io/bge/bge_main2.c
2965
bgep->send[ring].desc.cookie.dmac_laddress,
usr/src/uts/common/io/bge/bge_main2.c
2966
bgep->send[ring].desc.cookie.dmac_size,
usr/src/uts/common/io/bge/bge_main2.c
2971
for (; ring < BGE_SEND_RINGS_MAX; ++ring) /* skip unused rings */
usr/src/uts/common/io/bge/bge_main2.c
2972
bge_slice_chunk(&bgep->send[ring].desc, &area,
usr/src/uts/common/io/bge/bge_main2.c
305
uint32_t ring;
usr/src/uts/common/io/bge/bge_main2.c
312
for (ring = 0; ring < bgep->chipid.tx_rings; ++ring)
usr/src/uts/common/io/bge/bge_main2.c
313
bge_reinit_send_ring(&bgep->send[ring]);
usr/src/uts/common/io/bge/bge_main2.c
318
for (ring = 0; ring < bgep->chipid.rx_rings; ++ring)
usr/src/uts/common/io/bge/bge_main2.c
319
bge_reinit_recv_ring(&bgep->recv[ring]);
usr/src/uts/common/io/bge/bge_main2.c
324
for (ring = 0; ring < BGE_BUFF_RINGS_USED; ++ring)
usr/src/uts/common/io/bge/bge_main2.c
325
bge_reinit_buff_ring(&bgep->buff[ring], ring);
usr/src/uts/common/io/bge/bge_main2.c
352
uint32_t ring;
usr/src/uts/common/io/bge/bge_main2.c
363
for (ring = 0; ring < BGE_RECV_RINGS_MAX; ++ring)
usr/src/uts/common/io/bge/bge_main2.c
364
mutex_enter(bgep->recv[ring].rx_lock);
usr/src/uts/common/io/bge/bge_main2.c
365
for (ring = 0; ring < BGE_BUFF_RINGS_MAX; ++ring)
usr/src/uts/common/io/bge/bge_main2.c
366
mutex_enter(bgep->buff[ring].rf_lock);
usr/src/uts/common/io/bge/bge_main2.c
368
for (ring = 0; ring < BGE_SEND_RINGS_MAX; ++ring)
usr/src/uts/common/io/bge/bge_main2.c
369
mutex_enter(bgep->send[ring].tx_lock);
usr/src/uts/common/io/bge/bge_main2.c
370
for (ring = 0; ring < BGE_SEND_RINGS_MAX; ++ring)
usr/src/uts/common/io/bge/bge_main2.c
371
mutex_enter(bgep->send[ring].tc_lock);
usr/src/uts/common/io/bge/bge_main2.c
383
for (ring = BGE_SEND_RINGS_MAX; ring-- > 0; )
usr/src/uts/common/io/bge/bge_main2.c
384
mutex_exit(bgep->send[ring].tc_lock);
usr/src/uts/common/io/bge/bge_main2.c
385
for (ring = 0; ring < BGE_SEND_RINGS_MAX; ++ring)
usr/src/uts/common/io/bge/bge_main2.c
386
mutex_exit(bgep->send[ring].tx_lock);
usr/src/uts/common/io/bge/bge_main2.c
388
for (ring = BGE_BUFF_RINGS_MAX; ring-- > 0; )
usr/src/uts/common/io/bge/bge_main2.c
389
mutex_exit(bgep->buff[ring].rf_lock);
usr/src/uts/common/io/bge/bge_main2.c
390
for (ring = BGE_RECV_RINGS_MAX; ring-- > 0; )
usr/src/uts/common/io/bge/bge_main2.c
391
mutex_exit(bgep->recv[ring].rx_lock);
usr/src/uts/common/io/bge/bge_main2.c
488
uint32_t ring;
usr/src/uts/common/io/bge/bge_main2.c
513
for (ring = 0; ring < bgep->chipid.tx_rings; ++ring) {
usr/src/uts/common/io/bge/bge_main2.c
514
srp = &bgep->send[ring];
usr/src/uts/common/io/bge/bge_send.c
210
uint64_t ring;
usr/src/uts/common/io/bge/bge_send.c
215
ring = 0;
usr/src/uts/common/io/bge/bge_send.c
216
srp = &bgep->send[ring];
usr/src/uts/common/io/bge/bge_send.c
223
ASSERT(srp->cons_index_p == SEND_INDEX_P(bsp, ring));
usr/src/uts/common/io/bge/bge_send.c
239
if (tx_rings > 1 && ring > 0)
usr/src/uts/common/io/bge/bge_send.c
245
} while (++srp, ++ring < tx_rings);
usr/src/uts/common/io/bge/bge_send.c
578
send_ring_t *ring;
usr/src/uts/common/io/bge/bge_send.c
580
ring = &bgep->send[0]; /* ring 0 */
usr/src/uts/common/io/bge/bge_send.c
582
return (bge_ring_tx(ring, mp));
usr/src/uts/common/io/bge/bge_send.c
588
uint_t ring = 0; /* use ring 0 */
usr/src/uts/common/io/bge/bge_send.c
595
srp = &bgep->send[ring];
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/fw/5710_hsi.h
6599
struct rings_db ring /* rq, r2tq ,cq */;
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/lm_l5.c
2283
ctx->ustorm_st_context.ring.rq.pbl_base.lo = pbl_base.as_u32.low;
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/lm_l5.c
2284
ctx->ustorm_st_context.ring.rq.pbl_base.hi = pbl_base.as_u32.high;
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/lm_l5.c
2288
ctx->ustorm_st_context.ring.rq.curr_pbe.lo = req3->qp_first_pte[0].lo;
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/lm_l5.c
2289
ctx->ustorm_st_context.ring.rq.curr_pbe.hi = req3->qp_first_pte[0].hi;
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/lm_l5.c
2291
ctx->ustorm_st_context.ring.r2tq.pbl_base.lo = iscsi->r2tq.pbl_phys_table_phys.as_u32.low;
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/lm_l5.c
2292
ctx->ustorm_st_context.ring.r2tq.pbl_base.hi = iscsi->r2tq.pbl_phys_table_phys.as_u32.high;
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/lm_l5.c
2293
ctx->ustorm_st_context.ring.r2tq.curr_pbe.lo = iscsi->r2tq.pbl_phys_table_virt[0].as_u32.low;
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/lm_l5.c
2294
ctx->ustorm_st_context.ring.r2tq.curr_pbe.hi = iscsi->r2tq.pbl_phys_table_virt[0].as_u32.high;
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/lm_l5.c
2300
ctx->ustorm_st_context.ring.cq_pbl_base.lo = pbl_base.as_u32.low;
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/lm_l5.c
2301
ctx->ustorm_st_context.ring.cq_pbl_base.hi = pbl_base.as_u32.high;
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/lm_l5.c
2302
ctx->ustorm_st_context.ring.cq[0].cq_sn = ISCSI_INITIAL_SN;
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/lm_l5.c
2303
ctx->ustorm_st_context.ring.cq[0].curr_pbe.lo = req2->cq_first_pte.lo;
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/lm_l5.c
2304
ctx->ustorm_st_context.ring.cq[0].curr_pbe.hi = req2->cq_first_pte.hi;
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/lm_l5.c
2315
ctx->ustorm_st_context.ring.cq[i].cq_sn = ISCSI_INITIAL_SN;
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/lm_l5.c
2329
ctx->ustorm_st_context.ring.cq[i].curr_pbe.lo = curr_pbe->as_u32.low;
usr/src/uts/common/io/bnxe/577xx/drivers/common/lm/l5/lm_l5.c
2330
ctx->ustorm_st_context.ring.cq[i].curr_pbe.hi = curr_pbe->as_u32.high;
usr/src/uts/common/io/bnxe/bnxe_gld.c
829
int ring, rc;
usr/src/uts/common/io/bnxe/bnxe_gld.c
843
ring = BnxeRouteTxRing(pUM, pMblk);
usr/src/uts/common/io/bnxe/bnxe_gld.c
849
rc = BnxeTxSendMblk(pUM, ring, pMblk, 0, 0);
usr/src/uts/common/io/bnxe/bnxe_rr.c
134
ring = ((u32_t)(pHdr[0] ^ pHdr[1] ^ pHdr[2] ^ pHdr[3]) %
usr/src/uts/common/io/bnxe/bnxe_rr.c
142
ring = ((pHdr[4] ^ pHdr[5] ^ pHdr[6] ^ pHdr[7]) %
usr/src/uts/common/io/bnxe/bnxe_rr.c
149
ring = (pHdr[19] % numRings);
usr/src/uts/common/io/bnxe/bnxe_rr.c
156
ring = (pHdr[19] % numRings);
usr/src/uts/common/io/bnxe/bnxe_rr.c
161
ring = (pMblk->b_band % numRings);
usr/src/uts/common/io/bnxe/bnxe_rr.c
170
ring = (pHdr[5] % numRings);
usr/src/uts/common/io/bnxe/bnxe_rr.c
175
ring = (pMblk->b_band % numRings);
usr/src/uts/common/io/bnxe/bnxe_rr.c
181
ring = 0;
usr/src/uts/common/io/bnxe/bnxe_rr.c
185
return ring;
usr/src/uts/common/io/bnxe/bnxe_rr.c
45
int ring = 0;
usr/src/uts/common/io/elxl/elxl.h
556
#define PUT_PD(ring, member, val) ddi_put32(ring->r_acch, &member, (val))
usr/src/uts/common/io/elxl/elxl.h
557
#define GET_PD(ring, member) ddi_get32(ring->r_acch, &member)
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
2420
ring[channelno];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
2670
rp = &hba->sli.sli3.ring[ch];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
2974
rp = &hba->sli.sli3.ring[ch];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c
3625
rp = &hba->sli.sli3.ring[ch];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_ip.c
314
rp = &hba->sli.sli3.ring[cp->channelno];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2030
emlxs_mb_config_ring(emlxs_hba_t *hba, int32_t ring, MAILBOXQ *mbq)
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2039
for (i = 0; i < ring; i++) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2043
for (i = 0; i < hba->sli.sli3.ring_masks[ring]; i++) {
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2058
mb->un.varCfgRing.ring = ring;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mbox.c
2063
mb->un.varCfgRing.numMask = hba->sli.sli3.ring_masks[ring];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_mem.c
315
rp = &hba->sli.sli3.ring[j];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
1064
cp->iopath = (void *)&hba->sli.sli3.ring[i];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
1077
rp = &hba->sli.sli3.ring[i];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
1522
rp = &hba->sli.sli3.ring[FC_FCT_RING];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
1532
rp = &hba->sli.sli3.ring[FC_IP_RING];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
1541
rp = &hba->sli.sli3.ring[FC_ELS_RING];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
1550
rp = &hba->sli.sli3.ring[FC_CT_RING];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
1949
hba->sli.sli3.ring[FC_FCP_RING].fc_numCiocb = SLIM_IOCB_CMD_R0_ENTRIES;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
1950
hba->sli.sli3.ring[FC_FCP_RING].fc_numRiocb = SLIM_IOCB_RSP_R0_ENTRIES;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
1963
hba->sli.sli3.ring[FC_IP_RING].fc_numCiocb = SLIM_IOCB_CMD_R1_ENTRIES;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
1964
hba->sli.sli3.ring[FC_IP_RING].fc_numRiocb = SLIM_IOCB_RSP_R1_ENTRIES;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
1973
hba->sli.sli3.ring[FC_ELS_RING].fc_numCiocb = SLIM_IOCB_CMD_R2_ENTRIES;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
1974
hba->sli.sli3.ring[FC_ELS_RING].fc_numRiocb = SLIM_IOCB_RSP_R2_ENTRIES;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
1983
hba->sli.sli3.ring[FC_CT_RING].fc_numCiocb = SLIM_IOCB_CMD_R3_ENTRIES;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
1984
hba->sli.sli3.ring[FC_CT_RING].fc_numRiocb = SLIM_IOCB_RSP_R3_ENTRIES;
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
2221
rp = &hba->sli.sli3.ring[i];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
4755
rp = &hba->sli.sli3.ring[ring_no];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
5071
rp = &hba->sli.sli3.ring[channelno];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
6307
rp = &hba->sli.sli3.ring[i];
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli3.c
88
emlxs_buf_t *sbp, int ring);
usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_sli4.c
103
emlxs_buf_t *sbp, int ring);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_buf.c
170
oce_ring_buffer_t *ring;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_buf.c
174
ring = kmem_zalloc(sizeof (oce_ring_buffer_t), KM_NOSLEEP);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_buf.c
175
if (ring == NULL) {
usr/src/uts/common/io/fibre-channel/fca/oce/oce_buf.c
181
ring->dbuf = oce_alloc_dma_buffer(dev, size, NULL, flags);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_buf.c
182
if (ring->dbuf == NULL) {
usr/src/uts/common/io/fibre-channel/fca/oce/oce_buf.c
189
ring->num_items = num_items;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_buf.c
190
ring->item_size = item_size;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_buf.c
191
ring->num_used = 0;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_buf.c
192
return (ring);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_buf.c
195
kmem_free(ring, sizeof (oce_ring_buffer_t));
usr/src/uts/common/io/fibre-channel/fca/oce/oce_buf.c
208
destroy_ring_buffer(struct oce_dev *dev, oce_ring_buffer_t *ring)
usr/src/uts/common/io/fibre-channel/fca/oce/oce_buf.c
211
ASSERT(ring != NULL);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_buf.c
214
oce_free_dma_buffer(dev, ring->dbuf);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_buf.c
215
ring->dbuf = NULL;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_buf.c
218
kmem_free(ring, sizeof (oce_ring_buffer_t));
usr/src/uts/common/io/fibre-channel/fca/oce/oce_intr.c
319
eqe = RING_GET_CONSUMER_ITEM_VA(eq->ring, struct oce_eqe);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_intr.c
341
RING_GET(eq->ring, 1);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_intr.c
342
eqe = RING_GET_CONSUMER_ITEM_VA(eq->ring, struct oce_eqe);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_mq.c
104
cqe = RING_GET_CONSUMER_ITEM_VA(cq->ring, struct oce_mq_cqe);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_mq.c
108
RING_GET(cq->ring, 1);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_mq.c
109
cqe = RING_GET_CONSUMER_ITEM_VA(cq->ring, struct oce_mq_cqe);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_mq.c
55
cqe = RING_GET_CONSUMER_ITEM_VA(cq->ring, struct oce_mq_cqe);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_mq.c
77
RING_GET(cq->ring, 1);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_mq.c
78
cqe = RING_GET_CONSUMER_ITEM_VA(cq->ring, struct oce_mq_cqe);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
107
fwcmd->params.req.num_pages = eq->ring->dbuf->num_pages;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
108
oce_page_list(eq->ring->dbuf, &fwcmd->params.req.pages[0],
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
109
eq->ring->dbuf->num_pages);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
1110
eqe = RING_GET_CONSUMER_ITEM_VA(eq->ring, struct oce_eqe);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
1119
RING_GET(eq->ring, 1);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
1121
eqe = RING_GET_CONSUMER_ITEM_VA(eq->ring, struct oce_eqe);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
136
destroy_ring_buffer(dev, eq->ring);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
172
destroy_ring_buffer(dev, eq->ring);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
173
eq->ring = NULL;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
213
cq->ring = create_ring_buffer(dev, q_len,
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
215
if (cq->ring == NULL) {
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
218
(void *)cq->ring);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
249
fwcmd->params.req.num_pages = cq->ring->dbuf->num_pages;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
250
oce_page_list(cq->ring->dbuf, &fwcmd->params.req.pages[0],
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
251
cq->ring->dbuf->num_pages);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
264
destroy_ring_buffer(dev, cq->ring);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
297
destroy_ring_buffer(dev, cq->ring);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
298
cq->ring = NULL;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
357
mq->ring = create_ring_buffer(dev, q_len,
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
359
if (mq->ring == NULL) {
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
362
(void *)mq->ring);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
371
fwcmd->params.req.num_pages = mq->ring->dbuf->num_pages;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
372
oce_page_list(mq->ring->dbuf, fwcmd->params.req.pages,
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
373
mq->ring->dbuf->num_pages);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
410
destroy_ring_buffer(dev, mq->ring);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
433
destroy_ring_buffer(dev, mq->ring);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
434
mq->ring = NULL;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
518
wq->ring = create_ring_buffer(dev, q_len,
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
520
if (wq->ring == NULL) {
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
566
destroy_ring_buffer(dev, wq->ring);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
567
wq->ring = NULL;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
604
fwcmd->params.req.num_pages = wq->ring->dbuf->num_pages;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
606
(uint32_t)wq->ring->dbuf->num_pages,
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
607
wq->ring->dbuf->size);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
617
oce_page_list(wq->ring->dbuf, fwcmd->params.req.pages,
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
618
wq->ring->dbuf->num_pages);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
644
wq->ring->cidx = 0;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
645
wq->ring->pidx = 0;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
755
rq->ring = create_ring_buffer(dev, q_len,
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
757
if (rq->ring == NULL) {
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
802
destroy_ring_buffer(dev, rq->ring);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
803
rq->ring = NULL;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
844
fwcmd->params.req.num_pages = rq->ring->dbuf->num_pages;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
847
oce_page_list(rq->ring->dbuf, fwcmd->params.req.pages,
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
848
rq->ring->dbuf->num_pages);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
879
rq->ring->cidx = 0;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
880
rq->ring->pidx = 0;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
92
eq->ring = create_ring_buffer(dev, q_len,
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
95
if (eq->ring == NULL) {
usr/src/uts/common/io/fibre-channel/fca/oce/oce_queue.c
97
"EQ ring alloc failed:0x%p", (void *)eq->ring);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
264
oce_ring_buffer_t *ring;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
267
ring = rq->ring;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
268
cur_index = ring->cidx;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
276
cur_index = GET_Q_NEXT(cur_index, 1, ring->num_items);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
279
rqe = RING_GET_PRODUCER_ITEM_VA(rq->ring,
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
283
shadow_rq[rq->ring->pidx] = rqbd;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
285
RING_PUT(rq->ring, 1);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
307
rqbd = shadow_rq[rq->ring->cidx];
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
309
RING_GET(rq->ring, 1);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
333
oce_ring_buffer_t *ring;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
340
ring = rq->ring;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
341
cur_index = ring->cidx;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
368
cur_index = GET_Q_NEXT(cur_index, 1, ring->num_items);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
393
oce_ring_buffer_t *ring;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
412
ring = rq->ring;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
414
cur_index = ring->cidx;
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
423
cur_index = GET_Q_NEXT(cur_index, 1, ring->num_items);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
469
rqbd = shadow_rq[rq->ring->cidx];
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
471
RING_GET(rq->ring, 1);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
503
cqe = RING_GET_CONSUMER_ITEM_VA(cq->ring, struct oce_nic_rx_cqe);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
505
(void) DBUF_SYNC(cq->ring->dbuf, DDI_DMA_SYNC_FORKERNEL);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
538
RING_GET(rq->ring, frag_cnt);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
544
RING_GET(cq->ring, 1);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
545
cqe = RING_GET_CONSUMER_ITEM_VA(cq->ring,
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
612
cqe = RING_GET_CONSUMER_ITEM_VA(cq->ring, struct oce_nic_rx_cqe);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
623
RING_GET(cq->ring, 1);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_rx.c
624
cqe = RING_GET_CONSUMER_ITEM_VA(cq->ring,
usr/src/uts/common/io/fibre-channel/fca/oce/oce_tx.c
431
wqe = RING_GET_PRODUCER_ITEM_VA(wq->ring,
usr/src/uts/common/io/fibre-channel/fca/oce/oce_tx.c
435
RING_PUT(wq->ring, 1);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_tx.c
566
(void) ddi_dma_sync(cq->ring->dbuf->dma_handle, 0, 0,
usr/src/uts/common/io/fibre-channel/fca/oce/oce_tx.c
570
cqe = RING_GET_CONSUMER_ITEM_VA(cq->ring, struct oce_nic_tx_cqe);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_tx.c
585
RING_GET(wq->ring, wqe_freed);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_tx.c
589
RING_GET(cq->ring, 1);
usr/src/uts/common/io/fibre-channel/fca/oce/oce_tx.c
590
cqe = RING_GET_CONSUMER_ITEM_VA(cq->ring,
usr/src/uts/common/io/fibre-channel/fca/oce/oce_tx.c
863
(void) ddi_dma_sync(wq->ring->dbuf->dma_handle, 0, 0,
usr/src/uts/common/io/hxge/hxge_main.c
2611
p_tx_ring_t ring;
usr/src/uts/common/io/hxge/hxge_main.c
2621
ring = hxgep->tx_rings->rings[rhp->index];
usr/src/uts/common/io/hxge/hxge_main.c
2626
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/hxge/hxge_main.c
2628
ring->ring_handle = rhp->ring_handle;
usr/src/uts/common/io/hxge/hxge_main.c
2629
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/hxge/hxge_main.c
2639
p_tx_ring_t ring;
usr/src/uts/common/io/hxge/hxge_main.c
2645
ring = hxgep->tx_rings->rings[rhp->index];
usr/src/uts/common/io/hxge/hxge_main.c
2647
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/hxge/hxge_main.c
2648
ring->ring_handle = (mac_ring_handle_t)NULL;
usr/src/uts/common/io/hxge/hxge_main.c
2650
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/hxge/hxge_main.c
2658
p_rx_rcr_ring_t ring;
usr/src/uts/common/io/hxge/hxge_main.c
2669
ring = hxgep->rx_rcr_rings->rcr_rings[rhp->index];
usr/src/uts/common/io/hxge/hxge_main.c
2671
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/hxge/hxge_main.c
2674
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/hxge/hxge_main.c
2685
ring->ldvp = &hxgep->ldgvp->ldvp[i];
usr/src/uts/common/io/hxge/hxge_main.c
2686
ring->ldgp = hxgep->ldgvp->ldvp[i].ldgp;
usr/src/uts/common/io/hxge/hxge_main.c
2692
ring->rcr_mac_handle = rhp->ring_handle;
usr/src/uts/common/io/hxge/hxge_main.c
2693
ring->rcr_gen_num = mr_gen_num;
usr/src/uts/common/io/hxge/hxge_main.c
2694
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/hxge/hxge_main.c
2704
p_rx_rcr_ring_t ring;
usr/src/uts/common/io/hxge/hxge_main.c
2710
ring = hxgep->rx_rcr_rings->rcr_rings[rhp->index];
usr/src/uts/common/io/hxge/hxge_main.c
2712
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/hxge/hxge_main.c
2714
ring->rcr_mac_handle = NULL;
usr/src/uts/common/io/hxge/hxge_main.c
2715
ring->ldvp = NULL;
usr/src/uts/common/io/hxge/hxge_main.c
2716
ring->ldgp = NULL;
usr/src/uts/common/io/hxge/hxge_main.c
2717
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1000
rx_rbr_ring_t *ring = rx_msg_p->rx_rbr_p;
usr/src/uts/common/io/hxge/hxge_rxdma.c
1007
if (ring == NULL)
usr/src/uts/common/io/hxge/hxge_rxdma.c
1015
if (ring->rbr_state == RBR_POSTING)
usr/src/uts/common/io/hxge/hxge_rxdma.c
1016
MUTEX_ENTER(&ring->post_lock);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1045
atomic_dec_32(&ring->rbr_ref_cnt);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1053
if (ring->rbr_ref_cnt == 0 &&
usr/src/uts/common/io/hxge/hxge_rxdma.c
1054
ring->rbr_state == RBR_UNMAPPED) {
usr/src/uts/common/io/hxge/hxge_rxdma.c
1055
KMEM_FREE(ring, sizeof (*ring));
usr/src/uts/common/io/hxge/hxge_rxdma.c
1067
if (ring->rbr_state == RBR_POSTING)
usr/src/uts/common/io/hxge/hxge_rxdma.c
1068
hxge_post_page(rx_msg_p->hxgep, ring, rx_msg_p);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1071
if (ring->rbr_state == RBR_POSTING)
usr/src/uts/common/io/hxge/hxge_rxdma.c
1072
MUTEX_EXIT(&ring->post_lock);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1087
p_rx_rcr_ring_t ring;
usr/src/uts/common/io/hxge/hxge_rxdma.c
1113
ring = hxgep->rx_rcr_rings->rcr_rings[channel];
usr/src/uts/common/io/hxge/hxge_rxdma.c
1117
ASSERT(ring != NULL);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1120
ASSERT(ring->ldgp == ldgp);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1121
ASSERT(ring->ldvp == ldvp);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1125
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1127
if (!ring->poll_flag) {
usr/src/uts/common/io/hxge/hxge_rxdma.c
1141
ldvp, ring, cs, -1);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1146
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1148
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1175
} else if ((ldgp->nldvs == 1) && (ring->poll_flag)) {
usr/src/uts/common/io/hxge/hxge_rxdma.c
1180
} else if (ring->poll_flag) {
usr/src/uts/common/io/hxge/hxge_rxdma.c
1187
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1193
mac_rx_ring(hxgep->mach, ring->rcr_mac_handle, mp,
usr/src/uts/common/io/hxge/hxge_rxdma.c
1194
ring->rcr_gen_num);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1329
p_rx_rcr_ring_t ring;
usr/src/uts/common/io/hxge/hxge_rxdma.c
1342
ring = hxgep->rx_rcr_rings->rcr_rings[rhp->index];
usr/src/uts/common/io/hxge/hxge_rxdma.c
1344
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1345
ASSERT(ring->poll_flag == B_TRUE);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1348
if (!ring->poll_flag) {
usr/src/uts/common/io/hxge/hxge_rxdma.c
1349
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1364
mblk = hxge_rx_pkts(hxgep, ring->ldvp->vdma_index,
usr/src/uts/common/io/hxge/hxge_rxdma.c
1365
ring->ldvp, ring, cs, bytes_to_pickup);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1366
ldvp = ring->ldvp;
usr/src/uts/common/io/hxge/hxge_rxdma.c
1375
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1377
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/hxge/hxge_rxdma.c
1380
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/hxge/hxge_send.c
44
p_tx_ring_t ring = (p_tx_ring_t)arg;
usr/src/uts/common/io/hxge/hxge_send.c
46
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/hxge/hxge_send.c
47
(void) hxge_txdma_reclaim(ring->hxgep, ring, 0);
usr/src/uts/common/io/hxge/hxge_send.c
48
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/hxge/hxge_send.c
50
mac_tx_ring_update(ring->hxgep->mach, ring->ring_handle);
usr/src/uts/common/io/hxge/hxge_send.c
54
hxge_tx_ring_dispatch(p_tx_ring_t ring)
usr/src/uts/common/io/hxge/hxge_send.c
59
(void) ddi_taskq_dispatch(ring->taskq,
usr/src/uts/common/io/hxge/hxge_send.c
60
hxge_tx_ring_task, (void *)ring, DDI_SLEEP);
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
100
ASSERT(!__rdsv3_ib_ring_used(ring));
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
101
ring->w_nr = nr;
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
105
__rdsv3_ib_ring_empty(struct rdsv3_ib_work_ring *ring)
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
107
return (__rdsv3_ib_ring_used(ring) == 0);
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
111
rdsv3_ib_ring_alloc(struct rdsv3_ib_work_ring *ring, uint32_t val,
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
116
avail = ring->w_nr - __rdsv3_ib_ring_used(ring);
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
119
"ring %p val %u next %u free %u", ring, val,
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
120
ring->w_alloc_ptr, avail);
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
124
*pos = ring->w_alloc_ptr;
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
126
ring->w_alloc_ptr = (ring->w_alloc_ptr + ret) % ring->w_nr;
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
127
ring->w_alloc_ctr += ret;
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
134
rdsv3_ib_ring_free(struct rdsv3_ib_work_ring *ring, uint32_t val)
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
136
ring->w_free_ptr = (ring->w_free_ptr + val) % ring->w_nr;
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
137
atomic_add_32(&ring->w_free_ctr, val);
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
139
if (__rdsv3_ib_ring_empty(ring))
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
140
rdsv3_wake_up(&ring->w_empty_wait);
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
144
rdsv3_ib_ring_unalloc(struct rdsv3_ib_work_ring *ring, uint32_t val)
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
146
ring->w_alloc_ptr = (ring->w_alloc_ptr - val) % ring->w_nr;
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
147
ring->w_alloc_ctr -= val;
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
151
rdsv3_ib_ring_empty(struct rdsv3_ib_work_ring *ring)
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
153
return (__rdsv3_ib_ring_empty(ring));
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
157
rdsv3_ib_ring_low(struct rdsv3_ib_work_ring *ring)
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
159
return (__rdsv3_ib_ring_used(ring) <= (ring->w_nr >> 2));
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
167
rdsv3_ib_ring_oldest(struct rdsv3_ib_work_ring *ring)
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
169
return (ring->w_free_ptr);
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
177
rdsv3_ib_ring_completed(struct rdsv3_ib_work_ring *ring,
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
185
ret = ring->w_nr - oldest + (unsigned long long)wr_id + 1;
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
188
"ring %p ret %u wr_id %u oldest %u", ring, ret, wr_id, oldest);
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
74
rdsv3_ib_ring_init(struct rdsv3_ib_work_ring *ring, uint32_t nr)
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
76
(void) memset(ring, 0, sizeof (*ring));
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
77
ring->w_nr = nr;
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
78
RDSV3_DPRINTF5("rdsv3_ib_ring_init", "ring %p nr %u", ring, ring->w_nr);
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
82
__rdsv3_ib_ring_used(struct rdsv3_ib_work_ring *ring)
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
87
diff = ring->w_alloc_ctr - (uint32_t)atomic_get(&ring->w_free_ctr);
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
88
ASSERT(diff <= ring->w_nr);
usr/src/uts/common/io/ib/clients/rdsv3/ib_ring.c
94
rdsv3_ib_ring_resize(struct rdsv3_ib_work_ring *ring, uint32_t nr)
usr/src/uts/common/io/igc/igc.c
623
igc_rx_ring_t *ring;
usr/src/uts/common/io/igc/igc.c
627
ring = &igc->igc_rx_rings[queue];
usr/src/uts/common/io/igc/igc.c
629
mutex_enter(&ring->irr_lock);
usr/src/uts/common/io/igc/igc.c
630
if ((ring->irr_flags & IGC_RXR_F_POLL) == 0) {
usr/src/uts/common/io/igc/igc.c
631
mp = igc_ring_rx(ring, IGC_RX_POLL_INTR);
usr/src/uts/common/io/igc/igc.c
633
mutex_exit(&ring->irr_lock);
usr/src/uts/common/io/igc/igc.c
636
mac_rx_ring(igc->igc_mac_hdl, ring->irr_rh, mp, ring->irr_gen);
usr/src/uts/common/io/igc/igc_gld.c
620
igc_rx_ring_t *ring = drv;
usr/src/uts/common/io/igc/igc_gld.c
627
mutex_enter(&ring->irr_lock);
usr/src/uts/common/io/igc/igc_gld.c
628
mp = igc_ring_rx(ring, nbytes);
usr/src/uts/common/io/igc/igc_gld.c
629
mutex_exit(&ring->irr_lock);
usr/src/uts/common/io/igc/igc_gld.c
657
igc_rx_ring_t *ring = (igc_rx_ring_t *)ih;
usr/src/uts/common/io/igc/igc_gld.c
658
igc_t *igc = ring->irr_igc;
usr/src/uts/common/io/igc/igc_gld.c
666
mutex_enter(&ring->irr_lock);
usr/src/uts/common/io/igc/igc_gld.c
667
ring->irr_flags &= ~IGC_RXR_F_POLL;
usr/src/uts/common/io/igc/igc_gld.c
668
mutex_exit(&ring->irr_lock);
usr/src/uts/common/io/igc/igc_gld.c
675
igc->igc_eims |= 1 << ring->irr_intr_idx;
usr/src/uts/common/io/igc/igc_gld.c
685
igc_rx_ring_t *ring = (igc_rx_ring_t *)ih;
usr/src/uts/common/io/igc/igc_gld.c
686
igc_t *igc = ring->irr_igc;
usr/src/uts/common/io/igc/igc_gld.c
694
mutex_enter(&ring->irr_lock);
usr/src/uts/common/io/igc/igc_gld.c
695
ring->irr_flags |= IGC_RXR_F_POLL;
usr/src/uts/common/io/igc/igc_gld.c
696
mutex_exit(&ring->irr_lock);
usr/src/uts/common/io/igc/igc_gld.c
704
igc_write32(igc, IGC_EIMC, 1 << ring->irr_intr_idx);
usr/src/uts/common/io/igc/igc_gld.c
705
igc->igc_eims &= ~ (1 << ring->irr_intr_idx);
usr/src/uts/common/io/igc/igc_gld.c
717
igc_tx_ring_t *ring;
usr/src/uts/common/io/igc/igc_gld.c
722
ring = &igc->igc_tx_rings[ring_idx];
usr/src/uts/common/io/igc/igc_gld.c
723
ring->itr_rh = rh;
usr/src/uts/common/io/igc/igc_gld.c
725
infop->mri_driver = (mac_ring_driver_t)ring;
usr/src/uts/common/io/igc/igc_gld.c
733
igc->igc_intr_handles[ring->itr_intr_idx];
usr/src/uts/common/io/igc/igc_gld.c
742
igc_rx_ring_t *ring;
usr/src/uts/common/io/igc/igc_gld.c
747
ring = &igc->igc_rx_rings[ring_idx];
usr/src/uts/common/io/igc/igc_gld.c
748
ring->irr_rh = rh;
usr/src/uts/common/io/igc/igc_gld.c
750
infop->mri_driver = (mac_ring_driver_t)ring;
usr/src/uts/common/io/igc/igc_gld.c
755
infop->mri_intr.mi_handle = (mac_intr_handle_t)ring;
usr/src/uts/common/io/igc/igc_gld.c
761
igc->igc_intr_handles[ring->irr_intr_idx];
usr/src/uts/common/io/igc/igc_ring.c
1006
if (!igc_dma_alloc(igc, &ring->itr_desc_dma, &desc_attr,
usr/src/uts/common/io/igc/igc_ring.c
1012
ring->itr_ring = (void *)ring->itr_desc_dma.idb_va;
usr/src/uts/common/io/igc/igc_ring.c
1014
ring->itr_work_list = kmem_zalloc(sizeof (igc_tx_buffer_t *) *
usr/src/uts/common/io/igc/igc_ring.c
1016
if (ring->itr_work_list == NULL) {
usr/src/uts/common/io/igc/igc_ring.c
1022
list_create(&ring->itr_free_list, sizeof (igc_tx_buffer_t),
usr/src/uts/common/io/igc/igc_ring.c
1025
ring->itr_arena = kmem_zalloc(sizeof (igc_tx_buffer_t) *
usr/src/uts/common/io/igc/igc_ring.c
1027
if (ring->itr_arena == NULL) {
usr/src/uts/common/io/igc/igc_ring.c
1033
if (!igc_tx_bufs_alloc(igc, ring)) {
usr/src/uts/common/io/igc/igc_ring.c
1046
igc_tx_ring_hw_init(igc_t *igc, igc_tx_ring_t *ring)
usr/src/uts/common/io/igc/igc_ring.c
1054
desc = ddi_dma_cookie_one(ring->itr_desc_dma.idb_hdl);
usr/src/uts/common/io/igc/igc_ring.c
1057
igc_write32(igc, IGC_TDBAH(ring->itr_idx), high);
usr/src/uts/common/io/igc/igc_ring.c
1058
igc_write32(igc, IGC_TDBAL(ring->itr_idx), low);
usr/src/uts/common/io/igc/igc_ring.c
1064
igc_write32(igc, IGC_TDLEN(ring->itr_idx), val);
usr/src/uts/common/io/igc/igc_ring.c
1071
igc_write32(igc, IGC_TDH(ring->itr_idx), 0);
usr/src/uts/common/io/igc/igc_ring.c
1072
igc_write32(igc, IGC_TDT(ring->itr_idx), 0);
usr/src/uts/common/io/igc/igc_ring.c
1073
ring->itr_ring_head = 0;
usr/src/uts/common/io/igc/igc_ring.c
1074
ring->itr_ring_tail = 0;
usr/src/uts/common/io/igc/igc_ring.c
1075
ring->itr_ring_free = igc->igc_tx_ndesc;
usr/src/uts/common/io/igc/igc_ring.c
1142
igc_tx_recycle(igc_t *igc, igc_tx_ring_t *ring)
usr/src/uts/common/io/igc/igc_ring.c
1156
mutex_enter(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1157
if (ring->itr_recycle) {
usr/src/uts/common/io/igc/igc_ring.c
1158
mutex_exit(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1161
ring->itr_recycle = true;
usr/src/uts/common/io/igc/igc_ring.c
1162
head = ring->itr_ring_head;
usr/src/uts/common/io/igc/igc_ring.c
1163
tail = ring->itr_ring_tail;
usr/src/uts/common/io/igc/igc_ring.c
1164
mutex_exit(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1169
IGC_DMA_SYNC(&ring->itr_desc_dma, DDI_DMA_SYNC_FORKERNEL);
usr/src/uts/common/io/igc/igc_ring.c
1182
igc_tx_buffer_t *check_buf = ring->itr_work_list[head];
usr/src/uts/common/io/igc/igc_ring.c
1188
status = LE_32(ring->itr_ring[last_desc].wb.status);
usr/src/uts/common/io/igc/igc_ring.c
1203
bzero(&ring->itr_ring[desc],
usr/src/uts/common/io/igc/igc_ring.c
1206
buf = ring->itr_work_list[desc];
usr/src/uts/common/io/igc/igc_ring.c
1209
ring->itr_work_list[desc] = NULL;
usr/src/uts/common/io/igc/igc_ring.c
1222
mutex_enter(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1223
ring->itr_ring_head = head;
usr/src/uts/common/io/igc/igc_ring.c
1224
ring->itr_ring_free += ndesc;
usr/src/uts/common/io/igc/igc_ring.c
1225
list_move_tail(&ring->itr_free_list, &to_free);
usr/src/uts/common/io/igc/igc_ring.c
1226
if (ring->itr_mac_blocked && ring->itr_ring_free >
usr/src/uts/common/io/igc/igc_ring.c
1228
ring->itr_mac_blocked = false;
usr/src/uts/common/io/igc/igc_ring.c
1231
ring->itr_recycle = false;
usr/src/uts/common/io/igc/igc_ring.c
1232
mutex_exit(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1235
mac_tx_ring_update(igc->igc_mac_hdl, ring->itr_rh);
usr/src/uts/common/io/igc/igc_ring.c
1243
igc_tx_buffer_alloc(igc_tx_ring_t *ring)
usr/src/uts/common/io/igc/igc_ring.c
1246
mutex_enter(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1247
buf = list_remove_head(&ring->itr_free_list);
usr/src/uts/common/io/igc/igc_ring.c
1249
ring->itr_stat.its_no_tx_bufs.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
1251
mutex_exit(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1260
igc_tx_ring_bind(igc_tx_ring_t *ring, mblk_t *mp, igc_tx_state_t *tx)
usr/src/uts/common/io/igc/igc_ring.c
1267
buf = igc_tx_buffer_alloc(ring);
usr/src/uts/common/io/igc/igc_ring.c
1279
ring->itr_stat.its_tx_bind_fail.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
1280
mutex_enter(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1281
list_insert_tail(&ring->itr_free_list, buf);
usr/src/uts/common/io/igc/igc_ring.c
1282
mutex_exit(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1297
ring->itr_stat.its_tx_bind.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
1306
igc_tx_ring_copy(igc_tx_ring_t *ring, mblk_t *mp, igc_tx_state_t *tx)
usr/src/uts/common/io/igc/igc_ring.c
1328
tx->itx_cur_buf = igc_tx_buffer_alloc(ring);
usr/src/uts/common/io/igc/igc_ring.c
1355
ring->itr_stat.its_tx_copy.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
1366
igc_tx_ring_context_changed(igc_tx_ring_t *ring, igc_tx_state_t *tx)
usr/src/uts/common/io/igc/igc_ring.c
1369
igc_tx_context_data_t *data = &ring->itr_tx_ctx;
usr/src/uts/common/io/igc/igc_ring.c
1419
igc_tx_ring_write_buf_descs(igc_t *igc, igc_tx_ring_t *ring,
usr/src/uts/common/io/igc/igc_ring.c
1427
ASSERT(MUTEX_HELD(&ring->itr_lock));
usr/src/uts/common/io/igc/igc_ring.c
1430
for (uint_t i = 0; i < nc; i++, ring->itr_ring_tail =
usr/src/uts/common/io/igc/igc_ring.c
1431
igc_next_desc(ring->itr_ring_tail, 1, igc->igc_tx_ndesc)) {
usr/src/uts/common/io/igc/igc_ring.c
1443
desc = &ring->itr_ring[ring->itr_ring_tail];
usr/src/uts/common/io/igc/igc_ring.c
1453
ring->itr_work_list[ring->itr_ring_tail] = buf;
usr/src/uts/common/io/igc/igc_ring.c
1465
igc_tx_ring_write_descs(igc_t *igc, igc_tx_ring_t *ring, mblk_t *mp,
usr/src/uts/common/io/igc/igc_ring.c
1481
mutex_enter(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1482
if (tx->itx_ndescs + igc->igc_tx_gap > ring->itr_ring_free) {
usr/src/uts/common/io/igc/igc_ring.c
1486
mutex_exit(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1487
igc_tx_recycle(igc, ring);
usr/src/uts/common/io/igc/igc_ring.c
1488
mutex_enter(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1489
if (tx->itx_ndescs + igc->igc_tx_gap > ring->itr_ring_free) {
usr/src/uts/common/io/igc/igc_ring.c
1490
mutex_exit(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1501
if (do_ctx && !igc_tx_ring_context_changed(ring, tx)) {
usr/src/uts/common/io/igc/igc_ring.c
1506
ring->itr_ring_free -= tx->itx_ndescs;
usr/src/uts/common/io/igc/igc_ring.c
1507
ctx_desc = ring->itr_ring_tail;
usr/src/uts/common/io/igc/igc_ring.c
1546
ctx = (void *)&ring->itr_ring[ctx_desc];
usr/src/uts/common/io/igc/igc_ring.c
1551
ring->itr_ring_tail = igc_next_desc(ring->itr_ring_tail, 1,
usr/src/uts/common/io/igc/igc_ring.c
1554
ring, igc_tx_state_t *, tx,
usr/src/uts/common/io/igc/igc_ring.c
1558
first_desc = ring->itr_ring_tail;
usr/src/uts/common/io/igc/igc_ring.c
1561
igc_tx_ring_write_buf_descs(igc, ring, buf);
usr/src/uts/common/io/igc/igc_ring.c
1570
last_desc = igc_prev_desc(ring->itr_ring_tail, 1, igc->igc_tx_ndesc);
usr/src/uts/common/io/igc/igc_ring.c
1572
ring->itr_ring[last_desc].read.cmd_type_len |= LE_32(flags);
usr/src/uts/common/io/igc/igc_ring.c
1606
ring->itr_ring[first_desc].read.cmd_type_len |= LE_32(flags);
usr/src/uts/common/io/igc/igc_ring.c
1607
ring->itr_ring[first_desc].read.olinfo_status |= LE_32(status);
usr/src/uts/common/io/igc/igc_ring.c
1608
ring->itr_work_list[first_desc]->itb_mp = mp;
usr/src/uts/common/io/igc/igc_ring.c
1609
ring->itr_work_list[first_desc]->itb_first = true;
usr/src/uts/common/io/igc/igc_ring.c
1610
ring->itr_work_list[first_desc]->itb_last_desc = last_desc;
usr/src/uts/common/io/igc/igc_ring.c
1618
ring->itr_work_list[ctx_desc] = ring->itr_work_list[first_desc];
usr/src/uts/common/io/igc/igc_ring.c
1619
ring->itr_work_list[first_desc] = NULL;
usr/src/uts/common/io/igc/igc_ring.c
1622
ring->itr_stat.its_obytes.value.ui64 += tx->itx_meoi.meoi_len;
usr/src/uts/common/io/igc/igc_ring.c
1623
ring->itr_stat.its_opackets.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
1625
IGC_DMA_SYNC(&ring->itr_desc_dma, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/igc/igc_ring.c
1626
igc_write32(igc, IGC_TDT(ring->itr_idx), ring->itr_ring_tail);
usr/src/uts/common/io/igc/igc_ring.c
1627
mutex_exit(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1663
igc_tx_ring_t *ring = arg;
usr/src/uts/common/io/igc/igc_ring.c
1664
igc_t *igc = ring->itr_igc;
usr/src/uts/common/io/igc/igc_ring.c
1683
ring->itr_stat.its_bad_meo.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
1692
if (ring->itr_ring_free < igc->igc_tx_recycle_thresh) {
usr/src/uts/common/io/igc/igc_ring.c
1693
igc_tx_recycle(igc, ring);
usr/src/uts/common/io/igc/igc_ring.c
1696
mutex_enter(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1697
if (ring->itr_ring_free < igc->igc_tx_notify_thresh) {
usr/src/uts/common/io/igc/igc_ring.c
1698
ring->itr_stat.its_ring_full.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
1699
ring->itr_mac_blocked = true;
usr/src/uts/common/io/igc/igc_ring.c
1700
mutex_exit(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1703
mutex_exit(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1727
igc_tx_ring_bind(ring, cur_mp, &tx)) {
usr/src/uts/common/io/igc/igc_ring.c
1731
if (!igc_tx_ring_copy(ring, cur_mp, &tx))
usr/src/uts/common/io/igc/igc_ring.c
1735
if (!igc_tx_ring_write_descs(igc, ring, mp, &tx)) {
usr/src/uts/common/io/igc/igc_ring.c
1751
mutex_enter(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
1752
list_move_tail(&ring->itr_free_list, &tx.itx_bufs);
usr/src/uts/common/io/igc/igc_ring.c
1753
ring->itr_mac_blocked = true;
usr/src/uts/common/io/igc/igc_ring.c
1754
mutex_exit(&ring->itr_lock);
usr/src/uts/common/io/igc/igc_ring.c
287
igc_rx_ring_t *ring = buf->irb_ring;
usr/src/uts/common/io/igc/igc_ring.c
321
mutex_enter(&ring->irr_free_lock);
usr/src/uts/common/io/igc/igc_ring.c
322
ring->irr_free_list[ring->irr_nfree] = buf;
usr/src/uts/common/io/igc/igc_ring.c
323
ring->irr_nfree++;
usr/src/uts/common/io/igc/igc_ring.c
325
igc_t *igc = ring->irr_igc;
usr/src/uts/common/io/igc/igc_ring.c
326
ASSERT3U(ring->irr_nfree, <=, igc->igc_rx_nfree);
usr/src/uts/common/io/igc/igc_ring.c
328
cv_signal(&ring->irr_free_cv);
usr/src/uts/common/io/igc/igc_ring.c
329
mutex_exit(&ring->irr_free_lock);
usr/src/uts/common/io/igc/igc_ring.c
333
igc_rx_bufs_free(igc_t *igc, igc_rx_ring_t *ring)
usr/src/uts/common/io/igc/igc_ring.c
336
igc_rx_buffer_t *buf = &ring->irr_arena[i];
usr/src/uts/common/io/igc/igc_ring.c
346
igc_rx_bufs_alloc(igc_t *igc, igc_rx_ring_t *ring)
usr/src/uts/common/io/igc/igc_ring.c
349
igc_rx_buffer_t *buf = &ring->irr_arena[i];
usr/src/uts/common/io/igc/igc_ring.c
354
buf->irb_ring = ring;
usr/src/uts/common/io/igc/igc_ring.c
359
"ring %u buffer %u", ring->irr_idx, i);
usr/src/uts/common/io/igc/igc_ring.c
377
ring->irr_work_list[i] = buf;
usr/src/uts/common/io/igc/igc_ring.c
379
ring->irr_free_list[ring->irr_nfree] = buf;
usr/src/uts/common/io/igc/igc_ring.c
380
ring->irr_nfree++;
usr/src/uts/common/io/igc/igc_ring.c
391
igc_rx_ring_t *ring = &igc->igc_rx_rings[i];
usr/src/uts/common/io/igc/igc_ring.c
393
if (ring->irr_arena != NULL) {
usr/src/uts/common/io/igc/igc_ring.c
394
igc_rx_bufs_free(igc, ring);
usr/src/uts/common/io/igc/igc_ring.c
395
kmem_free(ring->irr_arena, sizeof (igc_rx_buffer_t) *
usr/src/uts/common/io/igc/igc_ring.c
397
ring->irr_arena = NULL;
usr/src/uts/common/io/igc/igc_ring.c
400
if (ring->irr_free_list != NULL) {
usr/src/uts/common/io/igc/igc_ring.c
401
kmem_free(ring->irr_free_list, igc->igc_rx_nfree *
usr/src/uts/common/io/igc/igc_ring.c
403
ring->irr_free_list = NULL;
usr/src/uts/common/io/igc/igc_ring.c
406
if (ring->irr_work_list != NULL) {
usr/src/uts/common/io/igc/igc_ring.c
407
kmem_free(ring->irr_work_list, igc->igc_rx_ndesc *
usr/src/uts/common/io/igc/igc_ring.c
409
ring->irr_work_list = NULL;
usr/src/uts/common/io/igc/igc_ring.c
412
if (ring->irr_ring != NULL) {
usr/src/uts/common/io/igc/igc_ring.c
413
igc_dma_free(&ring->irr_desc_dma);
usr/src/uts/common/io/igc/igc_ring.c
414
ring->irr_ring = NULL;
usr/src/uts/common/io/igc/igc_ring.c
415
ring->irr_next = 0;
usr/src/uts/common/io/igc/igc_ring.c
424
igc_rx_ring_t *ring = &igc->igc_rx_rings[i];
usr/src/uts/common/io/igc/igc_ring.c
431
if (!igc_dma_alloc(igc, &ring->irr_desc_dma, &desc_attr,
usr/src/uts/common/io/igc/igc_ring.c
437
ring->irr_ring = (void *)ring->irr_desc_dma.idb_va;
usr/src/uts/common/io/igc/igc_ring.c
439
ring->irr_work_list = kmem_zalloc(sizeof (igc_rx_buffer_t *) *
usr/src/uts/common/io/igc/igc_ring.c
441
if (ring->irr_work_list == NULL) {
usr/src/uts/common/io/igc/igc_ring.c
447
ring->irr_free_list = kmem_zalloc(sizeof (igc_rx_buffer_t *) *
usr/src/uts/common/io/igc/igc_ring.c
449
if (ring->irr_free_list == NULL) {
usr/src/uts/common/io/igc/igc_ring.c
456
ring->irr_arena = kmem_zalloc(sizeof (igc_rx_buffer_t) *
usr/src/uts/common/io/igc/igc_ring.c
458
if (ring->irr_arena == NULL) {
usr/src/uts/common/io/igc/igc_ring.c
464
if (!igc_rx_bufs_alloc(igc, ring)) {
usr/src/uts/common/io/igc/igc_ring.c
481
igc_rx_ring_desc_write(igc_rx_ring_t *ring, uint32_t idx)
usr/src/uts/common/io/igc/igc_ring.c
485
igc_dma_buffer_t *irb = &ring->irr_work_list[idx]->irb_dma;
usr/src/uts/common/io/igc/igc_ring.c
489
ring->irr_ring[idx].read.pkt_addr = LE_64(addr);
usr/src/uts/common/io/igc/igc_ring.c
490
ring->irr_ring[idx].read.hdr_addr = LE_64(0);
usr/src/uts/common/io/igc/igc_ring.c
502
igc_rx_ring_hw_init(igc_t *igc, igc_rx_ring_t *ring)
usr/src/uts/common/io/igc/igc_ring.c
508
igc_rx_ring_desc_write(ring, i);
usr/src/uts/common/io/igc/igc_ring.c
510
IGC_DMA_SYNC(&ring->irr_desc_dma, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/igc/igc_ring.c
515
desc = ddi_dma_cookie_one(ring->irr_desc_dma.idb_hdl);
usr/src/uts/common/io/igc/igc_ring.c
518
igc_write32(igc, IGC_RDBAH(ring->irr_idx), high);
usr/src/uts/common/io/igc/igc_ring.c
519
igc_write32(igc, IGC_RDBAL(ring->irr_idx), low);
usr/src/uts/common/io/igc/igc_ring.c
525
igc_write32(igc, IGC_RDLEN(ring->irr_idx), val);
usr/src/uts/common/io/igc/igc_ring.c
532
igc_write32(igc, IGC_SRRCTL(ring->irr_idx), val);
usr/src/uts/common/io/igc/igc_ring.c
538
val = igc_read32(igc, IGC_RXDCTL(ring->irr_idx));
usr/src/uts/common/io/igc/igc_ring.c
544
igc_write32(igc, IGC_RXDCTL(ring->irr_idx), val);
usr/src/uts/common/io/igc/igc_ring.c
648
igc_rx_copy(igc_rx_ring_t *ring, uint32_t idx, uint32_t len)
usr/src/uts/common/io/igc/igc_ring.c
650
const igc_rx_buffer_t *buf = ring->irr_work_list[idx];
usr/src/uts/common/io/igc/igc_ring.c
656
ring->irr_stat.irs_copy_nomem.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
663
ring->irr_stat.irs_ncopy.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
668
igc_rx_bind(igc_rx_ring_t *ring, uint32_t idx, uint32_t len)
usr/src/uts/common/io/igc/igc_ring.c
670
igc_rx_buffer_t *buf = ring->irr_work_list[idx];
usr/src/uts/common/io/igc/igc_ring.c
673
ASSERT(MUTEX_HELD(&ring->irr_lock));
usr/src/uts/common/io/igc/igc_ring.c
679
mutex_enter(&ring->irr_free_lock);
usr/src/uts/common/io/igc/igc_ring.c
680
if (ring->irr_nfree == 0) {
usr/src/uts/common/io/igc/igc_ring.c
681
ring->irr_stat.irs_bind_nobuf.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
682
mutex_exit(&ring->irr_free_lock);
usr/src/uts/common/io/igc/igc_ring.c
685
ring->irr_nfree--;
usr/src/uts/common/io/igc/igc_ring.c
686
sub = ring->irr_free_list[ring->irr_nfree];
usr/src/uts/common/io/igc/igc_ring.c
687
mutex_exit(&ring->irr_free_lock);
usr/src/uts/common/io/igc/igc_ring.c
700
ring->irr_stat.irs_bind_nomp.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
701
mutex_enter(&ring->irr_free_lock);
usr/src/uts/common/io/igc/igc_ring.c
702
ring->irr_free_list[ring->irr_nfree] = sub;
usr/src/uts/common/io/igc/igc_ring.c
703
ring->irr_nfree++;
usr/src/uts/common/io/igc/igc_ring.c
704
mutex_exit(&ring->irr_free_lock);
usr/src/uts/common/io/igc/igc_ring.c
714
ring->irr_work_list[idx] = sub;
usr/src/uts/common/io/igc/igc_ring.c
715
ring->irr_stat.irs_nbind.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
731
igc_rx_hcksum(igc_rx_ring_t *ring, mblk_t *mp, uint32_t status)
usr/src/uts/common/io/igc/igc_ring.c
738
ring->irr_stat.irs_ixsm.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
743
ring->irr_stat.irs_l4cksum_err.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
749
ring->irr_stat.irs_l3cksum_err.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
755
ring->irr_stat.irs_hcksum_hit.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
758
ring->irr_stat.irs_hcksum_miss.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
763
igc_ring_rx(igc_rx_ring_t *ring, int poll_bytes)
usr/src/uts/common/io/igc/igc_ring.c
768
igc_t *igc = ring->irr_igc;
usr/src/uts/common/io/igc/igc_ring.c
771
ASSERT(MUTEX_HELD(&ring->irr_lock));
usr/src/uts/common/io/igc/igc_ring.c
772
IGC_DMA_SYNC(&ring->irr_desc_dma, DDI_DMA_SYNC_FORKERNEL);
usr/src/uts/common/io/igc/igc_ring.c
778
cur_head = ring->irr_next;
usr/src/uts/common/io/igc/igc_ring.c
779
cur_desc = &ring->irr_ring[cur_head];
usr/src/uts/common/io/igc/igc_ring.c
796
ring->irr_stat.irs_desc_error.value.ui64++;
usr/src/uts/common/io/igc/igc_ring.c
811
mp = igc_rx_bind(ring, cur_head, cur_length);
usr/src/uts/common/io/igc/igc_ring.c
815
mp = igc_rx_copy(ring, cur_head, cur_length);
usr/src/uts/common/io/igc/igc_ring.c
819
igc_rx_hcksum(ring, mp, cur_status);
usr/src/uts/common/io/igc/igc_ring.c
829
igc_rx_ring_desc_write(ring, cur_head);
usr/src/uts/common/io/igc/igc_ring.c
835
cur_desc = &ring->irr_ring[cur_head];
usr/src/uts/common/io/igc/igc_ring.c
861
IGC_DMA_SYNC(&ring->irr_desc_dma, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/igc/igc_ring.c
862
ring->irr_next = cur_head;
usr/src/uts/common/io/igc/igc_ring.c
864
igc_write32(igc, IGC_RDT(ring->irr_idx), tail);
usr/src/uts/common/io/igc/igc_ring.c
866
ring->irr_stat.irs_rbytes.value.ui64 += rx_bytes;
usr/src/uts/common/io/igc/igc_ring.c
867
ring->irr_stat.irs_ipackets.value.ui64 += rx_frames;
usr/src/uts/common/io/igc/igc_ring.c
890
igc_rx_ring_t *ring = &igc->igc_rx_rings[i];
usr/src/uts/common/io/igc/igc_ring.c
892
mutex_enter(&ring->irr_free_lock);
usr/src/uts/common/io/igc/igc_ring.c
893
while (ring->irr_nfree < igc->igc_rx_nfree) {
usr/src/uts/common/io/igc/igc_ring.c
894
cv_wait(&ring->irr_free_cv, &ring->irr_free_lock);
usr/src/uts/common/io/igc/igc_ring.c
896
mutex_exit(&ring->irr_free_lock);
usr/src/uts/common/io/igc/igc_ring.c
901
igc_tx_bufs_free(igc_t *igc, igc_tx_ring_t *ring)
usr/src/uts/common/io/igc/igc_ring.c
904
igc_tx_buffer_t *buf = &ring->itr_arena[i];
usr/src/uts/common/io/igc/igc_ring.c
926
igc_tx_bufs_alloc(igc_t *igc, igc_tx_ring_t *ring)
usr/src/uts/common/io/igc/igc_ring.c
929
igc_tx_buffer_t *buf = &ring->itr_arena[i];
usr/src/uts/common/io/igc/igc_ring.c
937
"ring %u buffer %u", ring->itr_idx, i);
usr/src/uts/common/io/igc/igc_ring.c
946
"ring %u TX DMA handle %u: %d", ring->itr_idx, i,
usr/src/uts/common/io/igc/igc_ring.c
951
list_insert_tail(&ring->itr_free_list, buf);
usr/src/uts/common/io/igc/igc_ring.c
961
igc_tx_ring_t *ring = &igc->igc_tx_rings[i];
usr/src/uts/common/io/igc/igc_ring.c
967
while (list_remove_head(&ring->itr_free_list) != NULL)
usr/src/uts/common/io/igc/igc_ring.c
970
if (ring->itr_arena != NULL) {
usr/src/uts/common/io/igc/igc_ring.c
971
igc_tx_bufs_free(igc, ring);
usr/src/uts/common/io/igc/igc_ring.c
972
kmem_free(ring->itr_arena, sizeof (igc_tx_buffer_t) *
usr/src/uts/common/io/igc/igc_ring.c
974
ring->itr_arena = NULL;
usr/src/uts/common/io/igc/igc_ring.c
977
list_destroy(&ring->itr_free_list);
usr/src/uts/common/io/igc/igc_ring.c
979
if (ring->itr_work_list != NULL) {
usr/src/uts/common/io/igc/igc_ring.c
980
kmem_free(ring->itr_work_list, igc->igc_tx_ndesc *
usr/src/uts/common/io/igc/igc_ring.c
982
ring->itr_work_list = NULL;
usr/src/uts/common/io/igc/igc_ring.c
985
if (ring->itr_ring != NULL) {
usr/src/uts/common/io/igc/igc_ring.c
986
igc_dma_free(&ring->itr_desc_dma);
usr/src/uts/common/io/igc/igc_ring.c
987
ring->itr_ring = NULL;
usr/src/uts/common/io/igc/igc_ring.c
988
ring->itr_ring_head = 0;
usr/src/uts/common/io/igc/igc_ring.c
989
ring->itr_ring_tail = 0;
usr/src/uts/common/io/igc/igc_ring.c
990
ring->itr_ring_free = 0;
usr/src/uts/common/io/igc/igc_ring.c
999
igc_tx_ring_t *ring = &igc->igc_tx_rings[i];
usr/src/uts/common/io/igc/igc_stat.c
244
igc_rx_ring_stats_fini(igc_rx_ring_t *ring)
usr/src/uts/common/io/igc/igc_stat.c
246
if (ring->irr_kstat != NULL) {
usr/src/uts/common/io/igc/igc_stat.c
247
kstat_delete(ring->irr_kstat);
usr/src/uts/common/io/igc/igc_stat.c
248
ring->irr_kstat = NULL;
usr/src/uts/common/io/igc/igc_stat.c
253
igc_rx_ring_stats_init(igc_t *igc, igc_rx_ring_t *ring)
usr/src/uts/common/io/igc/igc_stat.c
256
igc_rx_stats_t *stats = &ring->irr_stat;
usr/src/uts/common/io/igc/igc_stat.c
259
(void) snprintf(name, sizeof (name), "rxring%u", ring->irr_idx);
usr/src/uts/common/io/igc/igc_stat.c
265
"kstats", ring->irr_idx);
usr/src/uts/common/io/igc/igc_stat.c
269
ring->irr_kstat = ksp;
usr/src/uts/common/io/igc/igc_stat.c
299
igc_tx_ring_stats_fini(igc_tx_ring_t *ring)
usr/src/uts/common/io/igc/igc_stat.c
301
if (ring->itr_kstat != NULL) {
usr/src/uts/common/io/igc/igc_stat.c
302
kstat_delete(ring->itr_kstat);
usr/src/uts/common/io/igc/igc_stat.c
303
ring->itr_kstat = NULL;
usr/src/uts/common/io/igc/igc_stat.c
308
igc_tx_ring_stats_init(igc_t *igc, igc_tx_ring_t *ring)
usr/src/uts/common/io/igc/igc_stat.c
311
igc_tx_stats_t *stats = &ring->itr_stat;
usr/src/uts/common/io/igc/igc_stat.c
314
(void) snprintf(name, sizeof (name), "txring%u", ring->itr_idx);
usr/src/uts/common/io/igc/igc_stat.c
320
"kstats", ring->itr_idx);
usr/src/uts/common/io/igc/igc_stat.c
324
ring->itr_kstat = ksp;
usr/src/uts/common/io/iwh/iwh.c
1426
iwh_rx_ring_t *ring;
usr/src/uts/common/io/iwh/iwh.c
1433
ring = &sc->sc_rxq;
usr/src/uts/common/io/iwh/iwh.c
1434
ring->cur = 0;
usr/src/uts/common/io/iwh/iwh.c
1442
&ring->dma_desc);
usr/src/uts/common/io/iwh/iwh.c
1450
ring->desc = (uint32_t *)ring->dma_desc.mem_va;
usr/src/uts/common/io/iwh/iwh.c
1452
dma_p = &ring->dma_desc;
usr/src/uts/common/io/iwh/iwh.c
1463
data = &ring->data[i];
usr/src/uts/common/io/iwh/iwh.c
1478
ring->desc[i] = (uint32_t)
usr/src/uts/common/io/iwh/iwh.c
1483
dma_p = &ring->data[0].dma_data;
usr/src/uts/common/io/iwh/iwh.c
1491
IWH_DMA_SYNC(ring->dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwh/iwh.c
1552
iwh_alloc_tx_ring(iwh_sc_t *sc, iwh_tx_ring_t *ring,
usr/src/uts/common/io/iwh/iwh.c
1565
ring->qid = qid;
usr/src/uts/common/io/iwh/iwh.c
1566
ring->count = TFD_QUEUE_SIZE_MAX;
usr/src/uts/common/io/iwh/iwh.c
1567
ring->window = slots;
usr/src/uts/common/io/iwh/iwh.c
1568
ring->queued = 0;
usr/src/uts/common/io/iwh/iwh.c
1569
ring->cur = 0;
usr/src/uts/common/io/iwh/iwh.c
1570
ring->desc_cur = 0;
usr/src/uts/common/io/iwh/iwh.c
1579
&ring->dma_desc);
usr/src/uts/common/io/iwh/iwh.c
1588
dma_p = &ring->dma_desc;
usr/src/uts/common/io/iwh/iwh.c
1595
desc_h = (iwh_tx_desc_t *)ring->dma_desc.mem_va;
usr/src/uts/common/io/iwh/iwh.c
1596
paddr_desc_h = ring->dma_desc.cookie.dmac_address;
usr/src/uts/common/io/iwh/iwh.c
1605
&ring->dma_cmd);
usr/src/uts/common/io/iwh/iwh.c
1614
dma_p = &ring->dma_cmd;
usr/src/uts/common/io/iwh/iwh.c
1621
cmd_h = (iwh_cmd_t *)ring->dma_cmd.mem_va;
usr/src/uts/common/io/iwh/iwh.c
1622
paddr_cmd_h = ring->dma_cmd.cookie.dmac_address;
usr/src/uts/common/io/iwh/iwh.c
1627
ring->data = kmem_zalloc(sizeof (iwh_tx_data_t) * TFD_QUEUE_SIZE_MAX,
usr/src/uts/common/io/iwh/iwh.c
1629
if (NULL == ring->data) {
usr/src/uts/common/io/iwh/iwh.c
1637
data = &ring->data[i];
usr/src/uts/common/io/iwh/iwh.c
1657
dma_p = &ring->data[0].dma_data;
usr/src/uts/common/io/iwh/iwh.c
1668
iwh_free_tx_ring(ring);
usr/src/uts/common/io/iwh/iwh.c
1677
iwh_reset_tx_ring(iwh_sc_t *sc, iwh_tx_ring_t *ring)
usr/src/uts/common/io/iwh/iwh.c
1684
IWH_WRITE(sc, IWH_FH_TCSR_CHNL_TX_CONFIG_REG(ring->qid), 0);
usr/src/uts/common/io/iwh/iwh.c
1687
IWH_FH_TSSR_TX_STATUS_REG_MSK_CHNL_IDLE(ring->qid)) {
usr/src/uts/common/io/iwh/iwh.c
1697
ring->qid));
usr/src/uts/common/io/iwh/iwh.c
1707
for (i = 0; i < ring->count; i++) {
usr/src/uts/common/io/iwh/iwh.c
1708
data = &ring->data[i];
usr/src/uts/common/io/iwh/iwh.c
1713
ring->queued = 0;
usr/src/uts/common/io/iwh/iwh.c
1714
ring->cur = 0;
usr/src/uts/common/io/iwh/iwh.c
1715
ring->desc_cur = 0;
usr/src/uts/common/io/iwh/iwh.c
1719
iwh_free_tx_ring(iwh_tx_ring_t *ring)
usr/src/uts/common/io/iwh/iwh.c
1723
if (ring->dma_desc.dma_hdl != NULL) {
usr/src/uts/common/io/iwh/iwh.c
1724
IWH_DMA_SYNC(ring->dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwh/iwh.c
1726
iwh_free_dma_mem(&ring->dma_desc);
usr/src/uts/common/io/iwh/iwh.c
1728
if (ring->dma_cmd.dma_hdl != NULL) {
usr/src/uts/common/io/iwh/iwh.c
1729
IWH_DMA_SYNC(ring->dma_cmd, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwh/iwh.c
1731
iwh_free_dma_mem(&ring->dma_cmd);
usr/src/uts/common/io/iwh/iwh.c
1733
if (ring->data != NULL) {
usr/src/uts/common/io/iwh/iwh.c
1734
for (i = 0; i < ring->count; i++) {
usr/src/uts/common/io/iwh/iwh.c
1735
if (ring->data[i].dma_data.dma_hdl) {
usr/src/uts/common/io/iwh/iwh.c
1736
IWH_DMA_SYNC(ring->data[i].dma_data,
usr/src/uts/common/io/iwh/iwh.c
1739
iwh_free_dma_mem(&ring->data[i].dma_data);
usr/src/uts/common/io/iwh/iwh.c
1741
kmem_free(ring->data, ring->count * sizeof (iwh_tx_data_t));
usr/src/uts/common/io/iwh/iwh.c
2311
iwh_rx_ring_t *ring = &sc->sc_rxq;
usr/src/uts/common/io/iwh/iwh.c
2371
"cfg_phy_count=%x tail=%x", ring->cur, sizeof (*stat),
usr/src/uts/common/io/iwh/iwh.c
2440
iwh_tx_ring_t *ring = &sc->sc_txq[desc->hdr.qid & 0x3];
usr/src/uts/common/io/iwh/iwh.c
2468
ring->queued--;
usr/src/uts/common/io/iwh/iwh.c
2469
if (ring->queued < 0) {
usr/src/uts/common/io/iwh/iwh.c
2470
ring->queued = 0;
usr/src/uts/common/io/iwh/iwh.c
2473
if ((sc->sc_need_reschedule) && (ring->queued <= (ring->count >> 3))) {
usr/src/uts/common/io/iwh/iwh.c
3070
iwh_tx_ring_t *ring;
usr/src/uts/common/io/iwh/iwh.c
3160
ring = &sc->sc_txq[txq_id];
usr/src/uts/common/io/iwh/iwh.c
3161
data = &ring->data[ring->cur];
usr/src/uts/common/io/iwh/iwh.c
3165
ring->cur = (ring->cur + 1) % ring->count;
usr/src/uts/common/io/iwh/iwh.c
3170
if (ring->queued > ring->count - IWH_MAX_WIN_SIZE) {
usr/src/uts/common/io/iwh/iwh.c
3186
ring->queued++;
usr/src/uts/common/io/iwh/iwh.c
3199
ring->queued--;
usr/src/uts/common/io/iwh/iwh.c
3200
if ((sc->sc_need_reschedule) && (ring->queued <= 0)) {
usr/src/uts/common/io/iwh/iwh.c
3235
cmd->hdr.qid = ring->qid;
usr/src/uts/common/io/iwh/iwh.c
3253
ring->queued--;
usr/src/uts/common/io/iwh/iwh.c
3254
if ((sc->sc_need_reschedule) && (ring->queued <= 0)) {
usr/src/uts/common/io/iwh/iwh.c
3419
ring->qid, ring->cur, len));
usr/src/uts/common/io/iwh/iwh.c
3427
cmd->hdr.idx = ring->desc_cur;
usr/src/uts/common/io/iwh/iwh.c
3428
desc_data = &ring->data[ring->desc_cur];
usr/src/uts/common/io/iwh/iwh.c
3449
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwh/iwh.c
3450
tfd_offset[ring->desc_cur].val =
usr/src/uts/common/io/iwh/iwh.c
3452
if (ring->desc_cur < IWH_MAX_WIN_SIZE) {
usr/src/uts/common/io/iwh/iwh.c
3453
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwh/iwh.c
3454
tfd_offset[IWH_QUEUE_SIZE + ring->desc_cur].val =
usr/src/uts/common/io/iwh/iwh.c
3459
IWH_DMA_SYNC(ring->dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwh/iwh.c
3461
ring->desc_cur = (ring->desc_cur + 1) % ring->count;
usr/src/uts/common/io/iwh/iwh.c
3462
IWH_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->desc_cur);
usr/src/uts/common/io/iwh/iwh.c
3920
iwh_tx_ring_t *ring = &sc->sc_txq[IWH_CMD_QUEUE_NUM];
usr/src/uts/common/io/iwh/iwh.c
3929
desc = ring->data[ring->cur].desc;
usr/src/uts/common/io/iwh/iwh.c
3930
cmd = ring->data[ring->cur].cmd;
usr/src/uts/common/io/iwh/iwh.c
3934
cmd->hdr.qid = ring->qid;
usr/src/uts/common/io/iwh/iwh.c
3935
cmd->hdr.idx = ring->cur;
usr/src/uts/common/io/iwh/iwh.c
3941
(uint32_t)(ring->data[ring->cur].paddr_cmd & 0xffffffff);
usr/src/uts/common/io/iwh/iwh.c
3951
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwh/iwh.c
3952
tfd_offset[ring->cur].val = 8;
usr/src/uts/common/io/iwh/iwh.c
3953
if (ring->cur < IWH_MAX_WIN_SIZE) {
usr/src/uts/common/io/iwh/iwh.c
3954
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwh/iwh.c
3955
tfd_offset[IWH_QUEUE_SIZE + ring->cur].val = 8;
usr/src/uts/common/io/iwh/iwh.c
3957
ring->cur = (ring->cur + 1) % ring->count;
usr/src/uts/common/io/iwh/iwh.c
3958
IWH_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwh/iwh.c
4106
iwh_tx_ring_t *ring = &sc->sc_txq[IWH_CMD_QUEUE_NUM];
usr/src/uts/common/io/iwh/iwh.c
4120
data = &ring->data[ring->cur];
usr/src/uts/common/io/iwh/iwh.c
4126
cmd->hdr.qid = ring->qid;
usr/src/uts/common/io/iwh/iwh.c
4127
cmd->hdr.idx = ring->cur | 0x40;
usr/src/uts/common/io/iwh/iwh.c
4269
sc->sc_shared->queues_byte_cnt_tbls[ring->qid]
usr/src/uts/common/io/iwh/iwh.c
4270
.tfd_offset[ring->cur].val = 8;
usr/src/uts/common/io/iwh/iwh.c
4271
if (ring->cur < IWH_MAX_WIN_SIZE) {
usr/src/uts/common/io/iwh/iwh.c
4272
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwh/iwh.c
4273
tfd_offset[IWH_QUEUE_SIZE + ring->cur].val = 8;
usr/src/uts/common/io/iwh/iwh.c
4279
ring->cur = (ring->cur + 1) % ring->count;
usr/src/uts/common/io/iwh/iwh.c
4280
IWH_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwk/iwk2.c
1233
iwk_rx_ring_t *ring;
usr/src/uts/common/io/iwk/iwk2.c
1238
ring = &sc->sc_rxq;
usr/src/uts/common/io/iwk/iwk2.c
1239
ring->cur = 0;
usr/src/uts/common/io/iwk/iwk2.c
1244
&ring->dma_desc);
usr/src/uts/common/io/iwk/iwk2.c
1249
ring->desc = (uint32_t *)ring->dma_desc.mem_va;
usr/src/uts/common/io/iwk/iwk2.c
1250
dma_p = &ring->dma_desc;
usr/src/uts/common/io/iwk/iwk2.c
1259
data = &ring->data[i];
usr/src/uts/common/io/iwk/iwk2.c
1273
ring->desc[i] = (uint32_t)
usr/src/uts/common/io/iwk/iwk2.c
1276
dma_p = &ring->data[0].dma_data;
usr/src/uts/common/io/iwk/iwk2.c
1282
IWK_DMA_SYNC(ring->dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwk/iwk2.c
1330
iwk_alloc_tx_ring(iwk_sc_t *sc, iwk_tx_ring_t *ring,
usr/src/uts/common/io/iwk/iwk2.c
1341
ring->qid = qid;
usr/src/uts/common/io/iwk/iwk2.c
1342
ring->count = TFD_QUEUE_SIZE_MAX;
usr/src/uts/common/io/iwk/iwk2.c
1343
ring->window = slots;
usr/src/uts/common/io/iwk/iwk2.c
1344
ring->queued = 0;
usr/src/uts/common/io/iwk/iwk2.c
1345
ring->cur = 0;
usr/src/uts/common/io/iwk/iwk2.c
1351
&ring->dma_desc);
usr/src/uts/common/io/iwk/iwk2.c
1357
dma_p = &ring->dma_desc;
usr/src/uts/common/io/iwk/iwk2.c
1362
desc_h = (iwk_tx_desc_t *)ring->dma_desc.mem_va;
usr/src/uts/common/io/iwk/iwk2.c
1363
paddr_desc_h = ring->dma_desc.cookie.dmac_address;
usr/src/uts/common/io/iwk/iwk2.c
1369
&ring->dma_cmd);
usr/src/uts/common/io/iwk/iwk2.c
1375
dma_p = &ring->dma_cmd;
usr/src/uts/common/io/iwk/iwk2.c
1380
cmd_h = (iwk_cmd_t *)ring->dma_cmd.mem_va;
usr/src/uts/common/io/iwk/iwk2.c
1381
paddr_cmd_h = ring->dma_cmd.cookie.dmac_address;
usr/src/uts/common/io/iwk/iwk2.c
1386
ring->data = kmem_zalloc(sizeof (iwk_tx_data_t) * TFD_QUEUE_SIZE_MAX,
usr/src/uts/common/io/iwk/iwk2.c
1388
if (ring->data == NULL) {
usr/src/uts/common/io/iwk/iwk2.c
1394
data = &ring->data[i];
usr/src/uts/common/io/iwk/iwk2.c
1413
dma_p = &ring->data[0].dma_data;
usr/src/uts/common/io/iwk/iwk2.c
1422
if (ring->data)
usr/src/uts/common/io/iwk/iwk2.c
1423
kmem_free(ring->data,
usr/src/uts/common/io/iwk/iwk2.c
1425
iwk_free_tx_ring(sc, ring);
usr/src/uts/common/io/iwk/iwk2.c
1430
iwk_reset_tx_ring(iwk_sc_t *sc, iwk_tx_ring_t *ring)
usr/src/uts/common/io/iwk/iwk2.c
1437
IWK_WRITE(sc, IWK_FH_TCSR_CHNL_TX_CONFIG_REG(ring->qid), 0);
usr/src/uts/common/io/iwk/iwk2.c
1440
IWK_FH_TSSR_TX_STATUS_REG_MSK_CHNL_IDLE(ring->qid))
usr/src/uts/common/io/iwk/iwk2.c
1446
ring->qid));
usr/src/uts/common/io/iwk/iwk2.c
1450
for (i = 0; i < ring->count; i++) {
usr/src/uts/common/io/iwk/iwk2.c
1451
data = &ring->data[i];
usr/src/uts/common/io/iwk/iwk2.c
1455
ring->queued = 0;
usr/src/uts/common/io/iwk/iwk2.c
1456
ring->cur = 0;
usr/src/uts/common/io/iwk/iwk2.c
1461
iwk_free_tx_ring(iwk_sc_t *sc, iwk_tx_ring_t *ring)
usr/src/uts/common/io/iwk/iwk2.c
1465
if (ring->dma_desc.dma_hdl != NULL)
usr/src/uts/common/io/iwk/iwk2.c
1466
IWK_DMA_SYNC(ring->dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwk/iwk2.c
1467
iwk_free_dma_mem(&ring->dma_desc);
usr/src/uts/common/io/iwk/iwk2.c
1469
if (ring->dma_cmd.dma_hdl != NULL)
usr/src/uts/common/io/iwk/iwk2.c
1470
IWK_DMA_SYNC(ring->dma_cmd, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwk/iwk2.c
1471
iwk_free_dma_mem(&ring->dma_cmd);
usr/src/uts/common/io/iwk/iwk2.c
1473
if (ring->data != NULL) {
usr/src/uts/common/io/iwk/iwk2.c
1474
for (i = 0; i < ring->count; i++) {
usr/src/uts/common/io/iwk/iwk2.c
1475
if (ring->data[i].dma_data.dma_hdl)
usr/src/uts/common/io/iwk/iwk2.c
1476
IWK_DMA_SYNC(ring->data[i].dma_data,
usr/src/uts/common/io/iwk/iwk2.c
1478
iwk_free_dma_mem(&ring->data[i].dma_data);
usr/src/uts/common/io/iwk/iwk2.c
1480
kmem_free(ring->data, ring->count * sizeof (iwk_tx_data_t));
usr/src/uts/common/io/iwk/iwk2.c
2087
iwk_rx_ring_t *ring = &sc->sc_rxq;
usr/src/uts/common/io/iwk/iwk2.c
2133
"cfg_phy_count=%x tail=%x", ring->cur, sizeof (*stat),
usr/src/uts/common/io/iwk/iwk2.c
2188
iwk_tx_ring_t *ring = &sc->sc_txq[desc->hdr.qid & 0x3];
usr/src/uts/common/io/iwk/iwk2.c
2211
ring->queued--;
usr/src/uts/common/io/iwk/iwk2.c
2212
if (ring->queued < 0)
usr/src/uts/common/io/iwk/iwk2.c
2213
ring->queued = 0;
usr/src/uts/common/io/iwk/iwk2.c
2214
if ((sc->sc_need_reschedule) && (ring->queued <= (ring->count << 3))) {
usr/src/uts/common/io/iwk/iwk2.c
2637
iwk_tx_ring_t *ring;
usr/src/uts/common/io/iwk/iwk2.c
2650
ring = &sc->sc_txq[0];
usr/src/uts/common/io/iwk/iwk2.c
2651
data = &ring->data[ring->cur];
usr/src/uts/common/io/iwk/iwk2.c
2668
if (ring->queued > ring->count - 64) {
usr/src/uts/common/io/iwk/iwk2.c
2757
cmd->hdr.qid = ring->qid;
usr/src/uts/common/io/iwk/iwk2.c
2758
cmd->hdr.idx = ring->cur;
usr/src/uts/common/io/iwk/iwk2.c
2884
ring->qid, ring->cur, len));
usr/src/uts/common/io/iwk/iwk2.c
2904
ring->queued++;
usr/src/uts/common/io/iwk/iwk2.c
2908
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwk/iwk2.c
2909
tfd_offset[ring->cur].val = 8 + len;
usr/src/uts/common/io/iwk/iwk2.c
2910
if (ring->cur < IWK_MAX_WIN_SIZE) {
usr/src/uts/common/io/iwk/iwk2.c
2911
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwk/iwk2.c
2912
tfd_offset[IWK_QUEUE_SIZE + ring->cur].val = 8 + len;
usr/src/uts/common/io/iwk/iwk2.c
2916
IWK_DMA_SYNC(ring->dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwk/iwk2.c
2918
ring->cur = (ring->cur + 1) % ring->count;
usr/src/uts/common/io/iwk/iwk2.c
2919
IWK_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwk/iwk2.c
3450
iwk_tx_ring_t *ring = &sc->sc_txq[IWK_CMD_QUEUE_NUM];
usr/src/uts/common/io/iwk/iwk2.c
3459
desc = ring->data[ring->cur].desc;
usr/src/uts/common/io/iwk/iwk2.c
3460
cmd = ring->data[ring->cur].cmd;
usr/src/uts/common/io/iwk/iwk2.c
3464
cmd->hdr.qid = ring->qid;
usr/src/uts/common/io/iwk/iwk2.c
3465
cmd->hdr.idx = ring->cur;
usr/src/uts/common/io/iwk/iwk2.c
3471
(uint32_t)(ring->data[ring->cur].paddr_cmd & 0xffffffff);
usr/src/uts/common/io/iwk/iwk2.c
3475
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwk/iwk2.c
3476
tfd_offset[ring->cur].val = 8;
usr/src/uts/common/io/iwk/iwk2.c
3477
if (ring->cur < IWK_MAX_WIN_SIZE) {
usr/src/uts/common/io/iwk/iwk2.c
3478
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwk/iwk2.c
3479
tfd_offset[IWK_QUEUE_SIZE + ring->cur].val = 8;
usr/src/uts/common/io/iwk/iwk2.c
3481
ring->cur = (ring->cur + 1) % ring->count;
usr/src/uts/common/io/iwk/iwk2.c
3482
IWK_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwk/iwk2.c
3639
iwk_tx_ring_t *ring = &sc->sc_txq[IWK_CMD_QUEUE_NUM];
usr/src/uts/common/io/iwk/iwk2.c
3653
data = &ring->data[ring->cur];
usr/src/uts/common/io/iwk/iwk2.c
3659
cmd->hdr.qid = ring->qid;
usr/src/uts/common/io/iwk/iwk2.c
3660
cmd->hdr.idx = ring->cur | 0x40;
usr/src/uts/common/io/iwk/iwk2.c
3787
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwk/iwk2.c
3788
tfd_offset[ring->cur].val = 8;
usr/src/uts/common/io/iwk/iwk2.c
3789
if (ring->cur < IWK_MAX_WIN_SIZE) {
usr/src/uts/common/io/iwk/iwk2.c
3790
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwk/iwk2.c
3791
tfd_offset[IWK_QUEUE_SIZE + ring->cur].val = 8;
usr/src/uts/common/io/iwk/iwk2.c
3795
ring->cur = (ring->cur + 1) % ring->count;
usr/src/uts/common/io/iwk/iwk2.c
3796
IWK_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwn/if_iwn.c
1885
iwn_alloc_rx_ring(struct iwn_softc *sc, struct iwn_rx_ring *ring)
usr/src/uts/common/io/iwn/if_iwn.c
1890
ring->cur = 0;
usr/src/uts/common/io/iwn/if_iwn.c
1894
error = iwn_dma_contig_alloc(sc, &ring->desc_dma, size,
usr/src/uts/common/io/iwn/if_iwn.c
1895
DDI_DMA_CONSISTENT | DDI_DMA_RDWR, (void **)&ring->desc,
usr/src/uts/common/io/iwn/if_iwn.c
1904
error = iwn_dma_contig_alloc(sc, &ring->stat_dma,
usr/src/uts/common/io/iwn/if_iwn.c
1906
(void **)&ring->stat, &iwn_dma_descattr, 16);
usr/src/uts/common/io/iwn/if_iwn.c
1917
struct iwn_rx_data *data = &ring->data[i];
usr/src/uts/common/io/iwn/if_iwn.c
1929
ring->desc[i] = htole32(data->dma_data.paddr >> 8);
usr/src/uts/common/io/iwn/if_iwn.c
1932
(void) ddi_dma_sync(ring->desc_dma.dma_hdl, 0, 0, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwn/if_iwn.c
1936
fail: iwn_free_rx_ring(sc, ring);
usr/src/uts/common/io/iwn/if_iwn.c
1941
iwn_reset_rx_ring(struct iwn_softc *sc, struct iwn_rx_ring *ring)
usr/src/uts/common/io/iwn/if_iwn.c
1955
ring->cur = 0;
usr/src/uts/common/io/iwn/if_iwn.c
1960
iwn_free_rx_ring(struct iwn_softc *sc, struct iwn_rx_ring *ring)
usr/src/uts/common/io/iwn/if_iwn.c
1965
iwn_dma_contig_free(&ring->desc_dma);
usr/src/uts/common/io/iwn/if_iwn.c
1966
iwn_dma_contig_free(&ring->stat_dma);
usr/src/uts/common/io/iwn/if_iwn.c
1969
struct iwn_rx_data *data = &ring->data[i];
usr/src/uts/common/io/iwn/if_iwn.c
1977
iwn_alloc_tx_ring(struct iwn_softc *sc, struct iwn_tx_ring *ring, int qid)
usr/src/uts/common/io/iwn/if_iwn.c
1983
ring->qid = qid;
usr/src/uts/common/io/iwn/if_iwn.c
1984
ring->queued = 0;
usr/src/uts/common/io/iwn/if_iwn.c
1985
ring->cur = 0;
usr/src/uts/common/io/iwn/if_iwn.c
1989
error = iwn_dma_contig_alloc(sc, &ring->desc_dma, size,
usr/src/uts/common/io/iwn/if_iwn.c
1990
DDI_DMA_CONSISTENT | DDI_DMA_WRITE, (void **)&ring->desc,
usr/src/uts/common/io/iwn/if_iwn.c
2006
error = iwn_dma_contig_alloc(sc, &ring->cmd_dma, size,
usr/src/uts/common/io/iwn/if_iwn.c
2007
DDI_DMA_CONSISTENT | DDI_DMA_WRITE, (void **)&ring->cmd,
usr/src/uts/common/io/iwn/if_iwn.c
2015
paddr = ring->cmd_dma.paddr;
usr/src/uts/common/io/iwn/if_iwn.c
2017
struct iwn_tx_data *data = &ring->data[i];
usr/src/uts/common/io/iwn/if_iwn.c
2034
fail: iwn_free_tx_ring(sc, ring);
usr/src/uts/common/io/iwn/if_iwn.c
2039
iwn_reset_tx_ring(struct iwn_softc *sc, struct iwn_tx_ring *ring)
usr/src/uts/common/io/iwn/if_iwn.c
2043
if (ring->qid < 4)
usr/src/uts/common/io/iwn/if_iwn.c
2045
struct iwn_tx_data *data = &ring->data[i];
usr/src/uts/common/io/iwn/if_iwn.c
2052
memset(ring->desc, 0, ring->desc_dma.size);
usr/src/uts/common/io/iwn/if_iwn.c
2053
(void) ddi_dma_sync(ring->desc_dma.dma_hdl, 0, 0, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwn/if_iwn.c
2054
sc->qfullmsk &= ~(1 << ring->qid);
usr/src/uts/common/io/iwn/if_iwn.c
2055
ring->queued = 0;
usr/src/uts/common/io/iwn/if_iwn.c
2056
ring->cur = 0;
usr/src/uts/common/io/iwn/if_iwn.c
2060
iwn_free_tx_ring(struct iwn_softc *sc, struct iwn_tx_ring *ring)
usr/src/uts/common/io/iwn/if_iwn.c
2065
iwn_dma_contig_free(&ring->desc_dma);
usr/src/uts/common/io/iwn/if_iwn.c
2066
iwn_dma_contig_free(&ring->cmd_dma);
usr/src/uts/common/io/iwn/if_iwn.c
2069
struct iwn_tx_data *data = &ring->data[i];
usr/src/uts/common/io/iwn/if_iwn.c
2652
struct iwn_rx_ring *ring = &sc->rxq;
usr/src/uts/common/io/iwn/if_iwn.c
2711
ring->desc[ring->cur] =
usr/src/uts/common/io/iwn/if_iwn.c
2713
(void) ddi_dma_sync(ring->desc_dma.dma_hdl,
usr/src/uts/common/io/iwn/if_iwn.c
2714
ring->cur * sizeof (uint32_t), sizeof (uint32_t),
usr/src/uts/common/io/iwn/if_iwn.c
2924
struct iwn_tx_ring *ring = &sc->txq[desc->qid & 0xf];
usr/src/uts/common/io/iwn/if_iwn.c
2925
struct iwn_tx_data *data = &ring->data[desc->idx];
usr/src/uts/common/io/iwn/if_iwn.c
2943
if (--ring->queued < IWN_TX_RING_LOMARK) {
usr/src/uts/common/io/iwn/if_iwn.c
2944
sc->qfullmsk &= ~(1 << ring->qid);
usr/src/uts/common/io/iwn/if_iwn.c
2957
struct iwn_tx_ring *ring = &sc->txq[IWN_CMD_QUEUE_NUM];
usr/src/uts/common/io/iwn/if_iwn.c
2963
data = &ring->data[desc->idx];
usr/src/uts/common/io/iwn/if_iwn.c
3212
struct iwn_tx_ring *ring = &sc->txq[qid];
usr/src/uts/common/io/iwn/if_iwn.c
3213
IWN_WRITE(sc, IWN_HBUS_TARG_WRPTR, qid << 8 | ring->cur);
usr/src/uts/common/io/iwn/if_iwn.c
3275
struct iwn_tx_ring *ring = &sc->txq[i];
usr/src/uts/common/io/iwn/if_iwn.c
3278
i, ring->qid, ring->cur, ring->queued);
usr/src/uts/common/io/iwn/if_iwn.c
3666
struct iwn_tx_ring *ring;
usr/src/uts/common/io/iwn/if_iwn.c
3815
ring = &sc->txq[txq_id];
usr/src/uts/common/io/iwn/if_iwn.c
3816
desc = &ring->desc[ring->cur];
usr/src/uts/common/io/iwn/if_iwn.c
3817
data = &ring->data[ring->cur];
usr/src/uts/common/io/iwn/if_iwn.c
3820
cmd = &ring->cmd[ring->cur];
usr/src/uts/common/io/iwn/if_iwn.c
3823
cmd->qid = ring->qid;
usr/src/uts/common/io/iwn/if_iwn.c
3824
cmd->idx = ring->cur;
usr/src/uts/common/io/iwn/if_iwn.c
3943
DTRACE_PROBE4(tx, int, ring->qid, int, ring->cur, size_t, MBLKL(mp),
usr/src/uts/common/io/iwn/if_iwn.c
3966
(void) ddi_dma_sync(ring->cmd_dma.dma_hdl, ring->cur * sizeof (*cmd),
usr/src/uts/common/io/iwn/if_iwn.c
3968
(void) ddi_dma_sync(ring->desc_dma.dma_hdl, ring->cur * sizeof (*desc),
usr/src/uts/common/io/iwn/if_iwn.c
3972
sc->ops.update_sched(sc, ring->qid, ring->cur, tx->id, totlen);
usr/src/uts/common/io/iwn/if_iwn.c
3975
ring->cur = (ring->cur + 1) % IWN_TX_RING_COUNT;
usr/src/uts/common/io/iwn/if_iwn.c
3976
IWN_WRITE(sc, IWN_HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwn/if_iwn.c
3979
if (++ring->queued > IWN_TX_RING_HIMARK)
usr/src/uts/common/io/iwn/if_iwn.c
3980
sc->qfullmsk |= 1 << ring->qid;
usr/src/uts/common/io/iwn/if_iwn.c
4404
struct iwn_tx_ring *ring = &sc->txq[IWN_CMD_QUEUE_NUM];
usr/src/uts/common/io/iwn/if_iwn.c
4414
desc = &ring->desc[ring->cur];
usr/src/uts/common/io/iwn/if_iwn.c
4415
data = &ring->data[ring->cur];
usr/src/uts/common/io/iwn/if_iwn.c
4426
cmd = &ring->cmd[ring->cur];
usr/src/uts/common/io/iwn/if_iwn.c
4432
cmd->qid = ring->qid;
usr/src/uts/common/io/iwn/if_iwn.c
4433
cmd->idx = ring->cur;
usr/src/uts/common/io/iwn/if_iwn.c
4446
(void) ddi_dma_sync(ring->cmd_dma.dma_hdl,
usr/src/uts/common/io/iwn/if_iwn.c
4447
ring->cur * sizeof (*cmd),
usr/src/uts/common/io/iwn/if_iwn.c
4450
(void) ddi_dma_sync(ring->desc_dma.dma_hdl,
usr/src/uts/common/io/iwn/if_iwn.c
4451
ring->cur * sizeof (*desc),
usr/src/uts/common/io/iwn/if_iwn.c
4455
sc->ops.update_sched(sc, ring->qid, ring->cur, 0, 0);
usr/src/uts/common/io/iwn/if_iwn.c
4458
ring->cur = (ring->cur + 1) % IWN_TX_RING_COUNT;
usr/src/uts/common/io/iwn/if_iwn.c
4459
IWN_WRITE(sc, IWN_HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwp/iwp.c
1370
iwp_rx_ring_t *ring;
usr/src/uts/common/io/iwp/iwp.c
1377
ring = &sc->sc_rxq;
usr/src/uts/common/io/iwp/iwp.c
1378
ring->cur = 0;
usr/src/uts/common/io/iwp/iwp.c
1386
&ring->dma_desc);
usr/src/uts/common/io/iwp/iwp.c
1394
ring->desc = (uint32_t *)ring->dma_desc.mem_va;
usr/src/uts/common/io/iwp/iwp.c
1396
dma_p = &ring->dma_desc;
usr/src/uts/common/io/iwp/iwp.c
1407
data = &ring->data[i];
usr/src/uts/common/io/iwp/iwp.c
1422
ring->desc[i] = (uint32_t)
usr/src/uts/common/io/iwp/iwp.c
1427
dma_p = &ring->data[0].dma_data;
usr/src/uts/common/io/iwp/iwp.c
1435
IWP_DMA_SYNC(ring->dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwp/iwp.c
1496
iwp_alloc_tx_ring(iwp_sc_t *sc, iwp_tx_ring_t *ring,
usr/src/uts/common/io/iwp/iwp.c
1508
ring->qid = qid;
usr/src/uts/common/io/iwp/iwp.c
1509
ring->count = TFD_QUEUE_SIZE_MAX;
usr/src/uts/common/io/iwp/iwp.c
1510
ring->window = slots;
usr/src/uts/common/io/iwp/iwp.c
1511
ring->queued = 0;
usr/src/uts/common/io/iwp/iwp.c
1512
ring->cur = 0;
usr/src/uts/common/io/iwp/iwp.c
1513
ring->desc_cur = 0;
usr/src/uts/common/io/iwp/iwp.c
1522
&ring->dma_desc);
usr/src/uts/common/io/iwp/iwp.c
1531
dma_p = &ring->dma_desc;
usr/src/uts/common/io/iwp/iwp.c
1538
desc_h = (iwp_tx_desc_t *)ring->dma_desc.mem_va;
usr/src/uts/common/io/iwp/iwp.c
1539
paddr_desc_h = ring->dma_desc.cookie.dmac_address;
usr/src/uts/common/io/iwp/iwp.c
1548
&ring->dma_cmd);
usr/src/uts/common/io/iwp/iwp.c
1557
dma_p = &ring->dma_cmd;
usr/src/uts/common/io/iwp/iwp.c
1564
cmd_h = (iwp_cmd_t *)ring->dma_cmd.mem_va;
usr/src/uts/common/io/iwp/iwp.c
1565
paddr_cmd_h = ring->dma_cmd.cookie.dmac_address;
usr/src/uts/common/io/iwp/iwp.c
1570
ring->data = kmem_zalloc(sizeof (iwp_tx_data_t) * TFD_QUEUE_SIZE_MAX,
usr/src/uts/common/io/iwp/iwp.c
1572
if (NULL == ring->data) {
usr/src/uts/common/io/iwp/iwp.c
1580
data = &ring->data[i];
usr/src/uts/common/io/iwp/iwp.c
1600
dma_p = &ring->data[0].dma_data;
usr/src/uts/common/io/iwp/iwp.c
1611
iwp_free_tx_ring(ring);
usr/src/uts/common/io/iwp/iwp.c
1620
iwp_reset_tx_ring(iwp_sc_t *sc, iwp_tx_ring_t *ring)
usr/src/uts/common/io/iwp/iwp.c
1627
IWP_WRITE(sc, IWP_FH_TCSR_CHNL_TX_CONFIG_REG(ring->qid), 0);
usr/src/uts/common/io/iwp/iwp.c
1630
IWP_FH_TSSR_TX_STATUS_REG_MSK_CHNL_IDLE(ring->qid)) {
usr/src/uts/common/io/iwp/iwp.c
1640
ring->qid));
usr/src/uts/common/io/iwp/iwp.c
1648
for (i = 0; i < ring->count; i++) {
usr/src/uts/common/io/iwp/iwp.c
1649
data = &ring->data[i];
usr/src/uts/common/io/iwp/iwp.c
1654
ring->queued = 0;
usr/src/uts/common/io/iwp/iwp.c
1655
ring->cur = 0;
usr/src/uts/common/io/iwp/iwp.c
1656
ring->desc_cur = 0;
usr/src/uts/common/io/iwp/iwp.c
1660
iwp_free_tx_ring(iwp_tx_ring_t *ring)
usr/src/uts/common/io/iwp/iwp.c
1664
if (ring->dma_desc.dma_hdl != NULL) {
usr/src/uts/common/io/iwp/iwp.c
1665
IWP_DMA_SYNC(ring->dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwp/iwp.c
1667
iwp_free_dma_mem(&ring->dma_desc);
usr/src/uts/common/io/iwp/iwp.c
1669
if (ring->dma_cmd.dma_hdl != NULL) {
usr/src/uts/common/io/iwp/iwp.c
1670
IWP_DMA_SYNC(ring->dma_cmd, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwp/iwp.c
1672
iwp_free_dma_mem(&ring->dma_cmd);
usr/src/uts/common/io/iwp/iwp.c
1674
if (ring->data != NULL) {
usr/src/uts/common/io/iwp/iwp.c
1675
for (i = 0; i < ring->count; i++) {
usr/src/uts/common/io/iwp/iwp.c
1676
if (ring->data[i].dma_data.dma_hdl) {
usr/src/uts/common/io/iwp/iwp.c
1677
IWP_DMA_SYNC(ring->data[i].dma_data,
usr/src/uts/common/io/iwp/iwp.c
1680
iwp_free_dma_mem(&ring->data[i].dma_data);
usr/src/uts/common/io/iwp/iwp.c
1682
kmem_free(ring->data, ring->count * sizeof (iwp_tx_data_t));
usr/src/uts/common/io/iwp/iwp.c
2218
iwp_rx_ring_t *ring = &sc->sc_rxq;
usr/src/uts/common/io/iwp/iwp.c
2279
"cfg_phy_count=%x tail=%x", ring->cur, sizeof (*stat),
usr/src/uts/common/io/iwp/iwp.c
2348
iwp_tx_ring_t *ring = &sc->sc_txq[desc->hdr.qid & 0x3];
usr/src/uts/common/io/iwp/iwp.c
2376
ring->queued--;
usr/src/uts/common/io/iwp/iwp.c
2377
if (ring->queued < 0) {
usr/src/uts/common/io/iwp/iwp.c
2378
ring->queued = 0;
usr/src/uts/common/io/iwp/iwp.c
2381
if ((sc->sc_need_reschedule) && (ring->queued <= (ring->count >> 3))) {
usr/src/uts/common/io/iwp/iwp.c
2972
iwp_tx_ring_t *ring;
usr/src/uts/common/io/iwp/iwp.c
3001
ring = &sc->sc_txq[0];
usr/src/uts/common/io/iwp/iwp.c
3002
data = &ring->data[ring->cur];
usr/src/uts/common/io/iwp/iwp.c
3006
ring->cur = (ring->cur + 1) % ring->count;
usr/src/uts/common/io/iwp/iwp.c
3011
if (ring->queued > ring->count - IWP_MAX_WIN_SIZE) {
usr/src/uts/common/io/iwp/iwp.c
3027
ring->queued++;
usr/src/uts/common/io/iwp/iwp.c
3040
ring->queued--;
usr/src/uts/common/io/iwp/iwp.c
3041
if ((sc->sc_need_reschedule) && (ring->queued <= 0)) {
usr/src/uts/common/io/iwp/iwp.c
3075
ring->queued--;
usr/src/uts/common/io/iwp/iwp.c
3076
if ((sc->sc_need_reschedule) && (ring->queued <= 0)) {
usr/src/uts/common/io/iwp/iwp.c
3101
cmd->hdr.qid = ring->qid;
usr/src/uts/common/io/iwp/iwp.c
3119
ring->queued--;
usr/src/uts/common/io/iwp/iwp.c
3120
if ((sc->sc_need_reschedule) && (ring->queued <= 0)) {
usr/src/uts/common/io/iwp/iwp.c
3255
ring->qid, ring->cur, len));
usr/src/uts/common/io/iwp/iwp.c
3263
cmd->hdr.idx = ring->desc_cur;
usr/src/uts/common/io/iwp/iwp.c
3265
desc_data = &ring->data[ring->desc_cur];
usr/src/uts/common/io/iwp/iwp.c
3286
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwp/iwp.c
3287
tfd_offset[ring->desc_cur].val =
usr/src/uts/common/io/iwp/iwp.c
3289
if (ring->desc_cur < IWP_MAX_WIN_SIZE) {
usr/src/uts/common/io/iwp/iwp.c
3290
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwp/iwp.c
3291
tfd_offset[IWP_QUEUE_SIZE + ring->desc_cur].val =
usr/src/uts/common/io/iwp/iwp.c
3296
IWP_DMA_SYNC(ring->dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/iwp/iwp.c
3298
ring->desc_cur = (ring->desc_cur + 1) % ring->count;
usr/src/uts/common/io/iwp/iwp.c
3299
IWP_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->desc_cur);
usr/src/uts/common/io/iwp/iwp.c
3742
iwp_tx_ring_t *ring = &sc->sc_txq[IWP_CMD_QUEUE_NUM];
usr/src/uts/common/io/iwp/iwp.c
3751
desc = ring->data[ring->cur].desc;
usr/src/uts/common/io/iwp/iwp.c
3752
cmd = ring->data[ring->cur].cmd;
usr/src/uts/common/io/iwp/iwp.c
3756
cmd->hdr.qid = ring->qid;
usr/src/uts/common/io/iwp/iwp.c
3757
cmd->hdr.idx = ring->cur;
usr/src/uts/common/io/iwp/iwp.c
3763
(uint32_t)(ring->data[ring->cur].paddr_cmd & 0xffffffff);
usr/src/uts/common/io/iwp/iwp.c
3773
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwp/iwp.c
3774
tfd_offset[ring->cur].val = 8;
usr/src/uts/common/io/iwp/iwp.c
3775
if (ring->cur < IWP_MAX_WIN_SIZE) {
usr/src/uts/common/io/iwp/iwp.c
3776
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwp/iwp.c
3777
tfd_offset[IWP_QUEUE_SIZE + ring->cur].val = 8;
usr/src/uts/common/io/iwp/iwp.c
3779
ring->cur = (ring->cur + 1) % ring->count;
usr/src/uts/common/io/iwp/iwp.c
3780
IWP_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/iwp/iwp.c
3907
iwp_tx_ring_t *ring = &sc->sc_txq[IWP_CMD_QUEUE_NUM];
usr/src/uts/common/io/iwp/iwp.c
3921
data = &ring->data[ring->cur];
usr/src/uts/common/io/iwp/iwp.c
3927
cmd->hdr.qid = ring->qid;
usr/src/uts/common/io/iwp/iwp.c
3928
cmd->hdr.idx = ring->cur | 0x40;
usr/src/uts/common/io/iwp/iwp.c
4070
sc->sc_shared->queues_byte_cnt_tbls[ring->qid]
usr/src/uts/common/io/iwp/iwp.c
4071
.tfd_offset[ring->cur].val = 8;
usr/src/uts/common/io/iwp/iwp.c
4072
if (ring->cur < IWP_MAX_WIN_SIZE) {
usr/src/uts/common/io/iwp/iwp.c
4073
sc->sc_shared->queues_byte_cnt_tbls[ring->qid].
usr/src/uts/common/io/iwp/iwp.c
4074
tfd_offset[IWP_QUEUE_SIZE + ring->cur].val = 8;
usr/src/uts/common/io/iwp/iwp.c
4080
ring->cur = (ring->cur + 1) % ring->count;
usr/src/uts/common/io/iwp/iwp.c
4081
IWP_WRITE(sc, HBUS_TARG_WRPTR, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3279
uint32_t ring;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3325
ring = (j * index_mult);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3327
reta = reta | (((uint32_t)ring) << 24);
usr/src/uts/common/io/mac/mac.c
1176
mac_ring_t *ring = NULL;
usr/src/uts/common/io/mac/mac.c
1192
ring = (mac_ring_t *)mip->mi_default_tx_ring;
usr/src/uts/common/io/mac/mac.c
1193
if (ring->mr_state != MR_INUSE) {
usr/src/uts/common/io/mac/mac.c
1194
err = mac_start_ring(ring);
usr/src/uts/common/io/mac/mac.c
1213
if ((ring != NULL) &&
usr/src/uts/common/io/mac/mac.c
1214
(ring->mr_state == MR_INUSE))
usr/src/uts/common/io/mac/mac.c
1215
mac_stop_ring(ring);
usr/src/uts/common/io/mac/mac.c
1264
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac.c
1266
ring = (mac_ring_t *)mip->mi_default_tx_ring;
usr/src/uts/common/io/mac/mac.c
1267
if (ring->mr_state == MR_INUSE) {
usr/src/uts/common/io/mac/mac.c
1268
mac_stop_ring(ring);
usr/src/uts/common/io/mac/mac.c
1269
ring->mr_flag = 0;
usr/src/uts/common/io/mac/mac.c
1535
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac.c
1537
for (ring = grp->mrg_rings; ring != NULL; ring = ring->mr_next)
usr/src/uts/common/io/mac/mac.c
1538
ring->mr_flag &= ~flag;
usr/src/uts/common/io/mac/mac.c
1580
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac.c
1607
for (ring = grp->mrg_rings; ring != NULL; ring = ring->mr_next, cnt++) {
usr/src/uts/common/io/mac/mac.c
1609
hwrh[cnt] = (mac_ring_handle_t)ring;
usr/src/uts/common/io/mac/mac.c
1643
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac.c
1675
for (ring = grp->mrg_rings; ring != NULL; ring = ring->mr_next, cnt++) {
usr/src/uts/common/io/mac/mac.c
1677
hwrh[cnt] = (mac_ring_handle_t)ring;
usr/src/uts/common/io/mac/mac.c
1698
mac_ring_t *ring = (mac_ring_t *)rh;
usr/src/uts/common/io/mac/mac.c
1699
mac_ring_info_t *info = &ring->mr_info;
usr/src/uts/common/io/mac/mac.c
1910
mac_ring_t *ring = (mac_ring_t *)rh;
usr/src/uts/common/io/mac/mac.c
1911
mac_ring_info_t *info = &ring->mr_info;
usr/src/uts/common/io/mac/mac.c
1913
ASSERT(ring->mr_type == MAC_RING_TYPE_TX &&
usr/src/uts/common/io/mac/mac.c
1914
ring->mr_state >= MR_INUSE);
usr/src/uts/common/io/mac/mac.c
1924
mac_ring_t *ring = (mac_ring_t *)rh;
usr/src/uts/common/io/mac/mac.c
1925
mac_ring_info_t *info = &ring->mr_info;
usr/src/uts/common/io/mac/mac.c
1961
mac_ring_t *ring = (mac_ring_t *)rh;
usr/src/uts/common/io/mac/mac.c
2863
mac_ring_handle_t ring = arg;
usr/src/uts/common/io/mac/mac.c
2866
mac_tx_srs_wakeup(flent->fe_tx_srs, ring);
usr/src/uts/common/io/mac/mac.c
2871
i_mac_tx_srs_notify(mac_impl_t *mip, mac_ring_handle_t ring)
usr/src/uts/common/io/mac/mac.c
2898
mac_tx_srs_wakeup(mac_srs, ring);
usr/src/uts/common/io/mac/mac.c
2909
(mac_tx_cookie_t)ring);
usr/src/uts/common/io/mac/mac.c
2913
mac_tx_flow_srs_wakeup, ring);
usr/src/uts/common/io/mac/mac.c
4061
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac.c
4065
ring = mip->mi_ring_freelist;
usr/src/uts/common/io/mac/mac.c
4066
mip->mi_ring_freelist = ring->mr_next;
usr/src/uts/common/io/mac/mac.c
4067
bzero(ring, sizeof (mac_ring_t));
usr/src/uts/common/io/mac/mac.c
4071
ring = kmem_cache_alloc(mac_ring_cache, KM_SLEEP);
usr/src/uts/common/io/mac/mac.c
4073
ASSERT((ring != NULL) && (ring->mr_state == MR_FREE));
usr/src/uts/common/io/mac/mac.c
4074
return (ring);
usr/src/uts/common/io/mac/mac.c
4078
mac_ring_free(mac_impl_t *mip, mac_ring_t *ring)
usr/src/uts/common/io/mac/mac.c
4080
ASSERT(ring->mr_state == MR_FREE);
usr/src/uts/common/io/mac/mac.c
4083
ring->mr_state = MR_FREE;
usr/src/uts/common/io/mac/mac.c
4084
ring->mr_flag = 0;
usr/src/uts/common/io/mac/mac.c
4085
ring->mr_next = mip->mi_ring_freelist;
usr/src/uts/common/io/mac/mac.c
4086
ring->mr_mip = NULL;
usr/src/uts/common/io/mac/mac.c
4087
mip->mi_ring_freelist = ring;
usr/src/uts/common/io/mac/mac.c
4088
mac_ring_stat_delete(ring);
usr/src/uts/common/io/mac/mac.c
4097
mac_ring_t *ring = mip->mi_ring_freelist;
usr/src/uts/common/io/mac/mac.c
4098
while (ring != NULL) {
usr/src/uts/common/io/mac/mac.c
4099
ring_next = ring->mr_next;
usr/src/uts/common/io/mac/mac.c
4100
kmem_cache_free(mac_ring_cache, ring);
usr/src/uts/common/io/mac/mac.c
4101
ring = ring_next;
usr/src/uts/common/io/mac/mac.c
4108
mac_start_ring(mac_ring_t *ring)
usr/src/uts/common/io/mac/mac.c
4112
ASSERT(ring->mr_state == MR_FREE);
usr/src/uts/common/io/mac/mac.c
4114
if (ring->mr_start != NULL) {
usr/src/uts/common/io/mac/mac.c
4115
rv = ring->mr_start(ring->mr_driver, ring->mr_gen_num);
usr/src/uts/common/io/mac/mac.c
4120
ring->mr_state = MR_INUSE;
usr/src/uts/common/io/mac/mac.c
4125
mac_stop_ring(mac_ring_t *ring)
usr/src/uts/common/io/mac/mac.c
4127
ASSERT(ring->mr_state == MR_INUSE);
usr/src/uts/common/io/mac/mac.c
4129
if (ring->mr_stop != NULL)
usr/src/uts/common/io/mac/mac.c
4130
ring->mr_stop(ring->mr_driver);
usr/src/uts/common/io/mac/mac.c
4132
ring->mr_state = MR_FREE;
usr/src/uts/common/io/mac/mac.c
4137
ring->mr_gen_num++;
usr/src/uts/common/io/mac/mac.c
4169
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac.c
4176
for (ring = group->mrg_rings; ring != NULL; ring = ring->mr_next) {
usr/src/uts/common/io/mac/mac.c
4177
ASSERT(ring->mr_state == MR_FREE);
usr/src/uts/common/io/mac/mac.c
4179
if ((rv = mac_start_ring(ring)) != 0)
usr/src/uts/common/io/mac/mac.c
4197
ring->mr_classify_type = (ring->mr_pt_fn != NULL) ?
usr/src/uts/common/io/mac/mac.c
4211
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac.c
4213
for (ring = group->mrg_rings; ring != NULL; ring = ring->mr_next) {
usr/src/uts/common/io/mac/mac.c
4214
if (ring->mr_state != MR_FREE) {
usr/src/uts/common/io/mac/mac.c
4215
mac_stop_ring(ring);
usr/src/uts/common/io/mac/mac.c
4216
ring->mr_flag = 0;
usr/src/uts/common/io/mac/mac.c
4217
ring->mr_classify_type = MAC_NO_CLASSIFIER;
usr/src/uts/common/io/mac/mac.c
4228
mac_ring_t *ring, *rnext;
usr/src/uts/common/io/mac/mac.c
4232
ring = mac_ring_alloc(mip);
usr/src/uts/common/io/mac/mac.c
4245
ring->mr_index = group->mrg_index * group->mrg_info.mgi_count + index;
usr/src/uts/common/io/mac/mac.c
4246
ring->mr_type = group->mrg_type;
usr/src/uts/common/io/mac/mac.c
4247
ring->mr_gh = (mac_group_handle_t)group;
usr/src/uts/common/io/mac/mac.c
4250
ring->mr_next = group->mrg_rings;
usr/src/uts/common/io/mac/mac.c
4251
group->mrg_rings = ring;
usr/src/uts/common/io/mac/mac.c
4258
index, &ring_info, (mac_ring_handle_t)ring);
usr/src/uts/common/io/mac/mac.c
4260
ring->mr_info = ring_info;
usr/src/uts/common/io/mac/mac.c
4271
rnext = ring->mr_next;
usr/src/uts/common/io/mac/mac.c
4287
ring->mr_info.mri_intr.mi_ddi_shared =
usr/src/uts/common/io/mac/mac.c
4300
if (rnext == NULL && ring->mr_type == MAC_RING_TYPE_TX) {
usr/src/uts/common/io/mac/mac.c
4302
mip->mi_rx_group_count, ring);
usr/src/uts/common/io/mac/mac.c
4307
ring->mr_state = MR_FREE;
usr/src/uts/common/io/mac/mac.c
4308
ring->mr_flag = 0;
usr/src/uts/common/io/mac/mac.c
4314
if (ring->mr_stat != NULL) {
usr/src/uts/common/io/mac/mac.c
4315
ring->mr_mip = mip;
usr/src/uts/common/io/mac/mac.c
4316
mac_ring_stat_create(ring);
usr/src/uts/common/io/mac/mac.c
4319
return (ring);
usr/src/uts/common/io/mac/mac.c
4348
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac.c
4595
ring = group->mrg_rings;
usr/src/uts/common/io/mac/mac.c
4602
if (ring == NULL) {
usr/src/uts/common/io/mac/mac.c
4621
while ((ring->mr_index != 0) && (ring->mr_next != NULL))
usr/src/uts/common/io/mac/mac.c
4622
ring = ring->mr_next;
usr/src/uts/common/io/mac/mac.c
4623
ASSERT(ring->mr_index == 0);
usr/src/uts/common/io/mac/mac.c
4624
mip->mi_default_tx_ring = (mac_ring_handle_t)ring;
usr/src/uts/common/io/mac/mac.c
4659
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac.c
4666
for (ring = group->mrg_rings; ring != NULL;
usr/src/uts/common/io/mac/mac.c
4667
ring = ring->mr_next) {
usr/src/uts/common/io/mac/mac.c
4668
if (ring == cring)
usr/src/uts/common/io/mac/mac.c
4670
if (ring->mr_info.mri_intr.mi_ddi_handle ==
usr/src/uts/common/io/mac/mac.c
4673
ring->mr_index == 0 &&
usr/src/uts/common/io/mac/mac.c
4674
!ring->mr_info.mri_intr.mi_ddi_shared) {
usr/src/uts/common/io/mac/mac.c
4675
ring->mr_info.mri_intr.mi_ddi_shared =
usr/src/uts/common/io/mac/mac.c
4728
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac.c
4735
while ((ring = group->mrg_rings) != NULL) {
usr/src/uts/common/io/mac/mac.c
4736
group->mrg_rings = ring->mr_next;
usr/src/uts/common/io/mac/mac.c
4737
mac_ring_free(mip, ring);
usr/src/uts/common/io/mac/mac.c
4875
mac_ring_t *ring = group->mrg_rings;
usr/src/uts/common/io/mac/mac.c
4877
for (ring = group->mrg_rings; ring != NULL; ring = ring->mr_next)
usr/src/uts/common/io/mac/mac.c
4878
if (ring->mr_index == index)
usr/src/uts/common/io/mac/mac.c
4881
return ((mac_ring_handle_t)ring);
usr/src/uts/common/io/mac/mac.c
4893
i_mac_group_add_ring(mac_group_t *group, mac_ring_t *ring, int index)
usr/src/uts/common/io/mac/mac.c
4897
boolean_t driver_call = (ring == NULL);
usr/src/uts/common/io/mac/mac.c
4922
driver_call ? index : ring->mr_index) == NULL);
usr/src/uts/common/io/mac/mac.c
4931
ring = mac_init_ring(mip, group, index, cap_rings);
usr/src/uts/common/io/mac/mac.c
4944
ASSERT(ring->mr_gh == NULL);
usr/src/uts/common/io/mac/mac.c
4951
ASSERT(ring->mr_state < MR_INUSE);
usr/src/uts/common/io/mac/mac.c
4952
ASSERT(ring->mr_srs == NULL);
usr/src/uts/common/io/mac/mac.c
4953
ASSERT(ring->mr_type == group->mrg_type);
usr/src/uts/common/io/mac/mac.c
4963
ring->mr_driver, ring->mr_type);
usr/src/uts/common/io/mac/mac.c
4969
ring->mr_next = group->mrg_rings;
usr/src/uts/common/io/mac/mac.c
4970
group->mrg_rings = ring;
usr/src/uts/common/io/mac/mac.c
4971
ring->mr_gh = (mac_group_handle_t)group;
usr/src/uts/common/io/mac/mac.c
4985
if (ring->mr_state != MR_INUSE) {
usr/src/uts/common/io/mac/mac.c
4986
if ((ret = mac_start_ring(ring)) != 0) {
usr/src/uts/common/io/mac/mac.c
4989
ring->mr_driver, ring->mr_type);
usr/src/uts/common/io/mac/mac.c
4992
group->mrg_rings = ring->mr_next;
usr/src/uts/common/io/mac/mac.c
4994
ring->mr_gh = NULL;
usr/src/uts/common/io/mac/mac.c
4997
mac_ring_free(mip, ring);
usr/src/uts/common/io/mac/mac.c
5006
switch (ring->mr_type) {
usr/src/uts/common/io/mac/mac.c
5022
ring->mr_classify_type = MAC_SW_CLASSIFIER;
usr/src/uts/common/io/mac/mac.c
5033
if (ring->mr_state == MR_INUSE)
usr/src/uts/common/io/mac/mac.c
5034
mac_stop_ring(ring);
usr/src/uts/common/io/mac/mac.c
5035
ring->mr_flag = 0;
usr/src/uts/common/io/mac/mac.c
5072
mac_tx_srs_add_ring(mac_srs, ring);
usr/src/uts/common/io/mac/mac.c
5093
ring->mr_type == MAC_RING_TYPE_TX) {
usr/src/uts/common/io/mac/mac.c
5094
mip->mi_default_tx_ring = (mac_ring_handle_t)ring;
usr/src/uts/common/io/mac/mac.c
5097
MAC_RING_UNMARK(ring, MR_INCIPIENT);
usr/src/uts/common/io/mac/mac.c
5108
i_mac_group_rem_ring(mac_group_t *group, mac_ring_t *ring,
usr/src/uts/common/io/mac/mac.c
5118
ring->mr_index) == (mac_ring_handle_t)ring);
usr/src/uts/common/io/mac/mac.c
5119
ASSERT((mac_group_t *)ring->mr_gh == group);
usr/src/uts/common/io/mac/mac.c
5120
ASSERT(ring->mr_type == group->mrg_type);
usr/src/uts/common/io/mac/mac.c
5122
if (ring->mr_state == MR_INUSE)
usr/src/uts/common/io/mac/mac.c
5123
mac_stop_ring(ring);
usr/src/uts/common/io/mac/mac.c
5124
switch (ring->mr_type) {
usr/src/uts/common/io/mac/mac.c
5136
if (ring->mr_srs != NULL) {
usr/src/uts/common/io/mac/mac.c
5137
mac_rx_srs_remove(ring->mr_srs);
usr/src/uts/common/io/mac/mac.c
5138
ring->mr_srs = NULL;
usr/src/uts/common/io/mac/mac.c
5179
(mac_ring_handle_t)ring) {
usr/src/uts/common/io/mac/mac.c
5182
(group->mrg_rings != ring) ?
usr/src/uts/common/io/mac/mac.c
5184
(mac_ring_handle_t)(ring->mr_next);
usr/src/uts/common/io/mac/mac.c
5201
sringp = srs_tx->st_soft_rings[ring->mr_index];
usr/src/uts/common/io/mac/mac.c
5205
mac_tx_srs_del_ring(mac_srs, ring);
usr/src/uts/common/io/mac/mac.c
5209
ASSERT(ring != (mac_ring_t *)mip->mi_default_tx_ring);
usr/src/uts/common/io/mac/mac.c
5234
mac_tx_srs_get_soft_ring(mac_srs, ring));
usr/src/uts/common/io/mac/mac.c
5235
mac_tx_srs_del_ring(mac_srs, ring);
usr/src/uts/common/io/mac/mac.c
5244
if (ring->mr_next == NULL)
usr/src/uts/common/io/mac/mac.c
5247
rem_ring = ring->mr_next;
usr/src/uts/common/io/mac/mac.c
5286
if (ring == group->mrg_rings)
usr/src/uts/common/io/mac/mac.c
5287
group->mrg_rings = ring->mr_next;
usr/src/uts/common/io/mac/mac.c
5292
while (pre->mr_next != ring)
usr/src/uts/common/io/mac/mac.c
5294
pre->mr_next = ring->mr_next;
usr/src/uts/common/io/mac/mac.c
5308
ring->mr_driver, ring->mr_type);
usr/src/uts/common/io/mac/mac.c
5312
ring->mr_gh = NULL;
usr/src/uts/common/io/mac/mac.c
5314
mac_ring_free(mip, ring);
usr/src/uts/common/io/mac/mac.c
5316
ring->mr_flag = 0;
usr/src/uts/common/io/mac/mac.c
5326
mac_group_mov_ring(mac_impl_t *mip, mac_group_t *d_group, mac_ring_t *ring)
usr/src/uts/common/io/mac/mac.c
5328
mac_group_t *s_group = (mac_group_t *)ring->mr_gh;
usr/src/uts/common/io/mac/mac.c
5342
i_mac_group_rem_ring(s_group, ring, B_FALSE);
usr/src/uts/common/io/mac/mac.c
5347
rv = i_mac_group_add_ring(d_group, ring, 0);
usr/src/uts/common/io/mac/mac.c
5353
if (i_mac_group_add_ring(s_group, ring, 0)) {
usr/src/uts/common/io/mac/mac.c
5355
mip->mi_name, (void *)ring);
usr/src/uts/common/io/mac/mac.c
606
mac_ring_t *ring = (mac_ring_t *)buf;
usr/src/uts/common/io/mac/mac.c
608
bzero(ring, sizeof (mac_ring_t));
usr/src/uts/common/io/mac/mac.c
609
cv_init(&ring->mr_cv, NULL, CV_DEFAULT, NULL);
usr/src/uts/common/io/mac/mac.c
610
mutex_init(&ring->mr_lock, NULL, MUTEX_DEFAULT, NULL);
usr/src/uts/common/io/mac/mac.c
611
ring->mr_state = MR_FREE;
usr/src/uts/common/io/mac/mac.c
619
mac_ring_t *ring = (mac_ring_t *)buf;
usr/src/uts/common/io/mac/mac.c
621
cv_destroy(&ring->mr_cv);
usr/src/uts/common/io/mac/mac.c
622
mutex_destroy(&ring->mr_lock);
usr/src/uts/common/io/mac/mac.c
6623
mac_ring_t *ring, mac_ring_t **rings, int nrings)
usr/src/uts/common/io/mac/mac.c
6625
mac_group_t *group = (mac_group_t *)ring->mr_gh;
usr/src/uts/common/io/mac/mac.c
6667
if (mac_group_mov_ring(mip, defgrp, ring) != 0) {
usr/src/uts/common/io/mac/mac.c
6672
ASSERT(ring->mr_gh == (mac_group_handle_t)defgrp);
usr/src/uts/common/io/mac/mac.c
6677
if (ring == (mac_ring_t *)mip->mi_default_tx_ring) {
usr/src/uts/common/io/mac/mac.c
6791
if (mac_group_mov_ring(mip, defgrp, ring) != 0) {
usr/src/uts/common/io/mac/mac.c
6798
ASSERT(ring->mr_gh == (mac_group_handle_t)defgrp);
usr/src/uts/common/io/mac/mac.c
6814
mac_ring_t **rings, *ring;
usr/src/uts/common/io/mac/mac.c
6840
ring = rings[i];
usr/src/uts/common/io/mac/mac.c
6841
if (ring->mr_gh != (mac_group_handle_t)src_group ||
usr/src/uts/common/io/mac/mac.c
6842
ring == (mac_ring_t *)mip->mi_default_tx_ring) {
usr/src/uts/common/io/mac/mac.c
6844
ring, rings, nrings) != 0) {
usr/src/uts/common/io/mac/mac.c
6862
for (ring = src_group->mrg_rings; ring != NULL;
usr/src/uts/common/io/mac/mac.c
6863
ring = ring->mr_next) {
usr/src/uts/common/io/mac/mac.c
6865
ring->mr_index == 0) {
usr/src/uts/common/io/mac/mac.c
6869
ring == (mac_ring_t *)mip->mi_default_tx_ring) {
usr/src/uts/common/io/mac/mac.c
6872
rings[i++] = ring;
usr/src/uts/common/io/mac/mac.c
6876
ASSERT(ring != NULL);
usr/src/uts/common/io/mac/mac.c
7307
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac.c
7319
for (ring = group->mrg_rings; ring != NULL; ring = ring->mr_next) {
usr/src/uts/common/io/mac/mac.c
7320
if (ring->mr_classify_type == MAC_HW_CLASSIFIER) {
usr/src/uts/common/io/mac/mac.c
7326
ring->mr_srs = NULL;
usr/src/uts/common/io/mac/mac.c
7329
ring->mr_state == MR_INUSE);
usr/src/uts/common/io/mac/mac.c
7330
if (ring->mr_state == MR_INUSE) {
usr/src/uts/common/io/mac/mac.c
7331
mac_stop_ring(ring);
usr/src/uts/common/io/mac/mac.c
7332
ring->mr_flag = 0;
usr/src/uts/common/io/mac/mac.c
7343
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac.c
7349
while ((ring = group->mrg_rings) != NULL) {
usr/src/uts/common/io/mac/mac.c
7351
ring);
usr/src/uts/common/io/mac/mac.c
7795
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac.c
7802
for (ring = grp->mrg_rings; ring != NULL;
usr/src/uts/common/io/mac/mac.c
7803
ring = ring->mr_next) {
usr/src/uts/common/io/mac/mac.c
7804
ASSERT(mac_tx_srs_ring_present(srs, ring));
usr/src/uts/common/io/mac/mac.c
7807
mac_tx_srs_get_soft_ring(srs, ring));
usr/src/uts/common/io/mac/mac.c
7808
mac_tx_srs_del_ring(srs, ring);
usr/src/uts/common/io/mac/mac.c
7821
while ((ring = grp->mrg_rings) != NULL)
usr/src/uts/common/io/mac/mac.c
7822
(void) mac_group_mov_ring(mip, defgrp, ring);
usr/src/uts/common/io/mac/mac.c
7838
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac.c
7850
for (ring = fgrp->mrg_rings; ring != NULL;
usr/src/uts/common/io/mac/mac.c
7851
ring = ring->mr_next) {
usr/src/uts/common/io/mac/mac.c
7852
ASSERT(mac_tx_srs_ring_present(tx_srs, ring));
usr/src/uts/common/io/mac/mac.c
7855
ring));
usr/src/uts/common/io/mac/mac.c
7856
mac_tx_srs_del_ring(tx_srs, ring);
usr/src/uts/common/io/mac/mac.c
7920
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac.c
7934
ring = fgrp->mrg_rings;
usr/src/uts/common/io/mac/mac.c
7936
if (ring->mr_state == MR_INUSE &&
usr/src/uts/common/io/mac/mac.c
7937
ring !=
usr/src/uts/common/io/mac/mac.c
7939
mac_stop_ring(ring);
usr/src/uts/common/io/mac/mac.c
7940
ring->mr_flag = 0;
usr/src/uts/common/io/mac/mac.c
7942
ring = ring->mr_next;
usr/src/uts/common/io/mac/mac.c
8188
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac.c
8229
ring = group->mrg_rings;
usr/src/uts/common/io/mac/mac.c
8234
next = ring->mr_next;
usr/src/uts/common/io/mac/mac.c
8235
rv = mac_group_mov_ring(mip, defgrp, ring);
usr/src/uts/common/io/mac/mac.c
8244
rings[j++] = ring;
usr/src/uts/common/io/mac/mac.c
8245
ring = next;
usr/src/uts/common/io/mac/mac_client.c
5525
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac_client.c
5534
ring = mip->mi_rx_groups[grp_index].mrg_rings;
usr/src/uts/common/io/mac/mac_client.c
5537
rings[index] = ring->mr_index;
usr/src/uts/common/io/mac/mac_client.c
5538
ring = ring->mr_next;
usr/src/uts/common/io/mac/mac_client.c
5588
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac_client.c
5598
ring = mip->mi_tx_groups[grp_index].mrg_rings;
usr/src/uts/common/io/mac/mac_client.c
5601
rings[index] = ring->mr_index;
usr/src/uts/common/io/mac/mac_client.c
5602
ring = ring->mr_next;
usr/src/uts/common/io/mac/mac_datapath_setup.c
1325
mac_ring_t *ring = mac_srs->srs_ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
1326
mac_intr_t *mintr = &ring->mr_info.mri_intr;
usr/src/uts/common/io/mac/mac_datapath_setup.c
1343
if (ring == NULL || mintr->mi_ddi_shared || cpuid == -1 ||
usr/src/uts/common/io/mac/mac_datapath_setup.c
1373
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
1387
ring = (mac_ring_t *)sringp->s_ring_tx_arg2;
usr/src/uts/common/io/mac/mac_datapath_setup.c
1391
!MAC_RING_RETARGETABLE(ring)) {
usr/src/uts/common/io/mac/mac_datapath_setup.c
1395
mintr = &ring->mr_info.mri_intr;
usr/src/uts/common/io/mac/mac_datapath_setup.c
1417
ring = (mac_ring_t *)srs_tx->st_arg2;
usr/src/uts/common/io/mac/mac_datapath_setup.c
1418
if (MAC_RING_RETARGETABLE(ring)) {
usr/src/uts/common/io/mac/mac_datapath_setup.c
1419
mintr = &ring->mr_info.mri_intr;
usr/src/uts/common/io/mac/mac_datapath_setup.c
198
#define MAC_RING_RETARGETABLE(ring) \
usr/src/uts/common/io/mac/mac_datapath_setup.c
199
(((ring) != NULL) && \
usr/src/uts/common/io/mac/mac_datapath_setup.c
200
((ring)->mr_info.mri_intr.mi_ddi_handle != NULL) && \
usr/src/uts/common/io/mac/mac_datapath_setup.c
201
!((ring)->mr_info.mri_intr.mi_ddi_shared))
usr/src/uts/common/io/mac/mac_datapath_setup.c
2140
mac_ring_t *ring)
usr/src/uts/common/io/mac/mac_datapath_setup.c
2306
if (ring != NULL) {
usr/src/uts/common/io/mac/mac_datapath_setup.c
2310
if (ring->mr_gh == (mac_group_handle_t)
usr/src/uts/common/io/mac/mac_datapath_setup.c
2314
mac_srs->srs_ring = ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
2315
ring->mr_srs = mac_srs;
usr/src/uts/common/io/mac/mac_datapath_setup.c
2316
ring->mr_classify_type = MAC_HW_CLASSIFIER;
usr/src/uts/common/io/mac/mac_datapath_setup.c
2317
ring->mr_flag |= MR_INCIPIENT;
usr/src/uts/common/io/mac/mac_datapath_setup.c
2333
ring_info = mac_hwring_getinfo((mac_ring_handle_t)ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
2386
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
2389
for (ring = group->mrg_rings; ring != NULL; ring = ring->mr_next) {
usr/src/uts/common/io/mac/mac_datapath_setup.c
2390
if (ring->mr_classify_type == MAC_HW_CLASSIFIER) {
usr/src/uts/common/io/mac/mac_datapath_setup.c
2395
mac_srs = ring->mr_srs;
usr/src/uts/common/io/mac/mac_datapath_setup.c
2398
ring->mr_srs = NULL;
usr/src/uts/common/io/mac/mac_datapath_setup.c
2401
if (ring->mr_state != MR_INUSE)
usr/src/uts/common/io/mac/mac_datapath_setup.c
2402
(void) mac_start_ring(ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
2408
ring->mr_flag = 0;
usr/src/uts/common/io/mac/mac_datapath_setup.c
2409
ring->mr_classify_type = MAC_SW_CLASSIFIER;
usr/src/uts/common/io/mac/mac_datapath_setup.c
2454
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
2467
for (ring = rx_group->mrg_rings; ring != NULL;
usr/src/uts/common/io/mac/mac_datapath_setup.c
2468
ring = ring->mr_next) {
usr/src/uts/common/io/mac/mac_datapath_setup.c
2469
if (ring->mr_state != MR_INUSE)
usr/src/uts/common/io/mac/mac_datapath_setup.c
2470
(void) mac_start_ring(ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
2506
for (ring = rx_group->mrg_rings; ring != NULL;
usr/src/uts/common/io/mac/mac_datapath_setup.c
2507
ring = ring->mr_next) {
usr/src/uts/common/io/mac/mac_datapath_setup.c
2510
switch (ring->mr_state) {
usr/src/uts/common/io/mac/mac_datapath_setup.c
2513
if (ring->mr_srs != NULL)
usr/src/uts/common/io/mac/mac_datapath_setup.c
2515
if (ring->mr_state != MR_INUSE)
usr/src/uts/common/io/mac/mac_datapath_setup.c
2516
(void) mac_start_ring(ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
2538
mac_rx_deliver, ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
2544
(void *)mcip, (void *)ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
2577
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
2585
for (ring = grp->mrg_rings; ring != NULL;
usr/src/uts/common/io/mac/mac_datapath_setup.c
2586
ring = ring->mr_next) {
usr/src/uts/common/io/mac/mac_datapath_setup.c
2587
if (ring->mr_state != MR_INUSE)
usr/src/uts/common/io/mac/mac_datapath_setup.c
2588
(void) mac_start_ring(ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
3381
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
3390
ring = group->mrg_rings;
usr/src/uts/common/io/mac/mac_datapath_setup.c
3392
if (ring->mr_state ==
usr/src/uts/common/io/mac/mac_datapath_setup.c
3393
MR_INUSE && ring !=
usr/src/uts/common/io/mac/mac_datapath_setup.c
3396
mac_stop_ring(ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
3397
ring->mr_flag = 0;
usr/src/uts/common/io/mac/mac_datapath_setup.c
3399
ring = ring->mr_next;
usr/src/uts/common/io/mac/mac_datapath_setup.c
3530
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
3533
ring = mac_srs->srs_ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
3535
ASSERT(ring == NULL);
usr/src/uts/common/io/mac/mac_datapath_setup.c
3539
if (ring == NULL)
usr/src/uts/common/io/mac/mac_datapath_setup.c
3550
ring->mr_classify_type = MAC_NO_CLASSIFIER;
usr/src/uts/common/io/mac/mac_datapath_setup.c
3551
ring->mr_srs = NULL;
usr/src/uts/common/io/mac/mac_datapath_setup.c
3668
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
3670
ring = mac_srs->srs_ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
3671
ASSERT(ring == NULL || ring->mr_refcnt == 0);
usr/src/uts/common/io/mac/mac_datapath_setup.c
3986
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
3994
ring = (mac_ring_t *)mip->mi_default_tx_ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
3998
ring = grp->mrg_rings;
usr/src/uts/common/io/mac/mac_datapath_setup.c
4013
if (ring != NULL &&
usr/src/uts/common/io/mac/mac_datapath_setup.c
4014
ring->mr_state != MR_INUSE) {
usr/src/uts/common/io/mac/mac_datapath_setup.c
4015
(void) mac_start_ring(ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
4017
(mac_ring_handle_t)ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
4019
tx->st_arg2 = (void *)ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
4039
VERIFY(ring != NULL);
usr/src/uts/common/io/mac/mac_datapath_setup.c
4042
switch (ring->mr_state) {
usr/src/uts/common/io/mac/mac_datapath_setup.c
4045
VERIFY3P(ring->mr_srs, ==, NULL);
usr/src/uts/common/io/mac/mac_datapath_setup.c
4047
if (ring->mr_state != MR_INUSE)
usr/src/uts/common/io/mac/mac_datapath_setup.c
4048
(void) mac_start_ring(ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
4050
(mac_ring_handle_t)ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
4058
mcip, tx_srs, -1, ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
4064
(void *)mcip, (void *)ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
4067
ring = ring->mr_next;
usr/src/uts/common/io/mac/mac_datapath_setup.c
540
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
547
ring = mac_srs->srs_ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
548
if ((ring != NULL) &&
usr/src/uts/common/io/mac/mac_datapath_setup.c
549
(ring->mr_classify_type == MAC_HW_CLASSIFIER)) {
usr/src/uts/common/io/mac/mac_datapath_setup.c
760
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac_datapath_setup.c
786
ring = (mac_ring_t *)sringp->s_ring_tx_arg2;
usr/src/uts/common/io/mac/mac_datapath_setup.c
788
if (MAC_RING_RETARGETABLE(ring) &&
usr/src/uts/common/io/mac/mac_datapath_setup.c
806
ring = (mac_ring_t *)srs_tx->st_arg2;
usr/src/uts/common/io/mac/mac_datapath_setup.c
807
if (MAC_RING_RETARGETABLE(ring) && retargetable_client) {
usr/src/uts/common/io/mac/mac_provider.c
1104
mac_ring_intr_retarget(mac_group_t *group, mac_ring_t *ring)
usr/src/uts/common/io/mac/mac_provider.c
1113
(!ring->mr_info.mri_intr.mi_ddi_shared)) {
usr/src/uts/common/io/mac/mac_provider.c
1117
if (ring->mr_type == MAC_RING_TYPE_RX) {
usr/src/uts/common/io/mac/mac_provider.c
1120
if (mac_rx_srs->srs_ring != ring)
usr/src/uts/common/io/mac/mac_provider.c
1149
mac_pseudo_ring_intr_retarget(mac_impl_t *mip, mac_ring_t *ring,
usr/src/uts/common/io/mac/mac_provider.c
1160
pring = (mac_ring_t *)ring->mr_prh;
usr/src/uts/common/io/mac/mac_provider.c
1163
saved_gen_num = ring->mr_gen_num;
usr/src/uts/common/io/mac/mac_provider.c
1190
if (ring->mr_gen_num != saved_gen_num && ring->mr_prh != NULL) {
usr/src/uts/common/io/mac/mac_provider.c
1198
if (ring->mr_prh != NULL) {
usr/src/uts/common/io/mac/mac_provider.c
1201
ring->mr_info.mri_intr.mi_ddi_shared;
usr/src/uts/common/io/mac/mac_provider.c
1217
mac_ring_t *ring = (mac_ring_t *)mrh;
usr/src/uts/common/io/mac/mac_provider.c
1218
mac_group_t *group = (mac_group_t *)ring->mr_gh;
usr/src/uts/common/io/mac/mac_provider.c
1222
ring->mr_info.mri_intr.mi_ddi_handle = ddh;
usr/src/uts/common/io/mac/mac_provider.c
1225
ring->mr_info.mri_intr.mi_ddi_shared = B_FALSE;
usr/src/uts/common/io/mac/mac_provider.c
1226
if (ring->mr_prh != NULL) {
usr/src/uts/common/io/mac/mac_provider.c
1227
mac_pseudo_ring_intr_retarget(mip, ring, ddh);
usr/src/uts/common/io/mac/mac_provider.c
1233
mip->mi_rx_group_count, ring);
usr/src/uts/common/io/mac/mac_provider.c
1234
if (!ring->mr_info.mri_intr.mi_ddi_shared) {
usr/src/uts/common/io/mac/mac_provider.c
1236
mip->mi_tx_group_count, ring);
usr/src/uts/common/io/mac/mac_provider.c
1238
if (ring->mr_prh != NULL) {
usr/src/uts/common/io/mac/mac_provider.c
1239
mac_pseudo_ring_intr_retarget(mip, ring, ddh);
usr/src/uts/common/io/mac/mac_provider.c
1242
mac_ring_intr_retarget(group, ring);
usr/src/uts/common/io/mac/mac_sched.c
4065
mac_ring_handle_t ring = NULL;
usr/src/uts/common/io/mac/mac_sched.c
4071
if (find_tx_ring_fn(arg, mp_chain, fanout_hint, &ring) == NULL)
usr/src/uts/common/io/mac/mac_sched.c
4073
sringp = srs_tx->st_soft_rings[((mac_ring_t *)ring)->mr_index];
usr/src/uts/common/io/mac/mac_sched.c
4371
mac_tx_send(mac_client_impl_t *src_mcip, mac_ring_t *ring, mblk_t *mp_chain,
usr/src/uts/common/io/mac/mac_sched.c
4407
mp = mac_provider_tx(mip, (mac_ring_handle_t)ring, mp,
usr/src/uts/common/io/mac/mac_sched.c
4516
mp = mac_provider_tx(mip, (mac_ring_handle_t)ring,
usr/src/uts/common/io/mac/mac_sched.c
4595
mac_ring_t *ring = (mac_ring_t *)ring_h;
usr/src/uts/common/io/mac/mac_sched.c
4607
if (srs_tx->st_arg2 == ring &&
usr/src/uts/common/io/mac/mac_sched.c
4630
if (sringp->s_ring_tx_arg2 == ring) {
usr/src/uts/common/io/mac/mac_soft_ring.c
240
processorid_t cpuid, mac_ring_t *ring)
usr/src/uts/common/io/mac/mac_soft_ring.c
243
VERIFY(ring != NULL);
usr/src/uts/common/io/mac/mac_soft_ring.c
250
ringp->s_ring_tx_arg2 = ring;
usr/src/uts/common/io/mac/mac_soft_ring.c
257
VERIFY3P(tx->st_soft_rings[ring->mr_index], ==, NULL);
usr/src/uts/common/io/mac/mac_soft_ring.c
258
tx->st_soft_rings[ring->mr_index] = ringp;
usr/src/uts/common/io/mac/mac_stat.c
1013
mac_ring_stat_create(mac_ring_t *ring)
usr/src/uts/common/io/mac/mac_stat.c
1015
mac_impl_t *mip = ring->mr_mip;
usr/src/uts/common/io/mac/mac_stat.c
1016
mac_group_t *grp = (mac_group_t *)ring->mr_gh;
usr/src/uts/common/io/mac/mac_stat.c
1026
switch (ring->mr_type) {
usr/src/uts/common/io/mac/mac_stat.c
1029
"mac_rx_ring_%d_%d", grp->mrg_index, ring->mr_index);
usr/src/uts/common/io/mac/mac_stat.c
1030
i_mac_rx_ring_stat_create(ring, modname, statname);
usr/src/uts/common/io/mac/mac_stat.c
1035
ring->mr_index);
usr/src/uts/common/io/mac/mac_stat.c
1036
i_mac_tx_ring_stat_create(ring, modname, statname);
usr/src/uts/common/io/mac/mac_stat.c
1060
mac_ring_t *ring = srs_tx->st_arg2;
usr/src/uts/common/io/mac/mac_stat.c
1062
if (ring != NULL) {
usr/src/uts/common/io/mac/mac_stat.c
1064
"mac_tx_hwlane%d", ring->mr_index);
usr/src/uts/common/io/mac/mac_stat.c
1072
mac_ring_t *ring = mac_srs->srs_ring;
usr/src/uts/common/io/mac/mac_stat.c
1074
if (ring == NULL) {
usr/src/uts/common/io/mac/mac_stat.c
1081
"mac_rx_hwlane%d", ring->mr_index);
usr/src/uts/common/io/mac/mac_stat.c
1107
mac_ring_t *ring = ringp->s_ring_tx_arg2;
usr/src/uts/common/io/mac/mac_stat.c
1117
ASSERT(ring != NULL);
usr/src/uts/common/io/mac/mac_stat.c
1119
ring->mr_index);
usr/src/uts/common/io/mac/mac_stat.c
1157
mac_ring_stat_delete(mac_ring_t *ring)
usr/src/uts/common/io/mac/mac_stat.c
1159
if (ring->mr_ksp != NULL) {
usr/src/uts/common/io/mac/mac_stat.c
1160
kstat_delete(ring->mr_ksp);
usr/src/uts/common/io/mac/mac_stat.c
1161
ring->mr_ksp = NULL;
usr/src/uts/common/io/mac/mac_stat.c
1231
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac_stat.c
1236
for (ring = group->mrg_rings; ring != NULL;
usr/src/uts/common/io/mac/mac_stat.c
1237
ring = ring->mr_next) {
usr/src/uts/common/io/mac/mac_stat.c
1238
mac_ring_stat_delete(ring);
usr/src/uts/common/io/mac/mac_stat.c
1239
mac_ring_stat_create(ring);
usr/src/uts/common/io/mac/mac_stat.c
1246
for (ring = group->mrg_rings; ring != NULL;
usr/src/uts/common/io/mac/mac_stat.c
1247
ring = ring->mr_next) {
usr/src/uts/common/io/mac/mac_stat.c
1248
mac_ring_stat_delete(ring);
usr/src/uts/common/io/mac/mac_stat.c
1249
mac_ring_stat_create(ring);
usr/src/uts/common/io/mac/mac_stat.c
417
mac_ring_t *ring = (mac_ring_t *)handle;
usr/src/uts/common/io/mac/mac_stat.c
427
if (ring->mr_stat != NULL)
usr/src/uts/common/io/mac/mac_stat.c
428
ring->mr_stat(ring->mr_driver, stat, &val);
usr/src/uts/common/io/mac/mac_stat.c
441
i_mac_rx_ring_stat_create(mac_ring_t *ring, const char *modname,
usr/src/uts/common/io/mac/mac_stat.c
446
ksp = i_mac_stat_create(ring, modname, statname,
usr/src/uts/common/io/mac/mac_stat.c
449
ring->mr_ksp = ksp;
usr/src/uts/common/io/mac/mac_stat.c
458
mac_ring_t *ring = (mac_ring_t *)handle;
usr/src/uts/common/io/mac/mac_stat.c
468
if (ring->mr_stat != NULL)
usr/src/uts/common/io/mac/mac_stat.c
469
ring->mr_stat(ring->mr_driver, stat, &val);
usr/src/uts/common/io/mac/mac_stat.c
482
i_mac_tx_ring_stat_create(mac_ring_t *ring, const char *modname,
usr/src/uts/common/io/mac/mac_stat.c
487
ksp = i_mac_stat_create(ring, modname, statname,
usr/src/uts/common/io/mac/mac_stat.c
490
ring->mr_ksp = ksp;
usr/src/uts/common/io/mac/mac_util.c
1876
mac_ring_t *ring;
usr/src/uts/common/io/mac/mac_util.c
1887
ring = rx_srs->srs_ring;
usr/src/uts/common/io/mac/mac_util.c
1888
mintr = &ring->mr_info.mri_intr;
usr/src/uts/common/io/mwl/mwl.c
2662
struct mwl_rx_ring *ring;
usr/src/uts/common/io/mwl/mwl.c
2668
ring = &sc->sc_rxring;
usr/src/uts/common/io/mwl/mwl.c
2669
bf = ring->buf;
usr/src/uts/common/io/mwl/mwl.c
2692
(void) ddi_dma_sync(ring->rxdesc_dma.dma_hdl,
usr/src/uts/common/io/mwl/mwl.c
2706
ds->pPhysNext = ring->physaddr;
usr/src/uts/common/io/mwl/mwl.c
2749
struct mwl_tx_ring *ring;
usr/src/uts/common/io/mwl/mwl.c
2769
ring = &sc->sc_txring[1];
usr/src/uts/common/io/mwl/mwl.c
2770
if (ring->queued > 15) {
usr/src/uts/common/io/mwl/mwl.c
2772
"no txbuf, %d\n", ring->queued);
usr/src/uts/common/io/mwl/mwl.c
2828
ds = &ring->desc[ring->cur];
usr/src/uts/common/io/mwl/mwl.c
2829
bf = &ring->buf[ring->cur];
usr/src/uts/common/io/mwl/mwl.c
2871
(void) ddi_dma_sync(ring->txdesc_dma.dma_hdl,
usr/src/uts/common/io/mwl/mwl.c
2872
ring->cur * sizeof (struct mwl_txdesc),
usr/src/uts/common/io/mwl/mwl.c
2878
mblen, ring->cur, ring->queued);
usr/src/uts/common/io/mwl/mwl.c
2880
ring->queued++;
usr/src/uts/common/io/mwl/mwl.c
2881
ring->cur = (ring->cur + 1) % MWL_TX_RING_COUNT;
usr/src/uts/common/io/mwl/mwl.c
3085
struct mwl_tx_ring *ring;
usr/src/uts/common/io/mwl/mwl.c
3092
ring = &sc->sc_txring[1];
usr/src/uts/common/io/mwl/mwl.c
3094
if (!(ring->queued)) {
usr/src/uts/common/io/mwl/mwl.c
3099
(void) ddi_dma_sync(ring->txdesc_dma.dma_hdl,
usr/src/uts/common/io/mwl/mwl.c
3101
ring->txdesc_dma.alength,
usr/src/uts/common/io/mwl/mwl.c
3105
ds = &ring->desc[ring->next];
usr/src/uts/common/io/mwl/mwl.c
3128
(void) ddi_dma_sync(ring->txdesc_dma.dma_hdl,
usr/src/uts/common/io/mwl/mwl.c
3129
ring->next * sizeof (struct mwl_txdesc),
usr/src/uts/common/io/mwl/mwl.c
3133
ring->queued--;
usr/src/uts/common/io/mwl/mwl.c
3134
ring->next = (ring->next + 1) % MWL_TX_RING_COUNT;
usr/src/uts/common/io/mwl/mwl.c
3137
ring->next, ring->queued);
usr/src/uts/common/io/mwl/mwl.c
3140
(ring->queued < MWL_TX_RING_COUNT)) {
usr/src/uts/common/io/mwl/mwl.c
3173
struct mwl_rx_ring *ring;
usr/src/uts/common/io/mwl/mwl.c
3186
ring = &sc->sc_rxring;
usr/src/uts/common/io/mwl/mwl.c
3188
bf = &ring->buf[ring->cur];
usr/src/uts/common/io/mwl/mwl.c
3192
(void) ddi_dma_sync(ring->rxdesc_dma.dma_hdl,
usr/src/uts/common/io/mwl/mwl.c
3193
ring->cur * sizeof (struct mwl_rxdesc),
usr/src/uts/common/io/mwl/mwl.c
3281
(void) ddi_dma_sync(ring->rxdesc_dma.dma_hdl,
usr/src/uts/common/io/mwl/mwl.c
3282
ring->cur * sizeof (struct mwl_rxdesc),
usr/src/uts/common/io/mwl/mwl.c
3287
ring->cur = (ring->cur + 1) % MWL_RX_RING_COUNT;
usr/src/uts/common/io/mwl/mwl.c
464
struct mwl_rx_ring *ring;
usr/src/uts/common/io/mwl/mwl.c
469
ring = &sc->sc_rxring;
usr/src/uts/common/io/mwl/mwl.c
470
ring->count = count;
usr/src/uts/common/io/mwl/mwl.c
471
ring->cur = ring->next = 0;
usr/src/uts/common/io/mwl/mwl.c
476
&ring->rxdesc_dma);
usr/src/uts/common/io/mwl/mwl.c
485
"dma len = %d\n", (uint32_t)(ring->rxdesc_dma.alength));
usr/src/uts/common/io/mwl/mwl.c
486
ring->desc = (struct mwl_rxdesc *)ring->rxdesc_dma.mem_va;
usr/src/uts/common/io/mwl/mwl.c
487
ring->physaddr = ring->rxdesc_dma.cookie.dmac_address;
usr/src/uts/common/io/mwl/mwl.c
488
bzero(ring->desc, count * sizeof (struct mwl_rxdesc));
usr/src/uts/common/io/mwl/mwl.c
491
ring->buf = (struct mwl_rxbuf *)kmem_zalloc(datadlen, KM_SLEEP);
usr/src/uts/common/io/mwl/mwl.c
492
if (ring->buf == NULL) {
usr/src/uts/common/io/mwl/mwl.c
497
bzero(ring->buf, count * sizeof (struct mwl_rxbuf));
usr/src/uts/common/io/mwl/mwl.c
503
ds = &ring->desc[i];
usr/src/uts/common/io/mwl/mwl.c
504
bf = &ring->buf[i];
usr/src/uts/common/io/mwl/mwl.c
515
bf->bf_daddr = ring->physaddr + _PTRDIFF(ds, ring->desc);
usr/src/uts/common/io/mwl/mwl.c
518
(void) ddi_dma_sync(ring->rxdesc_dma.dma_hdl,
usr/src/uts/common/io/mwl/mwl.c
520
ring->rxdesc_dma.alength,
usr/src/uts/common/io/mwl/mwl.c
529
struct mwl_rx_ring *ring;
usr/src/uts/common/io/mwl/mwl.c
533
ring = &sc->sc_rxring;
usr/src/uts/common/io/mwl/mwl.c
535
if (ring->desc != NULL) {
usr/src/uts/common/io/mwl/mwl.c
536
mwl_free_dma_mem(&ring->rxdesc_dma);
usr/src/uts/common/io/mwl/mwl.c
539
if (ring->buf != NULL) {
usr/src/uts/common/io/mwl/mwl.c
540
for (i = 0; i < ring->count; i++) {
usr/src/uts/common/io/mwl/mwl.c
541
bf = &ring->buf[i];
usr/src/uts/common/io/mwl/mwl.c
544
kmem_free(ring->buf,
usr/src/uts/common/io/mwl/mwl.c
545
(ring->count * sizeof (struct mwl_rxbuf)));
usr/src/uts/common/io/mwl/mwl.c
550
mwl_alloc_tx_ring(struct mwl_softc *sc, struct mwl_tx_ring *ring,
usr/src/uts/common/io/mwl/mwl.c
557
ring->count = count;
usr/src/uts/common/io/mwl/mwl.c
558
ring->queued = 0;
usr/src/uts/common/io/mwl/mwl.c
559
ring->cur = ring->next = ring->stat = 0;
usr/src/uts/common/io/mwl/mwl.c
563
&ring->txdesc_dma);
usr/src/uts/common/io/mwl/mwl.c
572
"dma len = %d\n", (uint32_t)(ring->txdesc_dma.alength));
usr/src/uts/common/io/mwl/mwl.c
573
ring->desc = (struct mwl_txdesc *)ring->txdesc_dma.mem_va;
usr/src/uts/common/io/mwl/mwl.c
574
ring->physaddr = ring->txdesc_dma.cookie.dmac_address;
usr/src/uts/common/io/mwl/mwl.c
575
bzero(ring->desc, count * sizeof (struct mwl_txdesc));
usr/src/uts/common/io/mwl/mwl.c
578
ring->buf = kmem_zalloc(datadlen, KM_SLEEP);
usr/src/uts/common/io/mwl/mwl.c
579
if (ring->buf == NULL) {
usr/src/uts/common/io/mwl/mwl.c
584
bzero(ring->buf, count * sizeof (struct mwl_txbuf));
usr/src/uts/common/io/mwl/mwl.c
587
ds = &ring->desc[i];
usr/src/uts/common/io/mwl/mwl.c
588
bf = &ring->buf[i];
usr/src/uts/common/io/mwl/mwl.c
598
bf->bf_daddr = ring->physaddr + _PTRDIFF(ds, ring->desc);
usr/src/uts/common/io/mwl/mwl.c
602
(void) ddi_dma_sync(ring->txdesc_dma.dma_hdl,
usr/src/uts/common/io/mwl/mwl.c
604
ring->txdesc_dma.alength,
usr/src/uts/common/io/mwl/mwl.c
612
mwl_free_tx_ring(struct mwl_softc *sc, struct mwl_tx_ring *ring)
usr/src/uts/common/io/mwl/mwl.c
617
if (ring->desc != NULL) {
usr/src/uts/common/io/mwl/mwl.c
618
mwl_free_dma_mem(&ring->txdesc_dma);
usr/src/uts/common/io/mwl/mwl.c
621
if (ring->buf != NULL) {
usr/src/uts/common/io/mwl/mwl.c
622
for (i = 0; i < ring->count; i++) {
usr/src/uts/common/io/mwl/mwl.c
623
bf = &ring->buf[i];
usr/src/uts/common/io/mwl/mwl.c
626
kmem_free(ring->buf,
usr/src/uts/common/io/mwl/mwl.c
627
(ring->count * sizeof (struct mwl_txbuf)));
usr/src/uts/common/io/ntxn/unm_gem.c
1392
int i, ring;
usr/src/uts/common/io/ntxn/unm_gem.c
1401
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
usr/src/uts/common/io/ntxn/unm_gem.c
1402
rcv_desc = &recv_ctx->rcv_desc[ring];
usr/src/uts/common/io/ntxn/unm_gem.c
1425
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
usr/src/uts/common/io/ntxn/unm_gem.c
1426
rcv_desc = &recv_ctx->rcv_desc[ring];
usr/src/uts/common/io/ntxn/unm_gem.c
1439
int ctx, ring;
usr/src/uts/common/io/ntxn/unm_gem.c
1446
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
usr/src/uts/common/io/ntxn/unm_gem.c
1447
rcv_desc = &recv_ctx->rcv_desc[ring];
usr/src/uts/common/io/ntxn/unm_gem.c
707
int i, ring, tx_desc, rx_desc, rx_jdesc, maxrx;
usr/src/uts/common/io/ntxn/unm_gem.c
800
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
usr/src/uts/common/io/ntxn/unm_gem.c
801
rcv_desc = &recv_ctx->rcv_desc[ring];
usr/src/uts/common/io/ntxn/unm_gem.c
803
switch (RCV_DESC_TYPE(ring)) {
usr/src/uts/common/io/ntxn/unm_nic_ctx.c
582
int ctx, ring, func_id = adapter->portnum;
usr/src/uts/common/io/ntxn/unm_nic_ctx.c
592
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
usr/src/uts/common/io/ntxn/unm_nic_ctx.c
593
rcv_desc = &recv_ctx->rcv_desc[ring];
usr/src/uts/common/io/ntxn/unm_nic_ctx.c
595
adapter->ctxDesc->RcvContext[ring].RcvRingAddrLo =
usr/src/uts/common/io/ntxn/unm_nic_ctx.c
597
adapter->ctxDesc->RcvContext[ring].RcvRingAddrHi =
usr/src/uts/common/io/ntxn/unm_nic_ctx.c
599
adapter->ctxDesc->RcvContext[ring].RcvRingSize =
usr/src/uts/common/io/ntxn/unm_nic_ctx.c
604
crb_rcv_producer[ring];
usr/src/uts/common/io/ntxn/unm_nic_main.c
1333
int count = 0, ring;
usr/src/uts/common/io/ntxn/unm_nic_main.c
1356
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
usr/src/uts/common/io/ntxn/unm_nic_main.c
1357
if (recv_ctx->rcv_desc[ring].rx_desc_handled > 0)
usr/src/uts/common/io/ntxn/unm_nic_main.c
1358
unm_post_rx_buffers_nodb(adapter, ring);
usr/src/uts/common/io/ntxn/unm_nic_main.c
2198
int ring;
usr/src/uts/common/io/ntxn/unm_nic_main.c
2236
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
usr/src/uts/common/io/ntxn/unm_nic_main.c
2237
if (unm_post_rx_buffers(adapter, ring) != DDI_SUCCESS) {
usr/src/uts/common/io/ntxn/unm_nic_main.c
317
int ctx, ring;
usr/src/uts/common/io/ntxn/unm_nic_main.c
339
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
usr/src/uts/common/io/ntxn/unm_nic_main.c
340
rcv_desc = &recv_ctx->rcv_desc[ring];
usr/src/uts/common/io/ntxn/unm_nic_main.c
489
int ctx, ring;
usr/src/uts/common/io/ntxn/unm_nic_main.c
558
for (ring = 0; ring < adapter->max_rds_rings; ring++) {
usr/src/uts/common/io/ntxn/unm_nic_main.c
559
rcv_desc = &recv_ctx->rcv_desc[ring];
usr/src/uts/common/io/ntxn/unm_nic_main.c
569
"rx desc ring %d\n", ring);
usr/src/uts/common/io/nxge/nxge_hio.c
2097
tx_ring_t *ring;
usr/src/uts/common/io/nxge/nxge_hio.c
2105
ring = nxge->tx_rings->rings[channel];
usr/src/uts/common/io/nxge/nxge_hio.c
2106
ASSERT(ring != NULL);
usr/src/uts/common/io/nxge/nxge_hio.c
2108
(void) atomic_swap_32(&ring->tx_ring_offline, NXGE_TX_RING_OFFLINING);
usr/src/uts/common/io/nxge/nxge_hio.c
2109
if (ring->tx_ring_busy) {
usr/src/uts/common/io/nxge/nxge_hio.c
2114
if (ring->tx_ring_offline & NXGE_TX_RING_OFFLINED) {
usr/src/uts/common/io/nxge/nxge_hio.c
2122
(void) atomic_swap_32(&ring->tx_ring_offline,
usr/src/uts/common/io/nxge/nxge_hio.c
2130
(void) atomic_swap_32(&ring->tx_ring_offline,
usr/src/uts/common/io/nxge/nxge_hio.c
2568
nxge_hio_rxdma_bind_intr(nxge_t *nxge, rx_rcr_ring_t *ring, int channel)
usr/src/uts/common/io/nxge/nxge_hio.c
2593
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/nxge/nxge_hio.c
2594
ring->ldgp = group;
usr/src/uts/common/io/nxge/nxge_hio.c
2595
ring->ldvp = device;
usr/src/uts/common/io/nxge/nxge_hio.c
2596
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/nxge/nxge_hio_guest.c
607
tx_ring_t *ring;
usr/src/uts/common/io/nxge/nxge_hio_guest.c
614
ring = nxge->tx_rings->rings[channel];
usr/src/uts/common/io/nxge/nxge_hio_guest.c
616
if (ring->hv_set) {
usr/src/uts/common/io/nxge/nxge_hio_guest.c
631
ring->hv_tx_buf_base_ioaddr_pp = (uint64_t)data->orig_ioaddr_pp;
usr/src/uts/common/io/nxge/nxge_hio_guest.c
632
ring->hv_tx_buf_ioaddr_size = (uint64_t)data->orig_alength;
usr/src/uts/common/io/nxge/nxge_hio_guest.c
636
ring->hv_tx_buf_base_ioaddr_pp,
usr/src/uts/common/io/nxge/nxge_hio_guest.c
637
ring->hv_tx_buf_ioaddr_size);
usr/src/uts/common/io/nxge/nxge_hio_guest.c
645
ring->hv_tx_buf_base_ioaddr_pp,
usr/src/uts/common/io/nxge/nxge_hio_guest.c
646
ring->hv_tx_buf_ioaddr_size));
usr/src/uts/common/io/nxge/nxge_hio_guest.c
659
channel, hv_rv, ring->hv_tx_buf_base_ioaddr_pp,
usr/src/uts/common/io/nxge/nxge_hio_guest.c
660
ring->hv_tx_buf_ioaddr_size, ra, size));
usr/src/uts/common/io/nxge/nxge_hio_guest.c
666
ring->hv_tx_cntl_base_ioaddr_pp = (uint64_t)control->orig_ioaddr_pp;
usr/src/uts/common/io/nxge/nxge_hio_guest.c
667
ring->hv_tx_cntl_ioaddr_size = (uint64_t)control->orig_alength;
usr/src/uts/common/io/nxge/nxge_hio_guest.c
671
ring->hv_tx_cntl_base_ioaddr_pp,
usr/src/uts/common/io/nxge/nxge_hio_guest.c
672
ring->hv_tx_cntl_ioaddr_size);
usr/src/uts/common/io/nxge/nxge_hio_guest.c
680
ring->hv_tx_cntl_base_ioaddr_pp,
usr/src/uts/common/io/nxge/nxge_hio_guest.c
681
ring->hv_tx_cntl_ioaddr_size));
usr/src/uts/common/io/nxge/nxge_hio_guest.c
694
channel, hv_rv, ring->hv_tx_cntl_base_ioaddr_pp,
usr/src/uts/common/io/nxge/nxge_hio_guest.c
695
ring->hv_tx_cntl_ioaddr_size, ra, size));
usr/src/uts/common/io/nxge/nxge_hio_guest.c
697
ring->hv_set = B_TRUE;
usr/src/uts/common/io/nxge/nxge_hio_guest.c
726
rx_rbr_ring_t *ring;
usr/src/uts/common/io/nxge/nxge_hio_guest.c
733
ring = nxge->rx_rbr_rings->rbr_rings[channel];
usr/src/uts/common/io/nxge/nxge_hio_guest.c
735
if (ring->hv_set) {
usr/src/uts/common/io/nxge/nxge_hio_guest.c
749
ring->hv_rx_buf_base_ioaddr_pp = (uint64_t)data->orig_ioaddr_pp;
usr/src/uts/common/io/nxge/nxge_hio_guest.c
750
ring->hv_rx_buf_ioaddr_size = (uint64_t)data->orig_alength;
usr/src/uts/common/io/nxge/nxge_hio_guest.c
754
ring->hv_rx_buf_base_ioaddr_pp,
usr/src/uts/common/io/nxge/nxge_hio_guest.c
755
ring->hv_rx_buf_ioaddr_size);
usr/src/uts/common/io/nxge/nxge_hio_guest.c
763
ring->hv_rx_buf_base_ioaddr_pp,
usr/src/uts/common/io/nxge/nxge_hio_guest.c
764
ring->hv_rx_buf_ioaddr_size));
usr/src/uts/common/io/nxge/nxge_hio_guest.c
777
channel, hv_rv, ring->hv_rx_buf_base_ioaddr_pp,
usr/src/uts/common/io/nxge/nxge_hio_guest.c
778
ring->hv_rx_buf_ioaddr_size, ra, size));
usr/src/uts/common/io/nxge/nxge_hio_guest.c
784
ring->hv_rx_cntl_base_ioaddr_pp = (uint64_t)control->orig_ioaddr_pp;
usr/src/uts/common/io/nxge/nxge_hio_guest.c
785
ring->hv_rx_cntl_ioaddr_size = (uint64_t)control->orig_alength;
usr/src/uts/common/io/nxge/nxge_hio_guest.c
789
ring->hv_rx_cntl_base_ioaddr_pp,
usr/src/uts/common/io/nxge/nxge_hio_guest.c
790
ring->hv_rx_cntl_ioaddr_size);
usr/src/uts/common/io/nxge/nxge_hio_guest.c
798
ring->hv_rx_cntl_base_ioaddr_pp,
usr/src/uts/common/io/nxge/nxge_hio_guest.c
799
ring->hv_rx_cntl_ioaddr_size));
usr/src/uts/common/io/nxge/nxge_hio_guest.c
812
channel, hv_rv, ring->hv_rx_cntl_base_ioaddr_pp,
usr/src/uts/common/io/nxge/nxge_hio_guest.c
813
ring->hv_rx_cntl_ioaddr_size, ra, size));
usr/src/uts/common/io/nxge/nxge_hio_guest.c
815
ring->hv_set = B_TRUE;
usr/src/uts/common/io/nxge/nxge_main.c
5522
p_tx_ring_t ring;
usr/src/uts/common/io/nxge/nxge_main.c
5525
ring = nxgep->tx_rings->rings[channel];
usr/src/uts/common/io/nxge/nxge_main.c
5527
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/nxge/nxge_main.c
5528
ASSERT(ring->tx_ring_handle == NULL);
usr/src/uts/common/io/nxge/nxge_main.c
5529
ring->tx_ring_handle = rhp->ring_handle;
usr/src/uts/common/io/nxge/nxge_main.c
5530
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/nxge/nxge_main.c
5541
p_tx_ring_t ring;
usr/src/uts/common/io/nxge/nxge_main.c
5544
ring = nxgep->tx_rings->rings[channel];
usr/src/uts/common/io/nxge/nxge_main.c
5546
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/nxge/nxge_main.c
5547
ASSERT(ring->tx_ring_handle != NULL);
usr/src/uts/common/io/nxge/nxge_main.c
5548
ring->tx_ring_handle = (mac_ring_handle_t)NULL;
usr/src/uts/common/io/nxge/nxge_main.c
5549
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/nxge/nxge_main.c
5558
p_rx_rcr_ring_t ring;
usr/src/uts/common/io/nxge/nxge_main.c
5562
ring = nxgep->rx_rcr_rings->rcr_rings[channel];
usr/src/uts/common/io/nxge/nxge_main.c
5564
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/nxge/nxge_main.c
5566
if (ring->started) {
usr/src/uts/common/io/nxge/nxge_main.c
5567
ASSERT(ring->started == B_FALSE);
usr/src/uts/common/io/nxge/nxge_main.c
5568
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/nxge/nxge_main.c
5576
ring->ldvp = &nxgep->ldgvp->ldvp[i];
usr/src/uts/common/io/nxge/nxge_main.c
5577
ring->ldgp = nxgep->ldgvp->ldvp[i].ldgp;
usr/src/uts/common/io/nxge/nxge_main.c
5581
ring->rcr_mac_handle = rhp->ring_handle;
usr/src/uts/common/io/nxge/nxge_main.c
5582
ring->rcr_gen_num = mr_gen_num;
usr/src/uts/common/io/nxge/nxge_main.c
5583
ring->started = B_TRUE;
usr/src/uts/common/io/nxge/nxge_main.c
5585
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/nxge/nxge_main.c
5596
p_rx_rcr_ring_t ring;
usr/src/uts/common/io/nxge/nxge_main.c
5599
ring = nxgep->rx_rcr_rings->rcr_rings[channel];
usr/src/uts/common/io/nxge/nxge_main.c
5601
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/nxge/nxge_main.c
5602
ASSERT(ring->started == B_TRUE);
usr/src/uts/common/io/nxge/nxge_main.c
5603
ring->rcr_mac_handle = NULL;
usr/src/uts/common/io/nxge/nxge_main.c
5604
ring->ldvp = NULL;
usr/src/uts/common/io/nxge/nxge_main.c
5605
ring->ldgp = NULL;
usr/src/uts/common/io/nxge/nxge_main.c
5606
ring->started = B_FALSE;
usr/src/uts/common/io/nxge/nxge_main.c
5607
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/nxge/nxge_rxdma.c
1220
rx_rbr_ring_t *ring =
usr/src/uts/common/io/nxge/nxge_rxdma.c
1223
if (ring) {
usr/src/uts/common/io/nxge/nxge_rxdma.c
1312
rx_rbr_ring_t *ring =
usr/src/uts/common/io/nxge/nxge_rxdma.c
1314
if (ring) {
usr/src/uts/common/io/nxge/nxge_rxdma.c
1319
rdc, ring));
usr/src/uts/common/io/nxge/nxge_rxdma.c
1425
rx_rbr_ring_t *ring =
usr/src/uts/common/io/nxge/nxge_rxdma.c
1427
if (ring) {
usr/src/uts/common/io/nxge/nxge_rxdma.c
1428
if (channel == ring->rdc) {
usr/src/uts/common/io/nxge/nxge_rxdma.c
1431
"channel %d ring $%p", rdc, ring));
usr/src/uts/common/io/nxge/nxge_rxdma.c
1432
return (ring);
usr/src/uts/common/io/nxge/nxge_rxdma.c
1468
rx_rcr_ring_t *ring =
usr/src/uts/common/io/nxge/nxge_rxdma.c
1470
if (ring) {
usr/src/uts/common/io/nxge/nxge_rxdma.c
1471
if (channel == ring->rdc) {
usr/src/uts/common/io/nxge/nxge_rxdma.c
1474
"channel %d ring $%p", rdc, ring));
usr/src/uts/common/io/nxge/nxge_rxdma.c
1475
return (ring);
usr/src/uts/common/io/nxge/nxge_rxdma.c
1655
rx_rbr_ring_t *ring = rx_msg_p->rx_rbr_p;
usr/src/uts/common/io/nxge/nxge_rxdma.c
1684
if (ring) {
usr/src/uts/common/io/nxge/nxge_rxdma.c
1689
atomic_dec_32(&ring->rbr_ref_cnt);
usr/src/uts/common/io/nxge/nxge_rxdma.c
1697
if (ring->rbr_ref_cnt == 0 &&
usr/src/uts/common/io/nxge/nxge_rxdma.c
1698
ring->rbr_state == RBR_UNMAPPED) {
usr/src/uts/common/io/nxge/nxge_rxdma.c
1709
nxge_rxdma_databuf_free(ring);
usr/src/uts/common/io/nxge/nxge_rxdma.c
1710
if (ring->ring_info) {
usr/src/uts/common/io/nxge/nxge_rxdma.c
1711
KMEM_FREE(ring->ring_info,
usr/src/uts/common/io/nxge/nxge_rxdma.c
1715
if (ring->rx_msg_ring) {
usr/src/uts/common/io/nxge/nxge_rxdma.c
1716
KMEM_FREE(ring->rx_msg_ring,
usr/src/uts/common/io/nxge/nxge_rxdma.c
1717
ring->tnblocks *
usr/src/uts/common/io/nxge/nxge_rxdma.c
1720
KMEM_FREE(ring, sizeof (*ring));
usr/src/uts/common/io/nxge/nxge_rxdma.c
1729
if (free_state && (ref_cnt == 1) && ring) {
usr/src/uts/common/io/nxge/nxge_rxdma.c
1732
if (ring->rbr_state == RBR_POSTING)
usr/src/uts/common/io/nxge/nxge_rxdma.c
1733
nxge_post_page(rx_msg_p->nxgep, ring, rx_msg_p);
usr/src/uts/common/io/nxge/nxge_rxdma.c
220
p_rx_rcr_ring_t ring = nxge->rx_rcr_rings->rcr_rings[channel];
usr/src/uts/common/io/nxge/nxge_rxdma.c
222
status = nxge_hio_rxdma_bind_intr(nxge, ring, channel);
usr/src/uts/common/io/nxge/nxge_rxdma.c
3130
rx_rbr_ring_t *ring;
usr/src/uts/common/io/nxge/nxge_rxdma.c
3132
ring = nxgep->rx_rbr_rings->rbr_rings[channel];
usr/src/uts/common/io/nxge/nxge_rxdma.c
3135
ring->hv_set = B_FALSE;
usr/src/uts/common/io/nxge/nxge_rxdma.c
3137
ring->hv_rx_buf_base_ioaddr_pp = (uint64_t)
usr/src/uts/common/io/nxge/nxge_rxdma.c
3139
ring->hv_rx_buf_ioaddr_size = (uint64_t)
usr/src/uts/common/io/nxge/nxge_rxdma.c
3144
channel, ring->hv_rx_buf_base_ioaddr_pp,
usr/src/uts/common/io/nxge/nxge_rxdma.c
3145
dma_common->ioaddr_pp, ring->hv_rx_buf_ioaddr_size,
usr/src/uts/common/io/nxge/nxge_rxdma.c
3150
ring->hv_rx_cntl_base_ioaddr_pp =
usr/src/uts/common/io/nxge/nxge_rxdma.c
3152
ring->hv_rx_cntl_ioaddr_size =
usr/src/uts/common/io/nxge/nxge_rxdma.c
3157
channel, ring->hv_rx_cntl_base_ioaddr_pp,
usr/src/uts/common/io/nxge/nxge_rxdma.c
3158
dma_control->ioaddr_pp, ring->hv_rx_cntl_ioaddr_size,
usr/src/uts/common/io/nxge/nxge_rxdma.c
332
rx_rbr_ring_t *ring =
usr/src/uts/common/io/nxge/nxge_rxdma.c
334
if (ring) {
usr/src/uts/common/io/nxge/nxge_send.c
63
p_tx_ring_t ring = (p_tx_ring_t)arg;
usr/src/uts/common/io/nxge/nxge_send.c
65
ASSERT(ring->tx_ring_handle != NULL);
usr/src/uts/common/io/nxge/nxge_send.c
67
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/nxge/nxge_send.c
68
(void) nxge_txdma_reclaim(ring->nxgep, ring, 0);
usr/src/uts/common/io/nxge/nxge_send.c
69
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/nxge/nxge_send.c
71
if (!ring->tx_ring_offline) {
usr/src/uts/common/io/nxge/nxge_send.c
72
mac_tx_ring_update(ring->nxgep->mach, ring->tx_ring_handle);
usr/src/uts/common/io/nxge/nxge_send.c
77
nxge_tx_ring_dispatch(p_tx_ring_t ring)
usr/src/uts/common/io/nxge/nxge_send.c
82
(void) ddi_taskq_dispatch(ring->taskq,
usr/src/uts/common/io/nxge/nxge_send.c
83
nxge_tx_ring_task, (void *)ring, DDI_SLEEP);
usr/src/uts/common/io/nxge/nxge_txdma.c
1341
tx_ring_t *ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
1342
if (ring) {
usr/src/uts/common/io/nxge/nxge_txdma.c
1493
tx_ring_t *ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
1494
if (ring) {
usr/src/uts/common/io/nxge/nxge_txdma.c
1498
nxge_txdma_fixup_channel(nxgep, ring, tdc);
usr/src/uts/common/io/nxge/nxge_txdma.c
1581
tx_ring_t *ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
1582
if (ring) {
usr/src/uts/common/io/nxge/nxge_txdma.c
1585
nxge_txdma_hw_kick_channel(nxgep, ring, tdc);
usr/src/uts/common/io/nxge/nxge_txdma.c
1734
tx_ring_t *ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
1735
if (ring) {
usr/src/uts/common/io/nxge/nxge_txdma.c
1736
if (nxge_txdma_channel_hung(nxgep, ring, tdc)) {
usr/src/uts/common/io/nxge/nxge_txdma.c
1874
tx_ring_t *ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
1875
if (ring) {
usr/src/uts/common/io/nxge/nxge_txdma.c
1876
nxge_txdma_fixup_hung_channel(nxgep, ring, tdc);
usr/src/uts/common/io/nxge/nxge_txdma.c
2027
tx_ring_t *ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
2028
if (ring) {
usr/src/uts/common/io/nxge/nxge_txdma.c
2031
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/nxge/nxge_txdma.c
2032
(void) nxge_txdma_reclaim(nxgep, ring, 0);
usr/src/uts/common/io/nxge/nxge_txdma.c
2033
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/nxge/nxge_txdma.c
2068
tx_ring_t *ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
2069
if (ring) {
usr/src/uts/common/io/nxge/nxge_txdma.c
2172
tx_ring_t *ring;
usr/src/uts/common/io/nxge/nxge_txdma.c
2174
ring = nxgep->tx_rings->rings[channel];
usr/src/uts/common/io/nxge/nxge_txdma.c
2177
ring->hv_set = B_FALSE;
usr/src/uts/common/io/nxge/nxge_txdma.c
2179
ring->hv_tx_buf_base_ioaddr_pp =
usr/src/uts/common/io/nxge/nxge_txdma.c
2181
ring->hv_tx_buf_ioaddr_size =
usr/src/uts/common/io/nxge/nxge_txdma.c
2187
ring->hv_tx_buf_base_ioaddr_pp,
usr/src/uts/common/io/nxge/nxge_txdma.c
2188
ring->hv_tx_buf_ioaddr_size, ring->hv_tx_buf_ioaddr_size,
usr/src/uts/common/io/nxge/nxge_txdma.c
2194
ring->hv_tx_cntl_base_ioaddr_pp =
usr/src/uts/common/io/nxge/nxge_txdma.c
2196
ring->hv_tx_cntl_ioaddr_size =
usr/src/uts/common/io/nxge/nxge_txdma.c
2202
ring->hv_tx_cntl_base_ioaddr_pp,
usr/src/uts/common/io/nxge/nxge_txdma.c
2204
ring->hv_tx_cntl_ioaddr_size,
usr/src/uts/common/io/nxge/nxge_txdma.c
2214
tx_ring_t **pRing, *ring;
usr/src/uts/common/io/nxge/nxge_txdma.c
2261
ring = *pRing;
usr/src/uts/common/io/nxge/nxge_txdma.c
2263
ring->index = (uint16_t)channel;
usr/src/uts/common/io/nxge/nxge_txdma.c
2264
ring->tdc_stats = &nxgep->statsp->tdc_stats[channel];
usr/src/uts/common/io/nxge/nxge_txdma.c
2327
tx_ring_t *ring;
usr/src/uts/common/io/nxge/nxge_txdma.c
2335
ring = nxgep->tx_rings->rings[channel];
usr/src/uts/common/io/nxge/nxge_txdma.c
2338
(void) nxge_unmap_txdma_channel_cfg_ring(nxgep, ring, mailbox);
usr/src/uts/common/io/nxge/nxge_txdma.c
2341
(void) nxge_unmap_txdma_channel_buf_ring(nxgep, ring);
usr/src/uts/common/io/nxge/nxge_txdma.c
3033
tx_ring_t *ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
3034
if (ring) {
usr/src/uts/common/io/nxge/nxge_txdma.c
3035
if (channel == ring->tdc) {
usr/src/uts/common/io/nxge/nxge_txdma.c
3038
"tdc %d ring $%p", tdc, ring));
usr/src/uts/common/io/nxge/nxge_txdma.c
3039
return (ring);
usr/src/uts/common/io/nxge/nxge_txdma.c
3093
tx_ring_t *ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
3094
if (ring) {
usr/src/uts/common/io/nxge/nxge_txdma.c
3095
if (channel == ring->tdc) {
usr/src/uts/common/io/nxge/nxge_txdma.c
3411
tx_ring_t *ring;
usr/src/uts/common/io/nxge/nxge_txdma.c
3441
tx_ring_t *ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
3442
if (ring)
usr/src/uts/common/io/nxge/nxge_txdma.c
3443
MUTEX_ENTER(&ring->lock);
usr/src/uts/common/io/nxge/nxge_txdma.c
3455
ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
3456
if (ring) {
usr/src/uts/common/io/nxge/nxge_txdma.c
3473
tx_ring_t *ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
3474
if (ring) {
usr/src/uts/common/io/nxge/nxge_txdma.c
3475
(void) nxge_txdma_reclaim(nxgep, ring, 0);
usr/src/uts/common/io/nxge/nxge_txdma.c
3487
tx_ring_t *ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
3488
if (ring) {
usr/src/uts/common/io/nxge/nxge_txdma.c
3513
ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
3514
if (ring) {
usr/src/uts/common/io/nxge/nxge_txdma.c
3517
ring, mailbox);
usr/src/uts/common/io/nxge/nxge_txdma.c
3518
ring->tx_evmask.value = 0;
usr/src/uts/common/io/nxge/nxge_txdma.c
3523
(nxgep, tdc, &ring->tx_evmask);
usr/src/uts/common/io/nxge/nxge_txdma.c
3525
ring->wr_index_wrap = B_FALSE;
usr/src/uts/common/io/nxge/nxge_txdma.c
3526
ring->wr_index = 0;
usr/src/uts/common/io/nxge/nxge_txdma.c
3527
ring->rd_index = 0;
usr/src/uts/common/io/nxge/nxge_txdma.c
3542
ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
3543
if (ring) {
usr/src/uts/common/io/nxge/nxge_txdma.c
3546
ring, mailbox);
usr/src/uts/common/io/nxge/nxge_txdma.c
3558
tx_ring_t *ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
3559
if (ring)
usr/src/uts/common/io/nxge/nxge_txdma.c
3560
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/nxge/nxge_txdma.c
3572
ring = nxgep->tx_rings->rings[tdc];
usr/src/uts/common/io/nxge/nxge_txdma.c
3573
if (ring)
usr/src/uts/common/io/nxge/nxge_txdma.c
3574
MUTEX_EXIT(&ring->lock);
usr/src/uts/common/io/ral/rt2560.c
570
rt2560_alloc_tx_ring(struct rt2560_softc *sc, struct rt2560_tx_ring *ring,
usr/src/uts/common/io/ral/rt2560.c
576
ring->count = count;
usr/src/uts/common/io/ral/rt2560.c
577
ring->queued = 0;
usr/src/uts/common/io/ral/rt2560.c
578
ring->cur = ring->next = 0;
usr/src/uts/common/io/ral/rt2560.c
579
ring->cur_encrypt = ring->next_encrypt = 0;
usr/src/uts/common/io/ral/rt2560.c
581
ring->data = kmem_zalloc(count * (sizeof (struct rt2560_tx_data)),
usr/src/uts/common/io/ral/rt2560.c
583
ring->dr_txbuf = kmem_zalloc(count * (sizeof (struct dma_region)),
usr/src/uts/common/io/ral/rt2560.c
586
err = ral_dma_region_alloc(sc, &ring->dr_desc,
usr/src/uts/common/io/ral/rt2560.c
595
err = ral_dma_region_alloc(sc, &ring->dr_txbuf[i], size,
usr/src/uts/common/io/ral/rt2560.c
599
ral_dma_region_free(sc, &ring->dr_txbuf[i]);
usr/src/uts/common/io/ral/rt2560.c
606
ring->physaddr = LE_32(ring->dr_desc.dr_pbase);
usr/src/uts/common/io/ral/rt2560.c
607
ring->desc = (struct rt2560_tx_desc *)ring->dr_desc.dr_base;
usr/src/uts/common/io/ral/rt2560.c
610
ring->desc[i].physaddr = LE_32(ring->dr_txbuf[i].dr_pbase);
usr/src/uts/common/io/ral/rt2560.c
611
ring->data[i].buf = ring->dr_txbuf[i].dr_base;
usr/src/uts/common/io/ral/rt2560.c
616
ral_dma_region_free(sc, &ring->dr_desc);
usr/src/uts/common/io/ral/rt2560.c
623
rt2560_reset_tx_ring(struct rt2560_softc *sc, struct rt2560_tx_ring *ring)
usr/src/uts/common/io/ral/rt2560.c
629
for (i = 0; i < ring->count; i++) {
usr/src/uts/common/io/ral/rt2560.c
630
desc = &ring->desc[i];
usr/src/uts/common/io/ral/rt2560.c
631
data = &ring->data[i];
usr/src/uts/common/io/ral/rt2560.c
641
(void) ddi_dma_sync(ring->dr_desc.dr_hnd, 0,
usr/src/uts/common/io/ral/rt2560.c
642
ring->count * sizeof (struct rt2560_tx_desc), DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/ral/rt2560.c
644
ring->queued = 0;
usr/src/uts/common/io/ral/rt2560.c
645
ring->cur = ring->next = 0;
usr/src/uts/common/io/ral/rt2560.c
646
ring->cur_encrypt = ring->next_encrypt = 0;
usr/src/uts/common/io/ral/rt2560.c
650
rt2560_free_tx_ring(struct rt2560_softc *sc, struct rt2560_tx_ring *ring)
usr/src/uts/common/io/ral/rt2560.c
655
ral_dma_region_free(sc, &ring->dr_desc);
usr/src/uts/common/io/ral/rt2560.c
657
for (i = 0; i < ring->count; i++) {
usr/src/uts/common/io/ral/rt2560.c
658
data = &ring->data[i];
usr/src/uts/common/io/ral/rt2560.c
664
ral_dma_region_free(sc, &ring->dr_txbuf[i]);
usr/src/uts/common/io/ral/rt2560.c
667
kmem_free(ring->data, ring->count * (sizeof (struct rt2560_tx_data)));
usr/src/uts/common/io/ral/rt2560.c
668
kmem_free(ring->dr_txbuf, ring->count * (sizeof (struct dma_region)));
usr/src/uts/common/io/ral/rt2560.c
695
rt2560_alloc_rx_ring(struct rt2560_softc *sc, struct rt2560_rx_ring *ring,
usr/src/uts/common/io/ral/rt2560.c
703
ring->count = count;
usr/src/uts/common/io/ral/rt2560.c
704
ring->cur = ring->next = 0;
usr/src/uts/common/io/ral/rt2560.c
705
ring->cur_decrypt = 0;
usr/src/uts/common/io/ral/rt2560.c
707
ring->data = kmem_zalloc(count * (sizeof (struct rt2560_rx_data)),
usr/src/uts/common/io/ral/rt2560.c
709
ring->dr_rxbuf = kmem_zalloc(count * (sizeof (struct dma_region)),
usr/src/uts/common/io/ral/rt2560.c
712
err = ral_dma_region_alloc(sc, &ring->dr_desc,
usr/src/uts/common/io/ral/rt2560.c
721
err = ral_dma_region_alloc(sc, &ring->dr_rxbuf[i], size,
usr/src/uts/common/io/ral/rt2560.c
725
ral_dma_region_free(sc, &ring->dr_rxbuf[i]);
usr/src/uts/common/io/ral/rt2560.c
732
ring->physaddr = ring->dr_desc.dr_pbase;
usr/src/uts/common/io/ral/rt2560.c
733
ring->desc = (struct rt2560_rx_desc *)ring->dr_desc.dr_base;
usr/src/uts/common/io/ral/rt2560.c
736
desc = &ring->desc[i];
usr/src/uts/common/io/ral/rt2560.c
737
data = &ring->data[i];
usr/src/uts/common/io/ral/rt2560.c
739
desc->physaddr = LE_32(ring->dr_rxbuf[i].dr_pbase);
usr/src/uts/common/io/ral/rt2560.c
742
data->buf = ring->dr_rxbuf[i].dr_base;
usr/src/uts/common/io/ral/rt2560.c
747
ral_dma_region_free(sc, &ring->dr_desc);
usr/src/uts/common/io/ral/rt2560.c
754
rt2560_reset_rx_ring(struct rt2560_softc *sc, struct rt2560_rx_ring *ring)
usr/src/uts/common/io/ral/rt2560.c
758
for (i = 0; i < ring->count; i++) {
usr/src/uts/common/io/ral/rt2560.c
759
ring->desc[i].flags = LE_32(RT2560_RX_BUSY);
usr/src/uts/common/io/ral/rt2560.c
760
ring->data[i].drop = 0;
usr/src/uts/common/io/ral/rt2560.c
763
(void) ddi_dma_sync(ring->dr_desc.dr_hnd, 0,
usr/src/uts/common/io/ral/rt2560.c
764
ring->count * sizeof (struct rt2560_rx_desc),
usr/src/uts/common/io/ral/rt2560.c
767
ring->cur = ring->next = 0;
usr/src/uts/common/io/ral/rt2560.c
768
ring->cur_decrypt = 0;
usr/src/uts/common/io/ral/rt2560.c
772
rt2560_free_rx_ring(struct rt2560_softc *sc, struct rt2560_rx_ring *ring)
usr/src/uts/common/io/ral/rt2560.c
776
ral_dma_region_free(sc, &ring->dr_desc);
usr/src/uts/common/io/ral/rt2560.c
778
for (i = 0; i < ring->count; i++)
usr/src/uts/common/io/ral/rt2560.c
779
ral_dma_region_free(sc, &ring->dr_rxbuf[i]);
usr/src/uts/common/io/ral/rt2560.c
781
kmem_free(ring->data, ring->count * (sizeof (struct rt2560_rx_data)));
usr/src/uts/common/io/ral/rt2560.c
782
kmem_free(ring->dr_rxbuf, ring->count * (sizeof (struct dma_region)));
usr/src/uts/common/io/rtw/rtwvar.h
227
#define RTW_DESC_OFFSET(ring, i) offsetof(struct rtw_descs, ring[i])
usr/src/uts/common/io/rtw/rtwvar.h
228
#define RTW_RING_OFFSET(ring) RTW_DESC_OFFSET(ring, 0)
usr/src/uts/common/io/rtw/rtwvar.h
229
#define RTW_RING_BASE(baseaddr0, ring) \
usr/src/uts/common/io/rtw/rtwvar.h
230
(baseaddr0 + RTW_RING_OFFSET(ring))
usr/src/uts/common/io/rwd/rt2661.c
1054
(void) ddi_dma_sync(ring->rxdesc_dma.dma_hdl,
usr/src/uts/common/io/rwd/rt2661.c
1055
ring->cur * RT2661_RX_DESC_SIZE,
usr/src/uts/common/io/rwd/rt2661.c
1061
ring->cur = (ring->cur + 1) % RT2661_RX_RING_COUNT;
usr/src/uts/common/io/rwd/rt2661.c
1411
struct rt2661_tx_ring *ring;
usr/src/uts/common/io/rwd/rt2661.c
1424
ring = &sc->txq[0];
usr/src/uts/common/io/rwd/rt2661.c
1427
if (ring->queued > RT2661_TX_RING_COUNT - 8) {
usr/src/uts/common/io/rwd/rt2661.c
1473
desc = &ring->desc[ring->cur];
usr/src/uts/common/io/rwd/rt2661.c
1474
data = &ring->data[ring->cur];
usr/src/uts/common/io/rwd/rt2661.c
1505
(void) ddi_dma_sync(ring->txdesc_dma.dma_hdl,
usr/src/uts/common/io/rwd/rt2661.c
1506
ring->cur * RT2661_TX_DESC_SIZE,
usr/src/uts/common/io/rwd/rt2661.c
1512
pktlen, ring->cur, rate);
usr/src/uts/common/io/rwd/rt2661.c
1515
ring->queued++;
usr/src/uts/common/io/rwd/rt2661.c
1516
ring->cur = (ring->cur + 1) % RT2661_TX_RING_COUNT;
usr/src/uts/common/io/rwd/rt2661.c
1537
struct rt2661_tx_ring *ring;
usr/src/uts/common/io/rwd/rt2661.c
1554
ring = &sc->mgtq;
usr/src/uts/common/io/rwd/rt2661.c
1557
if (ring->queued >= RT2661_MGT_RING_COUNT) {
usr/src/uts/common/io/rwd/rt2661.c
1600
desc = &ring->desc[ring->cur];
usr/src/uts/common/io/rwd/rt2661.c
1601
data = &ring->data[ring->cur];
usr/src/uts/common/io/rwd/rt2661.c
1628
(void) ddi_dma_sync(ring->txdesc_dma.dma_hdl,
usr/src/uts/common/io/rwd/rt2661.c
1629
ring->cur * RT2661_TX_DESC_SIZE,
usr/src/uts/common/io/rwd/rt2661.c
1635
pktlen, ring->cur, rate);
usr/src/uts/common/io/rwd/rt2661.c
1638
ring->queued++;
usr/src/uts/common/io/rwd/rt2661.c
1639
ring->cur = (ring->cur + 1) % RT2661_MGT_RING_COUNT;
usr/src/uts/common/io/rwd/rt2661.c
613
struct rt2661_tx_ring *ring, int count)
usr/src/uts/common/io/rwd/rt2661.c
622
ring->count = count;
usr/src/uts/common/io/rwd/rt2661.c
623
ring->queued = 0;
usr/src/uts/common/io/rwd/rt2661.c
624
ring->cur = 0;
usr/src/uts/common/io/rwd/rt2661.c
625
ring->next = 0;
usr/src/uts/common/io/rwd/rt2661.c
626
ring->stat = 0;
usr/src/uts/common/io/rwd/rt2661.c
631
&ring->txdesc_dma);
usr/src/uts/common/io/rwd/rt2661.c
638
ring->desc = (struct rt2661_tx_desc *)ring->txdesc_dma.mem_va;
usr/src/uts/common/io/rwd/rt2661.c
639
(void) bzero(ring->desc, size);
usr/src/uts/common/io/rwd/rt2661.c
640
ring->paddr = ring->txdesc_dma.cookie.dmac_address;
usr/src/uts/common/io/rwd/rt2661.c
642
ring->data = kmem_zalloc(len, KM_NOSLEEP);
usr/src/uts/common/io/rwd/rt2661.c
643
if (ring->data == NULL) {
usr/src/uts/common/io/rwd/rt2661.c
650
desc = &ring->desc[i];
usr/src/uts/common/io/rwd/rt2661.c
651
data = &ring->data[i];
usr/src/uts/common/io/rwd/rt2661.c
662
rt2661_free_dma_mem(&ring->data[i].txdata_dma);
usr/src/uts/common/io/rwd/rt2661.c
672
(void) ddi_dma_sync(ring->txdesc_dma.dma_hdl,
usr/src/uts/common/io/rwd/rt2661.c
676
if (ring->data)
usr/src/uts/common/io/rwd/rt2661.c
677
kmem_free(ring->data,
usr/src/uts/common/io/rwd/rt2661.c
680
rt2661_free_dma_mem(&ring->txdesc_dma);
usr/src/uts/common/io/rwd/rt2661.c
686
rt2661_reset_tx_ring(struct rt2661_softc *sc, struct rt2661_tx_ring *ring)
usr/src/uts/common/io/rwd/rt2661.c
692
for (i = 0; i < ring->count; i++) {
usr/src/uts/common/io/rwd/rt2661.c
693
desc = &ring->desc[i];
usr/src/uts/common/io/rwd/rt2661.c
694
data = &ring->data[i];
usr/src/uts/common/io/rwd/rt2661.c
705
(void) ddi_dma_sync(ring->txdesc_dma.dma_hdl, 0,
usr/src/uts/common/io/rwd/rt2661.c
706
ring->count * sizeof (struct rt2661_tx_desc),
usr/src/uts/common/io/rwd/rt2661.c
709
ring->queued = 0;
usr/src/uts/common/io/rwd/rt2661.c
710
ring->cur = ring->next = ring->stat = 0;
usr/src/uts/common/io/rwd/rt2661.c
716
rt2661_free_tx_ring(struct rt2661_softc *sc, struct rt2661_tx_ring *ring)
usr/src/uts/common/io/rwd/rt2661.c
721
if (ring->desc != NULL) {
usr/src/uts/common/io/rwd/rt2661.c
722
rt2661_free_dma_mem(&ring->txdesc_dma);
usr/src/uts/common/io/rwd/rt2661.c
725
if (ring->data != NULL) {
usr/src/uts/common/io/rwd/rt2661.c
726
for (i = 0; i < ring->count; i++) {
usr/src/uts/common/io/rwd/rt2661.c
727
data = &ring->data[i];
usr/src/uts/common/io/rwd/rt2661.c
734
kmem_free(ring->data,
usr/src/uts/common/io/rwd/rt2661.c
735
ring->count * sizeof (struct rt2661_tx_data));
usr/src/uts/common/io/rwd/rt2661.c
742
struct rt2661_rx_ring *ring, int count)
usr/src/uts/common/io/rwd/rt2661.c
751
ring->count = count;
usr/src/uts/common/io/rwd/rt2661.c
752
ring->cur = 0;
usr/src/uts/common/io/rwd/rt2661.c
753
ring->next = 0;
usr/src/uts/common/io/rwd/rt2661.c
758
&ring->rxdesc_dma);
usr/src/uts/common/io/rwd/rt2661.c
765
ring->desc = (struct rt2661_rx_desc *)ring->rxdesc_dma.mem_va;
usr/src/uts/common/io/rwd/rt2661.c
766
(void) bzero(ring->desc, size);
usr/src/uts/common/io/rwd/rt2661.c
767
ring->paddr = ring->rxdesc_dma.cookie.dmac_address;
usr/src/uts/common/io/rwd/rt2661.c
769
ring->data = kmem_zalloc(len, KM_NOSLEEP);
usr/src/uts/common/io/rwd/rt2661.c
770
if (ring->data == NULL) {
usr/src/uts/common/io/rwd/rt2661.c
777
desc = &ring->desc[i];
usr/src/uts/common/io/rwd/rt2661.c
778
data = &ring->data[i];
usr/src/uts/common/io/rwd/rt2661.c
789
rt2661_free_dma_mem(&ring->data[i].rxdata_dma);
usr/src/uts/common/io/rwd/rt2661.c
800
(void) ddi_dma_sync(ring->rxdesc_dma.dma_hdl,
usr/src/uts/common/io/rwd/rt2661.c
804
if (ring->data)
usr/src/uts/common/io/rwd/rt2661.c
805
kmem_free(ring->data,
usr/src/uts/common/io/rwd/rt2661.c
808
rt2661_free_dma_mem(&ring->rxdesc_dma);
usr/src/uts/common/io/rwd/rt2661.c
814
rt2661_reset_rx_ring(struct rt2661_softc *sc, struct rt2661_rx_ring *ring)
usr/src/uts/common/io/rwd/rt2661.c
818
for (i = 0; i < ring->count; i++)
usr/src/uts/common/io/rwd/rt2661.c
819
ring->desc[i].flags = LE_32(RT2661_RX_BUSY);
usr/src/uts/common/io/rwd/rt2661.c
822
(void) ddi_dma_sync(ring->rxdesc_dma.dma_hdl, 0,
usr/src/uts/common/io/rwd/rt2661.c
823
ring->count * sizeof (struct rt2661_rx_ring),
usr/src/uts/common/io/rwd/rt2661.c
826
ring->cur = ring->next = 0;
usr/src/uts/common/io/rwd/rt2661.c
831
rt2661_free_rx_ring(struct rt2661_softc *sc, struct rt2661_rx_ring *ring)
usr/src/uts/common/io/rwd/rt2661.c
836
if (ring->desc != NULL) {
usr/src/uts/common/io/rwd/rt2661.c
837
rt2661_free_dma_mem(&ring->rxdesc_dma);
usr/src/uts/common/io/rwd/rt2661.c
840
if (ring->data != NULL) {
usr/src/uts/common/io/rwd/rt2661.c
841
for (i = 0; i < ring->count; i++) {
usr/src/uts/common/io/rwd/rt2661.c
842
data = &ring->data[i];
usr/src/uts/common/io/rwd/rt2661.c
845
kmem_free(ring->data,
usr/src/uts/common/io/rwd/rt2661.c
846
ring->count * sizeof (struct rt2661_rx_data));
usr/src/uts/common/io/rwd/rt2661.c
851
rt2661_tx_dma_intr(struct rt2661_softc *sc, struct rt2661_tx_ring *ring)
usr/src/uts/common/io/rwd/rt2661.c
857
desc = &ring->desc[ring->next];
usr/src/uts/common/io/rwd/rt2661.c
858
data = &ring->data[ring->next];
usr/src/uts/common/io/rwd/rt2661.c
860
(void) ddi_dma_sync(ring->txdesc_dma.dma_hdl,
usr/src/uts/common/io/rwd/rt2661.c
861
ring->next * RT2661_TX_DESC_SIZE,
usr/src/uts/common/io/rwd/rt2661.c
876
(void) ddi_dma_sync(ring->txdesc_dma.dma_hdl,
usr/src/uts/common/io/rwd/rt2661.c
877
ring->next * RT2661_TX_DESC_SIZE,
usr/src/uts/common/io/rwd/rt2661.c
882
"tx dma done q=%p idx=%u\n", ring, ring->next);
usr/src/uts/common/io/rwd/rt2661.c
884
if (++ring->next >= ring->count) /* faster than % count */
usr/src/uts/common/io/rwd/rt2661.c
885
ring->next = 0;
usr/src/uts/common/io/rwd/rt2661.c
893
struct rt2661_tx_ring *ring;
usr/src/uts/common/io/rwd/rt2661.c
907
ring = (qid <= 3) ? &sc->txq[qid] : &sc->mgtq;
usr/src/uts/common/io/rwd/rt2661.c
910
data = &ring->data[ring->stat];
usr/src/uts/common/io/rwd/rt2661.c
946
"tx done q=%d idx=%u\n", qid, ring->stat);
usr/src/uts/common/io/rwd/rt2661.c
951
ring->queued--;
usr/src/uts/common/io/rwd/rt2661.c
954
if (++ring->stat >= ring->count)
usr/src/uts/common/io/rwd/rt2661.c
955
ring->stat = 0;
usr/src/uts/common/io/rwd/rt2661.c
969
struct rt2661_rx_ring *ring;
usr/src/uts/common/io/rwd/rt2661.c
980
ring = &sc->rxq;
usr/src/uts/common/io/rwd/rt2661.c
985
desc = &ring->desc[ring->cur];
usr/src/uts/common/io/rwd/rt2661.c
986
data = &ring->data[ring->cur];
usr/src/uts/common/io/rwd/rt2661.c
988
(void) ddi_dma_sync(ring->rxdesc_dma.dma_hdl,
usr/src/uts/common/io/rwd/rt2661.c
989
ring->cur * RT2661_RX_DESC_SIZE,
usr/src/uts/common/io/rwn/rt2860.c
1082
struct rt2860_tx_ring *ring;
usr/src/uts/common/io/rwn/rt2860.c
1108
ring = &sc->txq[qid];
usr/src/uts/common/io/rwn/rt2860.c
1110
if (SLIST_EMPTY(&sc->data_pool) || (ring->queued > 15)) {
usr/src/uts/common/io/rwn/rt2860.c
1226
txd = &ring->txd[ring->cur];
usr/src/uts/common/io/rwn/rt2860.c
1238
ring->data[ring->cur] = data;
usr/src/uts/common/io/rwn/rt2860.c
1245
RT2860_DMA_SYNC(ring->txdesc_dma, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/rwn/rt2860.c
1249
qid, txwi->wcid, rate, ring->cur);
usr/src/uts/common/io/rwn/rt2860.c
1251
ring->queued++;
usr/src/uts/common/io/rwn/rt2860.c
1252
ring->cur = (ring->cur + 1) % RT2860_TX_RING_COUNT;
usr/src/uts/common/io/rwn/rt2860.c
1255
RT2860_WRITE(sc, RT2860_TX_CTX_IDX(qid), ring->cur);
usr/src/uts/common/io/rwn/rt2860.c
1660
struct rt2860_tx_ring *ring = &sc->txq[qid];
usr/src/uts/common/io/rwn/rt2860.c
1670
hw, ring->next, ring->queued);
usr/src/uts/common/io/rwn/rt2860.c
1671
while (ring->next != hw) {
usr/src/uts/common/io/rwn/rt2860.c
1672
struct rt2860_txd *txd = &ring->txd[ring->next];
usr/src/uts/common/io/rwn/rt2860.c
1673
struct rt2860_tx_data *data = ring->data[ring->next];
usr/src/uts/common/io/rwn/rt2860.c
1682
ring->data[ring->next] = NULL;
usr/src/uts/common/io/rwn/rt2860.c
1687
(void) ddi_dma_sync(ring->txdesc_dma.dma_hdl,
usr/src/uts/common/io/rwn/rt2860.c
1688
ring->next * sizeof (struct rt2860_txd),
usr/src/uts/common/io/rwn/rt2860.c
1692
ring->queued--;
usr/src/uts/common/io/rwn/rt2860.c
1693
ring->next = (ring->next + 1) % RT2860_TX_RING_COUNT;
usr/src/uts/common/io/rwn/rt2860.c
1696
(ring->queued < RT2860_TX_RING_COUNT)) {
usr/src/uts/common/io/rwn/rt2860.c
755
rt2860_alloc_tx_ring(struct rt2860_softc *sc, struct rt2860_tx_ring *ring)
usr/src/uts/common/io/rwn/rt2860.c
764
&ring->txdesc_dma);
usr/src/uts/common/io/rwn/rt2860.c
771
ring->txd = (struct rt2860_txd *)ring->txdesc_dma.mem_va;
usr/src/uts/common/io/rwn/rt2860.c
772
ring->paddr = ring->txdesc_dma.cookie.dmac_address;
usr/src/uts/common/io/rwn/rt2860.c
774
ring->cur = 0;
usr/src/uts/common/io/rwn/rt2860.c
775
ring->next = 0;
usr/src/uts/common/io/rwn/rt2860.c
776
ring->queued = 0;
usr/src/uts/common/io/rwn/rt2860.c
778
(void) bzero(ring->txd, size);
usr/src/uts/common/io/rwn/rt2860.c
779
RT2860_DMA_SYNC(ring->txdesc_dma, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/rwn/rt2860.c
786
rt2860_reset_tx_ring(struct rt2860_softc *sc, struct rt2860_tx_ring *ring)
usr/src/uts/common/io/rwn/rt2860.c
792
ring->txd[i].sdl0 &= ~LE_16(RT2860_TX_DDONE);
usr/src/uts/common/io/rwn/rt2860.c
794
if ((data = ring->data[i]) == NULL)
usr/src/uts/common/io/rwn/rt2860.c
807
ring->data[i] = NULL;
usr/src/uts/common/io/rwn/rt2860.c
812
RT2860_DMA_SYNC(ring->txdesc_dma, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/rwn/rt2860.c
814
ring->queued = 0;
usr/src/uts/common/io/rwn/rt2860.c
815
ring->cur = ring->next = 0;
usr/src/uts/common/io/rwn/rt2860.c
820
rt2860_free_tx_ring(struct rt2860_softc *sc, struct rt2860_tx_ring *ring)
usr/src/uts/common/io/rwn/rt2860.c
822
if (ring->txd != NULL) {
usr/src/uts/common/io/rwn/rt2860.c
823
rt2860_free_dma_mem(&ring->txdesc_dma);
usr/src/uts/common/io/rwn/rt2860.c
828
rt2860_alloc_rx_ring(struct rt2860_softc *sc, struct rt2860_rx_ring *ring)
usr/src/uts/common/io/rwn/rt2860.c
839
&ring->rxdesc_dma);
usr/src/uts/common/io/rwn/rt2860.c
846
ring->rxd = (struct rt2860_rxd *)ring->rxdesc_dma.mem_va;
usr/src/uts/common/io/rwn/rt2860.c
847
ring->paddr = ring->rxdesc_dma.cookie.dmac_address;
usr/src/uts/common/io/rwn/rt2860.c
848
bzero(ring->rxd, size);
usr/src/uts/common/io/rwn/rt2860.c
854
bzero(ring->data, datalen);
usr/src/uts/common/io/rwn/rt2860.c
856
rxd = &ring->rxd[i];
usr/src/uts/common/io/rwn/rt2860.c
857
data = &ring->data[i];
usr/src/uts/common/io/rwn/rt2860.c
869
ring->cur = 0;
usr/src/uts/common/io/rwn/rt2860.c
871
RT2860_DMA_SYNC(ring->rxdesc_dma, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/rwn/rt2860.c
880
rt2860_reset_rx_ring(struct rt2860_softc *sc, struct rt2860_rx_ring *ring)
usr/src/uts/common/io/rwn/rt2860.c
885
ring->rxd[i].sdl0 &= ~LE_16(RT2860_RX_DDONE);
usr/src/uts/common/io/rwn/rt2860.c
887
RT2860_DMA_SYNC(ring->rxdesc_dma, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/rwn/rt2860.c
889
ring->cur = 0;
usr/src/uts/common/io/rwn/rt2860.c
894
rt2860_free_rx_ring(struct rt2860_softc *sc, struct rt2860_rx_ring *ring)
usr/src/uts/common/io/rwn/rt2860.c
899
if (ring->rxd != NULL)
usr/src/uts/common/io/rwn/rt2860.c
900
rt2860_free_dma_mem(&ring->rxdesc_dma);
usr/src/uts/common/io/rwn/rt2860.c
905
data = &ring->data[i];
usr/src/uts/common/io/sfe/sfe_util.c
608
caddr_t ring;
usr/src/uts/common/io/sfe/sfe_util.c
644
&ring, &ring_len,
usr/src/uts/common/io/sfe/sfe_util.c
655
NULL, ring, ring_len,
usr/src/uts/common/io/sfe/sfe_util.c
670
dp->rx_ring = ring;
usr/src/uts/common/io/usb/hcd/xhci/xhci_endpoint.c
1085
xhci_transfer_t *xt, boolean_t ring)
usr/src/uts/common/io/usb/hcd/xhci/xhci_endpoint.c
1129
if (ring == B_FALSE)
usr/src/uts/common/io/vr/vr.c
1022
vr_free_dmabuf(&vrp->rx.ring[i].dmabuf);
usr/src/uts/common/io/vr/vr.c
1034
vrp->tx.wp = &vrp->tx.ring[0];
usr/src/uts/common/io/vr/vr.c
1035
vrp->tx.cp = &vrp->tx.ring[0];
usr/src/uts/common/io/vr/vr.c
1053
&vrp->tx.ring[i].dmabuf,
usr/src/uts/common/io/vr/vr.c
1058
vr_free_dmabuf(&vrp->tx.ring[i].dmabuf);
usr/src/uts/common/io/vr/vr.c
1067
wp = &vrp->tx.ring[i];
usr/src/uts/common/io/vr/vr.c
1091
vr_free_dmabuf(&vrp->tx.ring[i].dmabuf);
usr/src/uts/common/io/vr/vr.c
807
vrp->rx.ring = vrp->rxring.desc;
usr/src/uts/common/io/vr/vr.c
808
vrp->tx.ring = vrp->txring.desc;
usr/src/uts/common/io/vr/vr.c
827
vr_alloc_ring(vr_t *vrp, vr_ring_t *ring, size_t n)
usr/src/uts/common/io/vr/vr.c
841
&ring->handle);
usr/src/uts/common/io/vr/vr.c
852
rc = ddi_dma_mem_alloc(ring->handle,
usr/src/uts/common/io/vr/vr.c
858
(caddr_t *)&ring->cdesc,
usr/src/uts/common/io/vr/vr.c
860
&ring->acchdl);
usr/src/uts/common/io/vr/vr.c
865
ddi_dma_free_handle(&ring->handle);
usr/src/uts/common/io/vr/vr.c
872
rc = ddi_dma_addr_bind_handle(ring->handle,
usr/src/uts/common/io/vr/vr.c
874
(caddr_t)ring->cdesc,
usr/src/uts/common/io/vr/vr.c
886
ddi_dma_mem_free(&ring->acchdl);
usr/src/uts/common/io/vr/vr.c
887
ddi_dma_free_handle(&ring->handle);
usr/src/uts/common/io/vr/vr.c
890
ring->cdesc_paddr = desc_dma_cookie.dmac_address;
usr/src/uts/common/io/vr/vr.c
895
ring->desc =
usr/src/uts/common/io/vr/vr.c
905
ring->desc[i].cdesc = &ring->cdesc[i];
usr/src/uts/common/io/vr/vr.c
911
ring->desc[i].offset = i * sizeof (vr_chip_desc_t);
usr/src/uts/common/io/vr/vr.c
912
ring->desc[i].paddr = ring->cdesc_paddr + ring->desc[i].offset;
usr/src/uts/common/io/vr/vr.c
919
ring->desc[i-1].next = &ring->desc[i];
usr/src/uts/common/io/vr/vr.c
922
ddi_put32(ring->acchdl,
usr/src/uts/common/io/vr/vr.c
923
&ring->cdesc[i-1].next,
usr/src/uts/common/io/vr/vr.c
924
ring->desc[i].paddr);
usr/src/uts/common/io/vr/vr.c
932
ring->desc[i].next = &ring->desc[0];
usr/src/uts/common/io/vr/vr.c
933
ddi_put32(ring->acchdl, &ring->cdesc[i].next, ring->desc[0].paddr);
usr/src/uts/common/io/vr/vr.c
968
vrp->rx.rp = &vrp->rx.ring[0];
usr/src/uts/common/io/vr/vr.c
974
rp = &vrp->rx.ring[i];
usr/src/uts/common/io/vr/vr.c
976
&vrp->rx.ring[i].dmabuf,
usr/src/uts/common/io/vr/vr.c
981
vr_free_dmabuf(&vrp->rx.ring[i].dmabuf);
usr/src/uts/common/io/vr/vr.h
260
vr_desc_t *ring;
usr/src/uts/common/io/vr/vr.h
267
vr_desc_t *ring;
usr/src/uts/common/io/wpi/wpi.c
1036
wpi_alloc_tx_ring(wpi_sc_t *sc, wpi_tx_ring_t *ring, int count, int qid)
usr/src/uts/common/io/wpi/wpi.c
1045
ring->qid = qid;
usr/src/uts/common/io/wpi/wpi.c
1046
ring->count = count;
usr/src/uts/common/io/wpi/wpi.c
1047
ring->queued = 0;
usr/src/uts/common/io/wpi/wpi.c
1048
ring->cur = 0;
usr/src/uts/common/io/wpi/wpi.c
1053
&ring->dma_desc);
usr/src/uts/common/io/wpi/wpi.c
1061
sc->sc_shared->txbase[qid] = ring->dma_desc.cookie.dmac_address;
usr/src/uts/common/io/wpi/wpi.c
1063
desc_h = (wpi_tx_desc_t *)ring->dma_desc.mem_va;
usr/src/uts/common/io/wpi/wpi.c
1064
paddr_desc_h = ring->dma_desc.cookie.dmac_address;
usr/src/uts/common/io/wpi/wpi.c
1069
&ring->dma_cmd);
usr/src/uts/common/io/wpi/wpi.c
1076
cmd_h = (wpi_tx_cmd_t *)ring->dma_cmd.mem_va;
usr/src/uts/common/io/wpi/wpi.c
1077
paddr_cmd_h = ring->dma_cmd.cookie.dmac_address;
usr/src/uts/common/io/wpi/wpi.c
1082
ring->data = kmem_zalloc(sizeof (wpi_tx_data_t) * count, KM_NOSLEEP);
usr/src/uts/common/io/wpi/wpi.c
1083
if (ring->data == NULL) {
usr/src/uts/common/io/wpi/wpi.c
1089
data = &ring->data[i];
usr/src/uts/common/io/wpi/wpi.c
1111
wpi_free_tx_ring(sc, ring);
usr/src/uts/common/io/wpi/wpi.c
1116
wpi_reset_tx_ring(wpi_sc_t *sc, wpi_tx_ring_t *ring)
usr/src/uts/common/io/wpi/wpi.c
1123
WPI_WRITE(sc, WPI_TX_CONFIG(ring->qid), 0);
usr/src/uts/common/io/wpi/wpi.c
1125
if (WPI_READ(sc, WPI_TX_STATUS) & WPI_TX_IDLE(ring->qid))
usr/src/uts/common/io/wpi/wpi.c
1132
ring->qid));
usr/src/uts/common/io/wpi/wpi.c
1138
for (i = 0; i < ring->count; i++) {
usr/src/uts/common/io/wpi/wpi.c
1139
data = &ring->data[i];
usr/src/uts/common/io/wpi/wpi.c
1144
ring->queued = 0;
usr/src/uts/common/io/wpi/wpi.c
1145
ring->cur = 0;
usr/src/uts/common/io/wpi/wpi.c
1150
wpi_free_tx_ring(wpi_sc_t *sc, wpi_tx_ring_t *ring)
usr/src/uts/common/io/wpi/wpi.c
1154
if (ring->dma_desc.dma_hdl != NULL)
usr/src/uts/common/io/wpi/wpi.c
1155
WPI_DMA_SYNC(ring->dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/wpi/wpi.c
1156
wpi_free_dma_mem(&ring->dma_desc);
usr/src/uts/common/io/wpi/wpi.c
1158
if (ring->dma_cmd.dma_hdl != NULL)
usr/src/uts/common/io/wpi/wpi.c
1159
WPI_DMA_SYNC(ring->dma_cmd, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/wpi/wpi.c
1160
wpi_free_dma_mem(&ring->dma_cmd);
usr/src/uts/common/io/wpi/wpi.c
1162
if (ring->data != NULL) {
usr/src/uts/common/io/wpi/wpi.c
1163
for (i = 0; i < ring->count; i++) {
usr/src/uts/common/io/wpi/wpi.c
1164
if (ring->data[i].dma_data.dma_hdl)
usr/src/uts/common/io/wpi/wpi.c
1165
WPI_DMA_SYNC(ring->data[i].dma_data,
usr/src/uts/common/io/wpi/wpi.c
1167
wpi_free_dma_mem(&ring->data[i].dma_data);
usr/src/uts/common/io/wpi/wpi.c
1169
kmem_free(ring->data, ring->count * sizeof (wpi_tx_data_t));
usr/src/uts/common/io/wpi/wpi.c
1170
ring->data = NULL;
usr/src/uts/common/io/wpi/wpi.c
1659
wpi_rx_ring_t *ring = &sc->sc_rxq;
usr/src/uts/common/io/wpi/wpi.c
1681
"rate=%x chan=%d tstamp=%llu", ring->cur, LE_32(desc->len),
usr/src/uts/common/io/wpi/wpi.c
1775
wpi_tx_ring_t *ring = &sc->sc_txq[desc->qid & 0x3];
usr/src/uts/common/io/wpi/wpi.c
1797
ring->queued--;
usr/src/uts/common/io/wpi/wpi.c
1798
if (ring->queued < 0)
usr/src/uts/common/io/wpi/wpi.c
1799
ring->queued = 0;
usr/src/uts/common/io/wpi/wpi.c
1800
if ((sc->sc_need_reschedule) && (ring->queued <= (ring->count << 3))) {
usr/src/uts/common/io/wpi/wpi.c
2076
wpi_tx_ring_t *ring;
usr/src/uts/common/io/wpi/wpi.c
2087
ring = ((type & IEEE80211_FC0_TYPE_MASK) != IEEE80211_FC0_TYPE_DATA) ?
usr/src/uts/common/io/wpi/wpi.c
2089
data = &ring->data[ring->cur];
usr/src/uts/common/io/wpi/wpi.c
2106
if (ring->queued > ring->count - 64) {
usr/src/uts/common/io/wpi/wpi.c
2153
cmd->qid = ring->qid;
usr/src/uts/common/io/wpi/wpi.c
2154
cmd->idx = ring->cur;
usr/src/uts/common/io/wpi/wpi.c
2264
WPI_DBG((WPI_DEBUG_TX, "sending data: qid=%d idx=%d len=%d", ring->qid,
usr/src/uts/common/io/wpi/wpi.c
2265
ring->cur, len));
usr/src/uts/common/io/wpi/wpi.c
2276
WPI_DMA_SYNC(ring->dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/wpi/wpi.c
2279
ring->queued++;
usr/src/uts/common/io/wpi/wpi.c
2283
ring->cur = (ring->cur + 1) % WPI_TX_RING_COUNT;
usr/src/uts/common/io/wpi/wpi.c
2284
WPI_WRITE(sc, WPI_TX_WIDX, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/wpi/wpi.c
2715
wpi_tx_ring_t *ring = &sc->sc_cmdq;
usr/src/uts/common/io/wpi/wpi.c
2723
desc = ring->data[ring->cur].desc;
usr/src/uts/common/io/wpi/wpi.c
2724
cmd = ring->data[ring->cur].cmd;
usr/src/uts/common/io/wpi/wpi.c
2728
cmd->qid = ring->qid;
usr/src/uts/common/io/wpi/wpi.c
2729
cmd->idx = ring->cur;
usr/src/uts/common/io/wpi/wpi.c
2733
desc->segs[0].addr = ring->data[ring->cur].paddr_cmd;
usr/src/uts/common/io/wpi/wpi.c
2737
ring->cur = (ring->cur + 1) % WPI_CMD_RING_COUNT;
usr/src/uts/common/io/wpi/wpi.c
2738
WPI_WRITE(sc, WPI_TX_WIDX, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/wpi/wpi.c
2886
wpi_tx_ring_t *ring = &sc->sc_cmdq;
usr/src/uts/common/io/wpi/wpi.c
2906
data = &ring->data[ring->cur];
usr/src/uts/common/io/wpi/wpi.c
2912
cmd->qid = ring->qid;
usr/src/uts/common/io/wpi/wpi.c
2913
cmd->idx = ring->cur;
usr/src/uts/common/io/wpi/wpi.c
3020
WPI_DMA_SYNC(ring->dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/wpi/wpi.c
3023
ring->cur = (ring->cur + 1) % WPI_CMD_RING_COUNT;
usr/src/uts/common/io/wpi/wpi.c
3024
WPI_WRITE(sc, WPI_TX_WIDX, ring->qid << 8 | ring->cur);
usr/src/uts/common/io/wpi/wpi.c
953
wpi_rx_ring_t *ring;
usr/src/uts/common/io/wpi/wpi.c
957
ring = &sc->sc_rxq;
usr/src/uts/common/io/wpi/wpi.c
958
ring->cur = 0;
usr/src/uts/common/io/wpi/wpi.c
963
&ring->dma_desc);
usr/src/uts/common/io/wpi/wpi.c
968
ring->desc = (uint32_t *)ring->dma_desc.mem_va;
usr/src/uts/common/io/wpi/wpi.c
974
data = &ring->data[i];
usr/src/uts/common/io/wpi/wpi.c
985
ring->desc[i] = LE_32(data->dma_data.cookie.dmac_address);
usr/src/uts/common/io/wpi/wpi.c
988
WPI_DMA_SYNC(ring->dma_desc, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/xge/drv/xge.c
1197
if (device_config->ring.queue[i].configured)
usr/src/uts/common/io/xge/drv/xge.c
277
device_config->ring.queue[index].configured =
usr/src/uts/common/io/xge/drv/xge.c
282
if (!device_config->ring.queue[index].configured)
usr/src/uts/common/io/xge/drv/xge.c
286
device_config->ring.queue[index].no_snoop_bits = 1;
usr/src/uts/common/io/xge/drv/xge.c
290
device_config->ring.queue[index].max =
usr/src/uts/common/io/xge/drv/xge.c
296
device_config->ring.queue[index].initial =
usr/src/uts/common/io/xge/drv/xge.c
301
if (device_config->ring.queue[index].initial ==
usr/src/uts/common/io/xge/drv/xge.c
303
device_config->ring.queue[index].initial =
usr/src/uts/common/io/xge/drv/xge.c
304
device_config->ring.queue[index].max =
usr/src/uts/common/io/xge/drv/xge.c
309
device_config->ring.queue[index].buffer_mode =
usr/src/uts/common/io/xge/drv/xge.c
315
device_config->ring.queue[index].dram_size_mb =
usr/src/uts/common/io/xge/drv/xge.c
322
device_config->ring.queue[index].backoff_interval_us =
usr/src/uts/common/io/xge/drv/xge.c
328
device_config->ring.queue[index].max_frm_len =
usr/src/uts/common/io/xge/drv/xge.c
335
device_config->ring.queue[index].priority =
usr/src/uts/common/io/xge/drv/xge.c
341
device_config->ring.queue[index].rti.urange_a =
usr/src/uts/common/io/xge/drv/xge.c
347
device_config->ring.queue[index].rti.ufc_a =
usr/src/uts/common/io/xge/drv/xge.c
353
device_config->ring.queue[index].rti.urange_b =
usr/src/uts/common/io/xge/drv/xge.c
359
device_config->ring.queue[index].rti.ufc_b =
usr/src/uts/common/io/xge/drv/xge.c
367
device_config->ring.queue[index].rti.urange_c =
usr/src/uts/common/io/xge/drv/xge.c
373
device_config->ring.queue[index].rti.ufc_c =
usr/src/uts/common/io/xge/drv/xge.c
381
device_config->ring.queue[index].rti.ufc_d =
usr/src/uts/common/io/xge/drv/xge.c
387
device_config->ring.queue[index].rti.timer_val_us =
usr/src/uts/common/io/xge/drv/xge.c
393
device_config->ring.queue[index].rti.timer_ac_en =
usr/src/uts/common/io/xge/drv/xge.c
400
device_config->ring.queue[index].indicate_max_pkts =
usr/src/uts/common/io/xge/drv/xge.c
411
device_config->ring.queue[index].rth_en = 1;
usr/src/uts/common/io/xge/drv/xge.c
625
device_config->ring.memblock_size = ddi_prop_get_int(DDI_DEV_T_ANY,
usr/src/uts/common/io/xge/drv/xge.c
628
device_config->ring.strip_vlan_tag = XGE_HAL_RING_DONOT_STRIP_VLAN_TAG;
usr/src/uts/common/io/xge/drv/xge.c
652
if (device_config->ring.queue[i].configured)
usr/src/uts/common/io/xge/drv/xge.c
748
device_config->ring.queue[XGELL_RX_RING_MAIN].initial *
usr/src/uts/common/io/xge/drv/xge.c
753
device_config->ring.queue[XGELL_RX_RING_MAIN].initial *
usr/src/uts/common/io/xge/drv/xge.c
881
xge_hal_ring_config_t *ring_conf = &hal_conf->ring;
usr/src/uts/common/io/xge/drv/xgell.c
1053
rc = xge_hal_fifo_dtr_buffer_append(ring->channelh,
usr/src/uts/common/io/xge/drv/xgell.c
1061
ring->channelh, dtr, frag_cnt++);
usr/src/uts/common/io/xge/drv/xgell.c
1065
xge_hal_fifo_dtr_buffer_finalize(ring->channelh,
usr/src/uts/common/io/xge/drv/xgell.c
1119
xge_hal_fifo_dtr_buffer_set(ring->channelh, dtr,
usr/src/uts/common/io/xge/drv/xgell.c
1152
xge_hal_fifo_dtr_buffer_finalize(ring->channelh, dtr,
usr/src/uts/common/io/xge/drv/xgell.c
1179
xge_hal_fifo_dtr_post(ring->channelh, dtr);
usr/src/uts/common/io/xge/drv/xgell.c
1182
atomic_inc_64(&ring->tx_pkts);
usr/src/uts/common/io/xge/drv/xgell.c
1183
atomic_add_64(&ring->tx_bytes, sent_bytes);
usr/src/uts/common/io/xge/drv/xgell.c
1198
xge_hal_fifo_dtr_free(ring->channelh, dtr);
usr/src/uts/common/io/xge/drv/xgell.c
1204
ring->need_resched = B_TRUE;
usr/src/uts/common/io/xge/drv/xgell.c
1212
xgell_rx_ring_maddr_init(xgell_rx_ring_t *ring)
usr/src/uts/common/io/xge/drv/xgell.c
1215
xgelldev_t *lldev = ring->lldev;
usr/src/uts/common/io/xge/drv/xgell.c
1221
ring->mmac.naddr = XGE_RX_MULTI_MAC_ADDRESSES_MAX;
usr/src/uts/common/io/xge/drv/xgell.c
1222
ring->mmac.naddrfree = ring->mmac.naddr;
usr/src/uts/common/io/xge/drv/xgell.c
1235
slot_start = ring->index * 32;
usr/src/uts/common/io/xge/drv/xgell.c
1236
for (i = 0; i < ring->mmac.naddr; i++) {
usr/src/uts/common/io/xge/drv/xgell.c
1238
ring->mmac.mac_addr + i);
usr/src/uts/common/io/xge/drv/xgell.c
1239
ring->mmac.mac_addr_set[i] = B_FALSE;
usr/src/uts/common/io/xge/drv/xgell.c
1248
xgell_rx_ring_t *ring = arg;
usr/src/uts/common/io/xge/drv/xgell.c
1249
xgelldev_t *lldev = ring->lldev;
usr/src/uts/common/io/xge/drv/xgell.c
1258
if (ring->mmac.naddrfree == 0) {
usr/src/uts/common/io/xge/drv/xgell.c
1264
for (slot = 0; slot < ring->mmac.naddr; slot++) {
usr/src/uts/common/io/xge/drv/xgell.c
1265
if (ring->mmac.mac_addr_set[slot] == B_FALSE) {
usr/src/uts/common/io/xge/drv/xgell.c
1270
ASSERT(slot < ring->mmac.naddr);
usr/src/uts/common/io/xge/drv/xgell.c
1272
slot_start = ring->index * 32;
usr/src/uts/common/io/xge/drv/xgell.c
1287
ring->mmac.mac_addr + slot) != XGE_HAL_OK) {
usr/src/uts/common/io/xge/drv/xgell.c
1292
ring->mmac.mac_addr_set[slot] = B_TRUE;
usr/src/uts/common/io/xge/drv/xgell.c
1293
ring->mmac.naddrfree--;
usr/src/uts/common/io/xge/drv/xgell.c
1303
xgell_rx_ring_t *ring = arg;
usr/src/uts/common/io/xge/drv/xgell.c
1304
xgelldev_t *lldev = ring->lldev;
usr/src/uts/common/io/xge/drv/xgell.c
1316
slot_start = ring->index * 32;
usr/src/uts/common/io/xge/drv/xgell.c
1326
if (slot < 0 || slot >= ring->mmac.naddr)
usr/src/uts/common/io/xge/drv/xgell.c
1330
xge_assert(ring->mmac.mac_addr_set[slot]);
usr/src/uts/common/io/xge/drv/xgell.c
1333
if (!ring->mmac.mac_addr_set[slot]) {
usr/src/uts/common/io/xge/drv/xgell.c
1350
ring->mmac.mac_addr_set[slot] = B_FALSE;
usr/src/uts/common/io/xge/drv/xgell.c
1351
ring->mmac.naddrfree++;
usr/src/uts/common/io/xge/drv/xgell.c
1361
ring->mmac.mac_addr + slot);
usr/src/uts/common/io/xge/drv/xgell.c
1376
xgell_rx_ring_t *ring = (xgell_rx_ring_t *)ih;
usr/src/uts/common/io/xge/drv/xgell.c
1378
mutex_enter(&ring->ring_lock);
usr/src/uts/common/io/xge/drv/xgell.c
1379
xge_hal_device_rx_channel_disable_polling(ring->channelh);
usr/src/uts/common/io/xge/drv/xgell.c
1380
mutex_exit(&ring->ring_lock);
usr/src/uts/common/io/xge/drv/xgell.c
1388
xgell_rx_ring_t *ring = (xgell_rx_ring_t *)ih;
usr/src/uts/common/io/xge/drv/xgell.c
1390
mutex_enter(&ring->ring_lock);
usr/src/uts/common/io/xge/drv/xgell.c
1391
xge_hal_device_rx_channel_enable_polling(ring->channelh);
usr/src/uts/common/io/xge/drv/xgell.c
1392
mutex_exit(&ring->ring_lock);
usr/src/uts/common/io/xge/drv/xgell.c
1572
xgell_rx_ring_t *ring = rx_buffer->ring;
usr/src/uts/common/io/xge/drv/xgell.c
1574
mutex_enter(&ring->bf_pool.pool_lock);
usr/src/uts/common/io/xge/drv/xgell.c
1577
mutex_exit(&ring->bf_pool.pool_lock);
usr/src/uts/common/io/xge/drv/xgell.c
1871
hldev->config.ring.queue[XGELL_RX_RING_MAIN].rti.ufc_b =
usr/src/uts/common/io/xge/drv/xgell.c
1876
hldev->config.ring.queue[XGELL_RX_RING_MAIN].rti.ufc_c =
usr/src/uts/common/io/xge/drv/xgell.c
197
xgell_rx_buffer_replenish_all(xgell_rx_ring_t *ring)
usr/src/uts/common/io/xge/drv/xgell.c
199
xgell_rx_buffer_pool_t *bf_pool = &ring->bf_pool;
usr/src/uts/common/io/xge/drv/xgell.c
207
(xge_hal_ring_dtr_reserve(ring->channelh, &dtr) == XGE_HAL_OK)) {
usr/src/uts/common/io/xge/drv/xgell.c
218
xge_hal_ring_dtr_private(ring->channelh, dtr);
usr/src/uts/common/io/xge/drv/xgell.c
223
xge_hal_ring_dtr_post(ring->channelh, dtr);
usr/src/uts/common/io/xge/drv/xgell.c
236
xgell_rx_ring_t *ring = rx_buffer->ring;
usr/src/uts/common/io/xge/drv/xgell.c
237
xgell_rx_buffer_pool_t *bf_pool = &ring->bf_pool;
usr/src/uts/common/io/xge/drv/xgell.c
268
xgell_rx_ring_t *ring = rx_buffer->ring;
usr/src/uts/common/io/xge/drv/xgell.c
269
xgelldev_t *lldev = ring->lldev;
usr/src/uts/common/io/xge/drv/xgell.c
270
xgell_rx_buffer_pool_t *bf_pool = &ring->bf_pool;
usr/src/uts/common/io/xge/drv/xgell.c
284
if ((lldev->is_initialized != 0) && (ring->live) &&
usr/src/uts/common/io/xge/drv/xgell.c
293
xgell_rx_buffer_replenish_all(ring);
usr/src/uts/common/io/xge/drv/xgell.c
307
xgell_rx_buffer_alloc(xgell_rx_ring_t *ring)
usr/src/uts/common/io/xge/drv/xgell.c
309
xgelldev_t *lldev = ring->lldev;
usr/src/uts/common/io/xge/drv/xgell.c
310
xgell_rx_buffer_pool_t *bf_pool = &ring->bf_pool;
usr/src/uts/common/io/xge/drv/xgell.c
371
rx_buffer->ring = ring;
usr/src/uts/common/io/xge/drv/xgell.c
396
xgell_rx_destroy_buffer_pool(xgell_rx_ring_t *ring)
usr/src/uts/common/io/xge/drv/xgell.c
398
xgelldev_t *lldev = ring->lldev;
usr/src/uts/common/io/xge/drv/xgell.c
399
xgell_rx_buffer_pool_t *bf_pool = &ring->bf_pool;
usr/src/uts/common/io/xge/drv/xgell.c
474
xgell_rx_create_buffer_pool(xgell_rx_ring_t *ring)
usr/src/uts/common/io/xge/drv/xgell.c
476
xgelldev_t *lldev = ring->lldev;
usr/src/uts/common/io/xge/drv/xgell.c
477
xgell_rx_buffer_pool_t *bf_pool = &ring->bf_pool;
usr/src/uts/common/io/xge/drv/xgell.c
509
if ((rx_buffer = xgell_rx_buffer_alloc(ring)) == NULL) {
usr/src/uts/common/io/xge/drv/xgell.c
510
(void) xgell_rx_destroy_buffer_pool(ring);
usr/src/uts/common/io/xge/drv/xgell.c
534
xgell_rx_ring_t *ring = userdata;
usr/src/uts/common/io/xge/drv/xgell.c
535
xgell_rx_buffer_pool_t *bf_pool = &ring->bf_pool;
usr/src/uts/common/io/xge/drv/xgell.c
657
xgell_rx_1b_msg_alloc(xgell_rx_ring_t *ring, xgell_rx_buffer_t *rx_buffer,
usr/src/uts/common/io/xge/drv/xgell.c
660
xgelldev_t *lldev = ring->lldev;
usr/src/uts/common/io/xge/drv/xgell.c
706
xgell_rx_ring_t *ring = (xgell_rx_ring_t *)userdata;
usr/src/uts/common/io/xge/drv/xgell.c
707
xgelldev_t *lldev = ring->lldev;
usr/src/uts/common/io/xge/drv/xgell.c
713
xge_debug_ll(XGE_TRACE, "xgell_rx_1b_callback on ring %d", ring->index);
usr/src/uts/common/io/xge/drv/xgell.c
715
mutex_enter(&ring->bf_pool.pool_lock);
usr/src/uts/common/io/xge/drv/xgell.c
760
if (ring->bf_pool.post > ring->bf_pool.post_hiwat) {
usr/src/uts/common/io/xge/drv/xgell.c
766
mp = xgell_rx_1b_msg_alloc(ring, rx_buffer, pkt_length,
usr/src/uts/common/io/xge/drv/xgell.c
780
ring->bf_pool.post++;
usr/src/uts/common/io/xge/drv/xgell.c
796
ring->rx_pkts++;
usr/src/uts/common/io/xge/drv/xgell.c
797
ring->rx_bytes += pkt_length;
usr/src/uts/common/io/xge/drv/xgell.c
810
if ((ring->poll_mp == NULL) && (ring->poll_bytes > 0)) {
usr/src/uts/common/io/xge/drv/xgell.c
811
ring->poll_mp = mp_head;
usr/src/uts/common/io/xge/drv/xgell.c
813
if (ring->poll_mp != NULL) {
usr/src/uts/common/io/xge/drv/xgell.c
814
if ((ring->poll_bytes -= pkt_length) <= 0) {
usr/src/uts/common/io/xge/drv/xgell.c
830
if (ring->bf_pool.post > ring->bf_pool.post_hiwat) {
usr/src/uts/common/io/xge/drv/xgell.c
832
xgell_rx_buffer_replenish_all(ring);
usr/src/uts/common/io/xge/drv/xgell.c
834
mutex_exit(&ring->bf_pool.pool_lock);
usr/src/uts/common/io/xge/drv/xgell.c
836
mac_rx_ring(lldev->mh, ring->ring_handle, mp_head,
usr/src/uts/common/io/xge/drv/xgell.c
837
ring->ring_gen_num);
usr/src/uts/common/io/xge/drv/xgell.c
841
mutex_enter(&ring->bf_pool.pool_lock);
usr/src/uts/common/io/xge/drv/xgell.c
849
xgell_rx_buffer_replenish_all(ring);
usr/src/uts/common/io/xge/drv/xgell.c
850
mutex_exit(&ring->bf_pool.pool_lock);
usr/src/uts/common/io/xge/drv/xgell.c
856
if ((ring->poll_mp == NULL) && (mp_head != NULL)) {
usr/src/uts/common/io/xge/drv/xgell.c
857
mac_rx_ring(lldev->mh, ring->ring_handle, mp_head,
usr/src/uts/common/io/xge/drv/xgell.c
858
ring->ring_gen_num);
usr/src/uts/common/io/xge/drv/xgell.c
867
xgell_rx_ring_t *ring = (xgell_rx_ring_t *)arg;
usr/src/uts/common/io/xge/drv/xgell.c
871
xge_debug_ll(XGE_TRACE, "xgell_rx_poll on ring %d", ring->index);
usr/src/uts/common/io/xge/drv/xgell.c
873
ring->poll_mp = NULL;
usr/src/uts/common/io/xge/drv/xgell.c
874
ring->poll_bytes = bytes_to_pickup;
usr/src/uts/common/io/xge/drv/xgell.c
875
(void) xge_hal_device_poll_rx_channel(ring->channelh, &got_rx);
usr/src/uts/common/io/xge/drv/xgell.c
877
mp = ring->poll_mp;
usr/src/uts/common/io/xge/drv/xgell.c
878
ring->poll_bytes = -1;
usr/src/uts/common/io/xge/drv/xgell.c
879
ring->polled_bytes += got_rx;
usr/src/uts/common/io/xge/drv/xgell.c
880
ring->poll_mp = NULL;
usr/src/uts/common/io/xge/drv/xgell.c
897
xgell_tx_ring_t *ring = userdata;
usr/src/uts/common/io/xge/drv/xgell.c
898
xgelldev_t *lldev = ring->lldev;
usr/src/uts/common/io/xge/drv/xgell.c
935
if (ring->need_resched)
usr/src/uts/common/io/xge/drv/xgell.c
936
mac_tx_ring_update(lldev->mh, ring->ring_handle);
usr/src/uts/common/io/xge/drv/xgell.c
944
xgell_tx_ring_t *ring = (xgell_tx_ring_t *)arg;
usr/src/uts/common/io/xge/drv/xgell.c
946
xgelldev_t *lldev = ring->lldev;
usr/src/uts/common/io/xge/drv/xgell.c
971
if (xge_hal_channel_dtr_count(ring->channelh)
usr/src/uts/common/io/xge/drv/xgell.c
976
((xge_hal_channel_t *)ring->channelh)->post_qid,
usr/src/uts/common/io/xge/drv/xgell.c
981
status = xge_hal_fifo_dtr_reserve(ring->channelh, &dtr);
usr/src/uts/common/io/xge/drv/xgell.c
989
ring->channelh)->post_qid);
usr/src/uts/common/io/xge/drv/xgell.c
996
ring->channelh)->post_qid);
usr/src/uts/common/io/xge/drv/xgell.h
285
xgell_rx_ring_t *ring;
usr/src/uts/common/io/xge/hal/include/xgehal-config.h
741
xge_hal_ring_config_t ring;
usr/src/uts/common/io/xge/hal/include/xgehal-device.h
978
xge_hal_lro_process_rx(int ring, u8 *eth_hdr, u8 *ip_hdr, tcplro_t **tcp,
usr/src/uts/common/io/xge/hal/include/xgehal-device.h
989
xge_hal_lro_next_session (xge_hal_device_t *hldev, int ring);
usr/src/uts/common/io/xge/hal/include/xgehal-regs.h
295
#define XGE_HAL_SET_RX_MAT(ring, msi) vBIT(msi, (8 * ring), 8)
usr/src/uts/common/io/xge/hal/include/xgehal-ring.h
393
__hal_ring_rxd_priv(xge_hal_ring_t *ring, xge_hal_dtr_h dtrh);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-config.c
652
if ((status = __hal_ring_config_check(&new_config->ring))
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device-fp.c
1311
xge_hal_lro_process_rx(int ring, u8 *eth_hdr, u8 *ip_hdr, tcplro_t **tcp,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device-fp.c
1330
p_lro, ext_info, hldev, &hldev->lro_desc[ring],
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device-fp.c
1387
int ring = 0;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device-fp.c
1388
return xge_hal_lro_process_rx(ring, buffer, NULL, tcp, seglen, p_lro,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device-fp.c
1410
xge_hal_lro_next_session (xge_hal_device_t *hldev, int ring)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device-fp.c
1412
xge_hal_lro_desc_t *ring_lro = &hldev->lro_desc[ring];
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device-fp.c
1438
int ring = 0; /* assume default ring=0 */
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device-fp.c
1439
return xge_hal_lro_next_session(hldev, ring);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
1120
xge_hal_rti_config_t *rti = &hldev->config.ring.queue[i].rti;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
1122
if (!hldev->config.ring.queue[i].configured)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
1541
xge_hal_ring_queue_t *queue = &hldev->config.ring.queue[rnum];
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
1644
if (hldev->config.ring.queue[j].configured)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
1858
if (hldev->config.ring.queue[rnum].configured &&
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
1859
hldev->config.ring.queue[rnum].rth_en)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
3426
ufc = hldev->config.ring.queue[ring_no].rti.ufc_a;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
3435
hldev->config.ring.queue[i].rti.ufc_a = ufc;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
3445
hldev->config.ring.queue[i].rti.ufc_a = ufc;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
3652
if (!hldev->config.ring.queue[i].configured)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
3654
if (hldev->config.ring.queue[i].rti.urange_a)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
3667
if (!hldev->config.ring.queue[i].configured)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
5280
if (!device_config->ring.queue[i].configured)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
5282
if (device_config->ring.queue[i].dram_size_mb ==
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
5287
total_dram_size += device_config->ring.queue[i].dram_size_mb;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
5304
if (!device_config->ring.queue[i].configured)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
5307
if (device_config->ring.queue[i].dram_size_mb ==
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
5309
hldev->config.ring.queue[i].dram_size_mb =
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
5310
device_config->ring.queue[i].dram_size_mb =
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
6516
int ring = channel->post_qid;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
6518
" MSI: %d", channel->msi_msg, ring, msi);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
6521
val64 |= XGE_HAL_SET_RX_MAT(ring, msi);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
6524
__hal_device_rti_set(ring, channel);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
6663
int ring = channel->post_qid;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
6666
val64 |= XGE_HAL_SET_RX_MAT(ring, msix_idx);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
6669
__hal_device_rti_set(ring, channel);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
6670
hldev->config.ring.queue[channel->post_qid].intr_vector =
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
913
if (!hldev->config.ring.queue[i].configured)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c
915
rti = &hldev->config.ring.queue[i].rti;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-mgmtaux.c
1561
xge_hal_ring_queue_t *ring;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-mgmtaux.c
1600
dev_config->ring.memblock_size, "%u");
usr/src/uts/common/io/xge/hal/xgehal/xgehal-mgmtaux.c
1612
ring = &dev_config->ring.queue[i];
usr/src/uts/common/io/xge/hal/xgehal/xgehal-mgmtaux.c
1613
rti = &ring->rti;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-mgmtaux.c
1615
if (!ring->configured)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-mgmtaux.c
1624
__HAL_AUX_ENTRY(key, ring->initial, "%u");
usr/src/uts/common/io/xge/hal/xgehal/xgehal-mgmtaux.c
1627
__HAL_AUX_ENTRY(key, ring->max, "%u");
usr/src/uts/common/io/xge/hal/xgehal/xgehal-mgmtaux.c
1630
__HAL_AUX_ENTRY(key, ring->buffer_mode, "%u");
usr/src/uts/common/io/xge/hal/xgehal/xgehal-mgmtaux.c
1633
__HAL_AUX_ENTRY(key, ring->dram_size_mb, "%u");
usr/src/uts/common/io/xge/hal/xgehal/xgehal-mgmtaux.c
1636
__HAL_AUX_ENTRY(key, ring->backoff_interval_us, "%u");
usr/src/uts/common/io/xge/hal/xgehal/xgehal-mgmtaux.c
1639
__HAL_AUX_ENTRY(key, ring->max_frm_len, "%d");
usr/src/uts/common/io/xge/hal/xgehal/xgehal-mgmtaux.c
1642
__HAL_AUX_ENTRY(key, ring->priority, "%u");
usr/src/uts/common/io/xge/hal/xgehal/xgehal-mgmtaux.c
1645
__HAL_AUX_ENTRY(key, ring->rth_en, "%u");
usr/src/uts/common/io/xge/hal/xgehal/xgehal-mgmtaux.c
1648
__HAL_AUX_ENTRY(key, ring->no_snoop_bits, "%u");
usr/src/uts/common/io/xge/hal/xgehal/xgehal-mgmtaux.c
1651
__HAL_AUX_ENTRY(key, ring->indicate_max_pkts, "%u");
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
29
__hal_ring_rxd_priv(xge_hal_ring_t *ring, xge_hal_dtr_h dtrh)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
38
xge_assert(ring);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
39
if (ring->buffer_mode == XGE_HAL_RING_QUEUE_BUFFER_MODE_5) {
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
45
((char*)ring->mempool->memblocks_priv_arr[memblock_idx] + ring->rxd_priv_size * i);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
477
xge_hal_ring_t *ring = (xge_hal_ring_t *)channelh;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
545
xge_hal_ring_t *ring = (xge_hal_ring_t *)channelh;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
553
priv = __hal_ring_rxd_priv(ring, rxdp);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
554
xge_os_dma_sync(ring->channel.pdev,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
556
priv->dma_offset, ring->rxd_size,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
564
if (ring->channel.usage_cnt > 0)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
565
ring->channel.usage_cnt--;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
579
xge_hal_ring_t *ring = (xge_hal_ring_t *)channelh;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
590
priv = __hal_ring_rxd_priv(ring, rxdp);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
591
xge_os_dma_sync(ring->channel.pdev,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
593
priv->dma_offset, ring->rxd_size,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
597
if (ring->channel.usage_cnt > 0)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
598
ring->channel.usage_cnt--;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
602
rxdp->control_1, ring->channel.usage_cnt);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
665
xge_hal_ring_t *ring = (xge_hal_ring_t *)channelh;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
670
__hal_channel_dtr_try_complete(ring, dtrh);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
683
priv = __hal_ring_rxd_priv(ring, rxdp);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
684
xge_os_dma_sync(ring->channel.pdev,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
694
if (++ring->cmpl_cnt > ring->indicate_max_pkts) {
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
705
if (ring->buffer_mode == XGE_HAL_RING_QUEUE_BUFFER_MODE_5) {
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
716
__hal_channel_dtr_complete(ring);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
725
((xge_hal_channel_t*)ring)->compl_index,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
726
((xge_hal_channel_t*)ring)->post_qid, *t_code,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
729
ring->channel.usage_cnt++;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
730
if (ring->channel.stats.usage_max < ring->channel.usage_cnt)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
731
ring->channel.stats.usage_max = ring->channel.usage_cnt;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
809
xge_hal_ring_t *ring = (xge_hal_ring_t *)channelh;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
812
__hal_channel_dtr_try_complete(ring, &dtrh);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring-fp.c
825
if (ring->buffer_mode == XGE_HAL_RING_QUEUE_BUFFER_MODE_5) {
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
105
xge_os_dma_sync(ring->channel.pdev,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
130
xge_hal_ring_t *ring = (xge_hal_ring_t *)userdata;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
133
xge_assert(ring);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
137
for (i=ring->rxds_per_block-1; i>=0; i--) {
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
141
int reserve_index = index * ring->rxds_per_block + i;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
144
ring->reserved_rxds_arr[reserve_index] = (char *)item +
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
145
(ring->rxds_per_block - 1 - i) * ring->rxd_size;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
155
ring->reserved_rxds_arr[reserve_index];
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
157
((char*)rxdblock_priv + ring->rxd_priv_size * i);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
169
if (ring->buffer_mode == XGE_HAL_RING_QUEUE_BUFFER_MODE_5) {
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
178
ring->rxds_per_block + i);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
197
__hal_ring_rxdblock_link(mempoolh, ring, 0, index);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
202
__hal_ring_rxdblock_link(mempoolh, ring, index, index-1);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
244
xge_hal_ring_t *ring = (xge_hal_ring_t *)channelh;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
251
hldev = (xge_hal_device_t *)ring->channel.devh;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
252
ring->config = &hldev->config.ring;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
253
queue = &ring->config->queue[attr->post_qid];
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
254
ring->indicate_max_pkts = queue->indicate_max_pkts;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
255
ring->buffer_mode = queue->buffer_mode;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
260
xge_os_spin_lock_init(&ring->channel.reserve_lock, hldev->pdev);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
262
xge_os_spin_lock_init_irq(&ring->channel.reserve_lock, hldev->irqh);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
265
xge_os_spin_lock_init(&ring->channel.post_lock, hldev->pdev);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
267
xge_os_spin_lock_init_irq(&ring->channel.post_lock, hldev->irqh);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
270
ring->rxd_size = XGE_HAL_RING_RXD_SIZEOF(queue->buffer_mode);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
271
ring->rxd_priv_size =
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
276
ring->rxds_per_block = XGE_HAL_RING_RXDS_PER_BLOCK(queue->buffer_mode);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
279
ring->rxdblock_priv_size = ring->rxd_priv_size * ring->rxds_per_block;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
281
ring->reserved_rxds_arr = (void **) xge_os_malloc(ring->channel.pdev,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
282
sizeof(void*) * queue->max * ring->rxds_per_block);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
284
if (ring->reserved_rxds_arr == NULL) {
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
289
ring->mempool = __hal_mempool_create(
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
291
ring->config->memblock_size,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
293
ring->rxdblock_priv_size,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
297
ring);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
298
if (ring->mempool == NULL) {
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
305
ring->reserved_rxds_arr,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
306
queue->initial * ring->rxds_per_block,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
307
queue->max * ring->rxds_per_block,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
315
xge_assert(ring->reserved_rxds_arr[0] ==
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
316
(char *)ring->mempool->items_arr[0] +
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
317
(ring->rxds_per_block * ring->rxd_size - ring->rxd_size));
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
326
if (ring->channel.dtr_init) {
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
338
ring->channel.usage_cnt = 0;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
346
xge_hal_ring_t *ring = (xge_hal_ring_t *)channelh;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
350
xge_hal_device_t *hldev = (xge_hal_device_t *)ring->channel.devh;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
353
xge_assert(ring->channel.pdev);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
355
queue = &ring->config->queue[ring->channel.post_qid];
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
357
if (ring->mempool) {
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
358
__hal_mempool_destroy(ring->mempool);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
361
if (ring->reserved_rxds_arr) {
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
362
xge_os_free(ring->channel.pdev,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
363
ring->reserved_rxds_arr,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
364
sizeof(void*) * queue->max * ring->rxds_per_block);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
370
xge_os_spin_lock_destroy(&ring->channel.reserve_lock, hldev->pdev);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
372
xge_os_spin_lock_destroy_irq(&ring->channel.reserve_lock, hldev->pdev);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
375
xge_os_spin_lock_destroy(&ring->channel.post_lock, hldev->pdev);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
377
xge_os_spin_lock_destroy_irq(&ring->channel.post_lock, hldev->pdev);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
384
xge_hal_ring_t *ring = (xge_hal_ring_t *)channelh;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
385
xge_hal_device_t *hldev = (xge_hal_device_t *)ring->channel.devh;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
393
xge_assert(ring);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
394
xge_assert(ring->channel.pdev);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
396
((xge_hal_device_t *)ring->channel.devh)->bar0;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
398
queue = &ring->config->queue[ring->channel.post_qid];
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
407
first_block = __hal_mempool_item(ring->mempool, block_num - 1);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
408
val64 = __hal_ring_item_dma_addr(ring->mempool,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
410
xge_os_pio_mem_write64(ring->channel.pdev, ring->channel.regh0,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
411
val64, &bar0->prc_rxd0_n[ring->channel.post_qid]);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
414
ring->channel.post_qid, (unsigned long long)val64);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
416
val64 = xge_os_pio_mem_read64(ring->channel.pdev,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
417
ring->channel.regh0, &bar0->prc_ctrl_n[ring->channel.post_qid]);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
440
xge_os_pio_mem_write64(ring->channel.pdev, ring->channel.regh0,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
441
val64, &bar0->prc_ctrl_n[ring->channel.post_qid]);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
444
val64 = xge_os_pio_mem_read64(ring->channel.pdev,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
445
ring->channel.regh0, &bar0->rx_pa_cfg);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
446
val64 |= XGE_HAL_RX_PA_CFG_SCATTER_MODE(ring->config->scatter_mode);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
450
val64 |= XGE_HAL_RX_PA_CFG_STRIP_VLAN_TAG_MODE(ring->config->strip_vlan_tag);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
452
xge_os_pio_mem_write64(ring->channel.pdev, ring->channel.regh0,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
456
ring->channel.post_qid, queue->buffer_mode);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
462
xge_hal_ring_t *ring = (xge_hal_ring_t *)channelh;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
466
xge_assert(ring);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
467
xge_assert(ring->channel.pdev);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
469
((xge_hal_device_t *)ring->channel.devh)->bar0;
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
471
val64 = xge_os_pio_mem_read64(ring->channel.pdev,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
472
ring->channel.regh0,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
473
&bar0->prc_ctrl_n[ring->channel.post_qid]);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
475
xge_os_pio_mem_write64(ring->channel.pdev, ring->channel.regh0,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
476
val64, &bar0->prc_ctrl_n[ring->channel.post_qid]);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
491
if (!hldev->config.ring.queue[i].configured)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
493
val64 |= vBIT(hldev->config.ring.queue[i].priority,
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
504
if (!hldev->config.ring.queue[i].configured)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
506
val64 |= vBIT(hldev->config.ring.queue[i].dram_size_mb,(i*8),8);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
527
if (!hldev->config.ring.queue[i].configured)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
529
if (!hldev->config.ring.queue[i].rth_en)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
547
if (hldev->config.ring.queue[i].configured)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
608
if (!hldev->config.ring.queue[i].configured ||
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
609
!hldev->config.ring.queue[i].intr_vector)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
626
hldev->config.ring.queue[i].intr_vector);
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
641
if (!hldev->config.ring.queue[i].configured)
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
643
if (hldev->config.ring.queue[i].max_frm_len !=
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
647
hldev->config.ring.queue[i].max_frm_len),
usr/src/uts/common/io/xge/hal/xgehal/xgehal-ring.c
76
xge_hal_ring_t *ring, int from, int to)
usr/src/uts/common/io/yge/yge.c
1465
yge_alloc_ring(yge_port_t *port, yge_dev_t *dev, yge_ring_t *ring, uint32_t num)
usr/src/uts/common/io/yge/yge.c
1478
ring->r_num = num;
usr/src/uts/common/io/yge/yge.c
1481
NULL, &ring->r_dmah);
usr/src/uts/common/io/yge/yge.c
1487
rv = ddi_dma_mem_alloc(ring->r_dmah, num * sizeof (yge_desc_t),
usr/src/uts/common/io/yge/yge.c
1489
&kaddr, &len, &ring->r_acch);
usr/src/uts/common/io/yge/yge.c
1494
ring->r_size = len;
usr/src/uts/common/io/yge/yge.c
1495
ring->r_kaddr = (void *)kaddr;
usr/src/uts/common/io/yge/yge.c
1499
rv = ddi_dma_addr_bind_handle(ring->r_dmah, NULL, kaddr,
usr/src/uts/common/io/yge/yge.c
1507
ring->r_paddr = dmac.dmac_address;
usr/src/uts/common/io/yge/yge.c
1513
yge_free_ring(yge_ring_t *ring)
usr/src/uts/common/io/yge/yge.c
1515
if (ring->r_paddr)
usr/src/uts/common/io/yge/yge.c
1516
(void) ddi_dma_unbind_handle(ring->r_dmah);
usr/src/uts/common/io/yge/yge.c
1517
ring->r_paddr = 0;
usr/src/uts/common/io/yge/yge.c
1518
if (ring->r_acch)
usr/src/uts/common/io/yge/yge.c
1519
ddi_dma_mem_free(&ring->r_acch);
usr/src/uts/common/io/yge/yge.c
1520
ring->r_kaddr = NULL;
usr/src/uts/common/io/yge/yge.c
1521
ring->r_acch = NULL;
usr/src/uts/common/io/yge/yge.c
1522
if (ring->r_dmah)
usr/src/uts/common/io/yge/yge.c
1523
ddi_dma_free_handle(&ring->r_dmah);
usr/src/uts/common/io/yge/yge.c
1524
ring->r_dmah = NULL;
usr/src/uts/common/io/yge/yge.c
1665
yge_ring_t *ring = &port->p_tx_ring;
usr/src/uts/common/io/yge/yge.c
1694
PUTADDR(ring, prod, txb->b_paddr);
usr/src/uts/common/io/yge/yge.c
1695
PUTCTRL(ring, prod, len | OP_PACKET | HW_OWNER | EOP);
usr/src/uts/common/io/yge/yge.c
1696
SYNCENTRY(ring, prod, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/yge/yge.c
1817
yge_ring_t *ring;
usr/src/uts/common/io/yge/yge.c
1824
ring = &port->p_rx_ring;
usr/src/uts/common/io/yge/yge.c
1862
PUTCTRL(ring, cons, port->p_framesize | OP_PACKET | HW_OWNER);
usr/src/uts/common/io/yge/yge.c
1863
SYNCENTRY(ring, cons, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/yge/yge.c
2176
yge_ring_t *ring;
usr/src/uts/common/io/yge/yge.c
2189
ring = &dev->d_status_ring;
usr/src/uts/common/io/yge/yge.c
2193
SYNCENTRY(ring, cons, DDI_DMA_SYNC_FORKERNEL);
usr/src/uts/common/io/yge/yge.c
2194
control = GETCTRL(ring, cons);
usr/src/uts/common/io/yge/yge.c
2201
status = GETSTAT(ring, cons);
usr/src/uts/common/io/yge/yge.c
2241
PUTCTRL(ring, cons, control);
usr/src/uts/common/io/yge/yge.c
2242
SYNCENTRY(ring, cons, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/yge/yge.c
2682
yge_set_prefetch(yge_dev_t *dev, int qaddr, yge_ring_t *ring)
usr/src/uts/common/io/yge/yge.c
2691
YGE_ADDR_LO(ring->r_paddr));
usr/src/uts/common/io/yge/yge.c
2693
YGE_ADDR_HI(ring->r_paddr));
usr/src/uts/common/io/yge/yge.c
2696
ring->r_num - 1);
usr/src/uts/common/io/yge/yge.c
492
yge_ring_t *ring;
usr/src/uts/common/io/yge/yge.c
497
ring = &port->p_rx_ring;
usr/src/uts/common/io/yge/yge.c
500
CLEARRING(ring);
usr/src/uts/common/io/yge/yge.c
506
PUTADDR(ring, prod, rxb->b_paddr);
usr/src/uts/common/io/yge/yge.c
507
PUTCTRL(ring, prod, port->p_framesize | OP_PACKET | HW_OWNER);
usr/src/uts/common/io/yge/yge.c
510
SYNCRING(ring, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/yge/yge.c
512
yge_set_prefetch(port->p_dev, port->p_rxq, ring);
usr/src/uts/common/io/yge/yge.c
523
yge_ring_t *ring = &port->p_tx_ring;
usr/src/uts/common/io/yge/yge.c
529
CLEARRING(ring);
usr/src/uts/common/io/yge/yge.c
530
SYNCRING(ring, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/yge/yge.c
532
yge_set_prefetch(port->p_dev, port->p_txq, ring);
usr/src/uts/common/io/yge/yge.h
1851
#define GETADDR(ring, i) \
usr/src/uts/common/io/yge/yge.h
1852
(ddi_get32((ring)->r_acch, &(ring)->r_kaddr[i].desc_status))
usr/src/uts/common/io/yge/yge.h
1854
#define GETSTAT(ring, i) \
usr/src/uts/common/io/yge/yge.h
1855
(ddi_get32((ring)->r_acch, &(ring)->r_kaddr[i].desc_status))
usr/src/uts/common/io/yge/yge.h
1857
#define GETCTRL(ring, i) \
usr/src/uts/common/io/yge/yge.h
1858
(ddi_get32((ring)->r_acch, &(ring)->r_kaddr[i].desc_control))
usr/src/uts/common/io/yge/yge.h
1860
#define PUTADDR(ring, i, v) \
usr/src/uts/common/io/yge/yge.h
1861
(ddi_put32((ring)->r_acch, &(ring)->r_kaddr[i].desc_status, v))
usr/src/uts/common/io/yge/yge.h
1863
#define PUTSTAT(ring, i, v) \
usr/src/uts/common/io/yge/yge.h
1864
(ddi_put32((ring)->r_acch, &(ring)->r_kaddr[i].desc_status, v))
usr/src/uts/common/io/yge/yge.h
1866
#define PUTCTRL(ring, i, v) \
usr/src/uts/common/io/yge/yge.h
1867
(ddi_put32((ring)->r_acch, &(ring)->r_kaddr[i].desc_control, v))
usr/src/uts/common/io/yge/yge.h
1869
#define SYNCENTRY(ring, i, flags) \
usr/src/uts/common/io/yge/yge.h
1870
(void) ddi_dma_sync((ring)->r_dmah, (i) * sizeof (yge_desc_t), \
usr/src/uts/common/io/yge/yge.h
1873
#define CLEARRING(ring) \
usr/src/uts/common/io/yge/yge.h
1874
bzero((ring)->r_kaddr, (ring)->r_size)
usr/src/uts/common/io/yge/yge.h
1876
#define SYNCRING(ring, flags) \
usr/src/uts/common/io/yge/yge.h
1877
(void) ddi_dma_sync((ring)->r_dmah, 0, 0, (flags))
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_extern.h
427
int32_t ring, MAILBOXQ *mbq);
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_fc.h
1572
emlxs_ring_t ring[MAX_RINGS];
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
689
uint32_t ring:4;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
692
uint32_t ring:4;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
897
uint32_t ring:4;
usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_mbox.h
900
uint32_t ring:4;
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
146
#define RING_NUM_PENDING(ring) ring->num_used
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
148
#define RING_NUM_FREE(ring) \
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
149
(uint32_t)(ring->num_items - ring->num_used)
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
151
#define RING_FULL(ring) (ring->num_used == ring->num_items)
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
153
#define RING_EMPTY(ring) (ring->num_used == 0)
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
155
#define RING_GET(ring, n) \
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
156
ring->cidx = GET_Q_NEXT(ring->cidx, n, ring->num_items)
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
158
#define RING_PUT(ring, n) \
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
159
ring->pidx = GET_Q_NEXT(ring->pidx, n, ring->num_items)
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
161
#define RING_GET_CONSUMER_ITEM_VA(ring, type) \
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
162
(void*)(((type *)DBUF_VA(ring->dbuf)) + ring->cidx)
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
164
#define RING_GET_CONSUMER_ITEM_PA(ring, type) \
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
165
(uint64_t)(((type *)DBUF_PA(ring->dbuf)) + ring->cidx)
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
167
#define RING_GET_PRODUCER_ITEM_VA(ring, type) \
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
168
(void *)(((type *)DBUF_VA(ring->dbuf)) + ring->pidx)
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
170
#define RING_GET_PRODUCER_ITEM_PA(ring, type) \
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_buf.h
171
(uint64_t)(((type *)DBUF_PA(ring->dbuf)) + ring->pidx)
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_io.h
106
oce_ring_buffer_t *ring;
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_io.h
151
oce_ring_buffer_t *ring;
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_io.h
173
oce_ring_buffer_t *ring;
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_io.h
217
oce_ring_buffer_t *ring; /* ring buffer managing the wqes */
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_io.h
260
oce_ring_buffer_t *ring;
usr/src/uts/common/sys/fibre-channel/fca/oce/oce_io.h
300
void destroy_ring_buffer(struct oce_dev *dev, oce_ring_buffer_t *ring);
usr/src/uts/common/sys/gldpriv.h
512
ushort_t ring:12; /* ...(Big Endian) -- needs ntohs() */
usr/src/uts/common/sys/gldpriv.h
521
ushort_t ring:12;
usr/src/uts/common/sys/ib/clients/rdsv3/ib.h
342
void rdsv3_ib_ring_init(struct rdsv3_ib_work_ring *ring, uint32_t nr);
usr/src/uts/common/sys/ib/clients/rdsv3/ib.h
343
void rdsv3_ib_ring_resize(struct rdsv3_ib_work_ring *ring, uint32_t nr);
usr/src/uts/common/sys/ib/clients/rdsv3/ib.h
344
uint32_t rdsv3_ib_ring_alloc(struct rdsv3_ib_work_ring *ring, uint32_t val,
usr/src/uts/common/sys/ib/clients/rdsv3/ib.h
346
void rdsv3_ib_ring_free(struct rdsv3_ib_work_ring *ring, uint32_t val);
usr/src/uts/common/sys/ib/clients/rdsv3/ib.h
347
void rdsv3_ib_ring_unalloc(struct rdsv3_ib_work_ring *ring, uint32_t val);
usr/src/uts/common/sys/ib/clients/rdsv3/ib.h
348
int rdsv3_ib_ring_empty(struct rdsv3_ib_work_ring *ring);
usr/src/uts/common/sys/ib/clients/rdsv3/ib.h
349
int rdsv3_ib_ring_low(struct rdsv3_ib_work_ring *ring);
usr/src/uts/common/sys/ib/clients/rdsv3/ib.h
350
uint32_t rdsv3_ib_ring_oldest(struct rdsv3_ib_work_ring *ring);
usr/src/uts/common/sys/ib/clients/rdsv3/ib.h
351
uint32_t rdsv3_ib_ring_completed(struct rdsv3_ib_work_ring *ring,
usr/src/uts/common/sys/mac_client_priv.h
150
#define MAC_HWRING_POLL(ring, bytes) \
usr/src/uts/common/sys/mac_client_priv.h
151
(((ring)->mr_info.mri_poll) \
usr/src/uts/common/sys/mac_client_priv.h
152
((ring)->mr_info.mri_driver, (bytes)))
usr/src/uts/common/xen/io/blk_common.c
142
static int blk_check_state_transition(blk_ring_t ring, XenbusState oestate);
usr/src/uts/common/xen/io/blk_common.c
143
static int blk_start_connect(blk_ring_t ring);
usr/src/uts/common/xen/io/blk_common.c
144
static void blk_start_disconnect(blk_ring_t ring);
usr/src/uts/common/xen/io/blk_common.c
145
static void blk_ring_close(blk_ring_t ring);
usr/src/uts/common/xen/io/blk_common.c
146
static int blk_bindto_frontend(blk_ring_t ring);
usr/src/uts/common/xen/io/blk_common.c
147
static void blk_unbindfrom_frontend(blk_ring_t ring);
usr/src/uts/common/xen/io/blk_common.c
150
static int blk_kstat_init(blk_ring_t ring);
usr/src/uts/common/xen/io/blk_common.c
151
static void blk_kstat_fini(blk_ring_t ring);
usr/src/uts/common/xen/io/blk_common.c
171
blk_ring_t ring;
usr/src/uts/common/xen/io/blk_common.c
175
ring = kmem_zalloc(sizeof (struct blk_ring_s), KM_SLEEP);
usr/src/uts/common/xen/io/blk_common.c
176
mutex_init(&ring->ri_mutex, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/xen/io/blk_common.c
177
ring->ri_dip = args->ar_dip;
usr/src/uts/common/xen/io/blk_common.c
178
ring->ri_intr = args->ar_intr;
usr/src/uts/common/xen/io/blk_common.c
179
ring->ri_intr_arg = args->ar_intr_arg;
usr/src/uts/common/xen/io/blk_common.c
180
ring->ri_ringup = args->ar_ringup;
usr/src/uts/common/xen/io/blk_common.c
181
ring->ri_ringup_arg = args->ar_ringup_arg;
usr/src/uts/common/xen/io/blk_common.c
182
ring->ri_ringdown = args->ar_ringdown;
usr/src/uts/common/xen/io/blk_common.c
183
ring->ri_ringdown_arg = args->ar_ringdown_arg;
usr/src/uts/common/xen/io/blk_common.c
185
ring->ri_if_status = BLK_IF_UNKNOWN;
usr/src/uts/common/xen/io/blk_common.c
186
ring->ri_be_status = BLK_BE_UNKNOWN;
usr/src/uts/common/xen/io/blk_common.c
187
ring->ri_fe_status = BLK_FE_UNKNOWN;
usr/src/uts/common/xen/io/blk_common.c
188
ring->ri_state.rs_sleeping_on_ring = B_FALSE;
usr/src/uts/common/xen/io/blk_common.c
189
ring->ri_state.rs_ring_up = B_FALSE;
usr/src/uts/common/xen/io/blk_common.c
191
mutex_init(&ring->ri_state.rs_mutex, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/common/xen/io/blk_common.c
192
cv_init(&ring->ri_state.rs_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/common/xen/io/blk_common.c
194
e = blk_kstat_init(ring);
usr/src/uts/common/xen/io/blk_common.c
200
if (xvdi_add_event_handler(ring->ri_dip, XS_OE_STATE,
usr/src/uts/common/xen/io/blk_common.c
201
blk_oe_state_change, ring) != DDI_SUCCESS) {
usr/src/uts/common/xen/io/blk_common.c
204
if (xvdi_add_event_handler(ring->ri_dip, XS_HP_STATE,
usr/src/uts/common/xen/io/blk_common.c
205
blk_hp_state_change, ring) != DDI_SUCCESS) {
usr/src/uts/common/xen/io/blk_common.c
212
if (xvdi_post_event(ring->ri_dip, XEN_HP_ADD) != DDI_SUCCESS) {
usr/src/uts/common/xen/io/blk_common.c
214
ddi_get_name_addr(ring->ri_dip));
usr/src/uts/common/xen/io/blk_common.c
222
(void) xvdi_switch_state(ring->ri_dip, XBT_NULL, XenbusStateInitWait);
usr/src/uts/common/xen/io/blk_common.c
224
*ringp = ring;
usr/src/uts/common/xen/io/blk_common.c
228
xvdi_remove_event_handler(ring->ri_dip, XS_HP_STATE);
usr/src/uts/common/xen/io/blk_common.c
230
xvdi_remove_event_handler(ring->ri_dip, XS_OE_STATE);
usr/src/uts/common/xen/io/blk_common.c
232
blk_kstat_fini(ring);
usr/src/uts/common/xen/io/blk_common.c
234
cv_destroy(&ring->ri_state.rs_cv);
usr/src/uts/common/xen/io/blk_common.c
235
mutex_destroy(&ring->ri_state.rs_mutex);
usr/src/uts/common/xen/io/blk_common.c
236
mutex_destroy(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
237
kmem_free(ring, sizeof (struct blk_ring_s));
usr/src/uts/common/xen/io/blk_common.c
248
blk_ring_t ring;
usr/src/uts/common/xen/io/blk_common.c
251
ring = *ringp;
usr/src/uts/common/xen/io/blk_common.c
253
mutex_enter(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
254
if (ring->ri_if_status != BLK_IF_DISCONNECTED) {
usr/src/uts/common/xen/io/blk_common.c
255
blk_ring_close(ring);
usr/src/uts/common/xen/io/blk_common.c
257
mutex_exit(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
259
xvdi_remove_event_handler(ring->ri_dip, NULL);
usr/src/uts/common/xen/io/blk_common.c
260
blk_kstat_fini(ring);
usr/src/uts/common/xen/io/blk_common.c
261
cv_destroy(&ring->ri_state.rs_cv);
usr/src/uts/common/xen/io/blk_common.c
262
mutex_destroy(&ring->ri_state.rs_mutex);
usr/src/uts/common/xen/io/blk_common.c
263
mutex_destroy(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
264
kmem_free(ring, sizeof (struct blk_ring_s));
usr/src/uts/common/xen/io/blk_common.c
274
blk_kstat_init(blk_ring_t ring)
usr/src/uts/common/xen/io/blk_common.c
280
ring->ri_kstats = kstat_create(ddi_get_name(ring->ri_dip),
usr/src/uts/common/xen/io/blk_common.c
281
ddi_get_instance(ring->ri_dip), "req_statistics", "block",
usr/src/uts/common/xen/io/blk_common.c
283
if (ring->ri_kstats == NULL) {
usr/src/uts/common/xen/io/blk_common.c
287
ring->ri_kstats->ks_private = ring;
usr/src/uts/common/xen/io/blk_common.c
288
ring->ri_kstats->ks_update = blk_kstat_update;
usr/src/uts/common/xen/io/blk_common.c
290
knp = ring->ri_kstats->ks_data;
usr/src/uts/common/xen/io/blk_common.c
298
kstat_install(ring->ri_kstats);
usr/src/uts/common/xen/io/blk_common.c
308
blk_kstat_fini(blk_ring_t ring)
usr/src/uts/common/xen/io/blk_common.c
310
kstat_delete(ring->ri_kstats);
usr/src/uts/common/xen/io/blk_common.c
322
blk_ring_t ring;
usr/src/uts/common/xen/io/blk_common.c
329
ring = ksp->ks_private;
usr/src/uts/common/xen/io/blk_common.c
330
stats = &ring->ri_stats;
usr/src/uts/common/xen/io/blk_common.c
356
blk_ring_t ring;
usr/src/uts/common/xen/io/blk_common.c
359
ring = (blk_ring_t)arg;
usr/src/uts/common/xen/io/blk_common.c
362
mutex_enter(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
364
if (blk_check_state_transition(ring, new_state) == DDI_FAILURE) {
usr/src/uts/common/xen/io/blk_common.c
365
mutex_exit(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
371
ASSERT(ring->ri_if_status == BLK_IF_UNKNOWN);
usr/src/uts/common/xen/io/blk_common.c
374
ring->ri_fe_status = BLK_FE_READY;
usr/src/uts/common/xen/io/blk_common.c
376
if (ring->ri_be_status == BLK_BE_READY) {
usr/src/uts/common/xen/io/blk_common.c
377
mutex_exit(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
378
if (blk_start_connect(ring) != DDI_SUCCESS)
usr/src/uts/common/xen/io/blk_common.c
379
(void) blk_start_disconnect(ring);
usr/src/uts/common/xen/io/blk_common.c
380
mutex_enter(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
388
(void) xvdi_post_event(ring->ri_dip, XEN_HP_REMOVE);
usr/src/uts/common/xen/io/blk_common.c
389
if (ring->ri_ringdown != NULL) {
usr/src/uts/common/xen/io/blk_common.c
390
(*(ring->ri_ringdown))(ring->ri_ringdown_arg);
usr/src/uts/common/xen/io/blk_common.c
392
blk_ring_close(ring);
usr/src/uts/common/xen/io/blk_common.c
395
ring->ri_if_status = BLK_IF_UNKNOWN;
usr/src/uts/common/xen/io/blk_common.c
396
ring->ri_be_status = BLK_BE_UNKNOWN;
usr/src/uts/common/xen/io/blk_common.c
397
ring->ri_fe_status = BLK_FE_UNKNOWN;
usr/src/uts/common/xen/io/blk_common.c
398
ring->ri_state.rs_sleeping_on_ring = B_FALSE;
usr/src/uts/common/xen/io/blk_common.c
399
ring->ri_state.rs_ring_up = B_FALSE;
usr/src/uts/common/xen/io/blk_common.c
406
mutex_exit(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
419
blk_ring_t ring;
usr/src/uts/common/xen/io/blk_common.c
422
ring = (blk_ring_t)arg;
usr/src/uts/common/xen/io/blk_common.c
425
mutex_enter(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
428
if (ring->ri_be_status == BLK_BE_UNKNOWN) {
usr/src/uts/common/xen/io/blk_common.c
429
ring->ri_be_status = BLK_BE_READY;
usr/src/uts/common/xen/io/blk_common.c
430
if (ring->ri_fe_status == BLK_FE_READY) {
usr/src/uts/common/xen/io/blk_common.c
431
mutex_exit(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
433
if (blk_start_connect(ring) != DDI_SUCCESS)
usr/src/uts/common/xen/io/blk_common.c
434
(void) blk_start_disconnect(ring);
usr/src/uts/common/xen/io/blk_common.c
435
mutex_enter(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
439
mutex_exit(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
450
blk_check_state_transition(blk_ring_t ring, XenbusState oestate)
usr/src/uts/common/xen/io/blk_common.c
452
switch (ring->ri_if_status) {
usr/src/uts/common/xen/io/blk_common.c
454
if (ring->ri_fe_status == BLK_FE_UNKNOWN) {
usr/src/uts/common/xen/io/blk_common.c
492
ddi_get_name_addr(ring->ri_dip), oestate,
usr/src/uts/common/xen/io/blk_common.c
493
ring->ri_if_status);
usr/src/uts/common/xen/io/blk_common.c
508
blk_start_connect(blk_ring_t ring)
usr/src/uts/common/xen/io/blk_common.c
518
dip = ring->ri_dip;
usr/src/uts/common/xen/io/blk_common.c
525
ASSERT(ring->ri_fe_status == BLK_FE_READY);
usr/src/uts/common/xen/io/blk_common.c
526
ASSERT(ring->ri_be_status == BLK_BE_READY);
usr/src/uts/common/xen/io/blk_common.c
533
ring->ri_fe = xvdi_get_oeid(dip);
usr/src/uts/common/xen/io/blk_common.c
534
if (ring->ri_fe == (domid_t)-1) {
usr/src/uts/common/xen/io/blk_common.c
543
e = blk_bindto_frontend(ring);
usr/src/uts/common/xen/io/blk_common.c
547
ring->ri_if_status = BLK_IF_CONNECTED;
usr/src/uts/common/xen/io/blk_common.c
549
e = ddi_add_intr(dip, 0, NULL, NULL, blk_intr, (caddr_t)ring);
usr/src/uts/common/xen/io/blk_common.c
563
ddi_get_instance(ring->ri_dip));
usr/src/uts/common/xen/io/blk_common.c
605
mutex_enter(&ring->ri_state.rs_mutex);
usr/src/uts/common/xen/io/blk_common.c
606
ring->ri_state.rs_ring_up = B_TRUE;
usr/src/uts/common/xen/io/blk_common.c
607
if (ring->ri_state.rs_sleeping_on_ring) {
usr/src/uts/common/xen/io/blk_common.c
608
ring->ri_state.rs_sleeping_on_ring = B_FALSE;
usr/src/uts/common/xen/io/blk_common.c
609
cv_signal(&ring->ri_state.rs_cv);
usr/src/uts/common/xen/io/blk_common.c
611
mutex_exit(&ring->ri_state.rs_mutex);
usr/src/uts/common/xen/io/blk_common.c
613
if (ring->ri_ringup != NULL) {
usr/src/uts/common/xen/io/blk_common.c
614
(*(ring->ri_ringup))(ring->ri_ringup_arg);
usr/src/uts/common/xen/io/blk_common.c
626
blk_unbindfrom_frontend(ring);
usr/src/uts/common/xen/io/blk_common.c
627
ring->ri_fe = (domid_t)-1;
usr/src/uts/common/xen/io/blk_common.c
642
blk_start_disconnect(blk_ring_t ring)
usr/src/uts/common/xen/io/blk_common.c
645
(void) xvdi_switch_state(ring->ri_dip, XBT_NULL, XenbusStateClosing);
usr/src/uts/common/xen/io/blk_common.c
656
blk_ring_close(blk_ring_t ring)
usr/src/uts/common/xen/io/blk_common.c
662
ASSERT(MUTEX_HELD(&ring->ri_mutex));
usr/src/uts/common/xen/io/blk_common.c
664
dip = ring->ri_dip;
usr/src/uts/common/xen/io/blk_common.c
666
if (ring->ri_if_status != BLK_IF_CONNECTED) {
usr/src/uts/common/xen/io/blk_common.c
670
ring->ri_if_status = BLK_IF_DISCONNECTED;
usr/src/uts/common/xen/io/blk_common.c
671
mutex_exit(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
676
blk_unbindfrom_frontend(ring);
usr/src/uts/common/xen/io/blk_common.c
677
ring->ri_fe = (domid_t)-1;
usr/src/uts/common/xen/io/blk_common.c
679
mutex_enter(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
687
blk_bindto_frontend(blk_ring_t ring)
usr/src/uts/common/xen/io/blk_common.c
697
dip = ring->ri_dip;
usr/src/uts/common/xen/io/blk_common.c
721
ring->ri_protocol = BLKIF_PROTOCOL_NATIVE;
usr/src/uts/common/xen/io/blk_common.c
722
ring->ri_nentry = BLKIF_RING_SIZE;
usr/src/uts/common/xen/io/blk_common.c
723
ring->ri_entrysize = sizeof (union blkif_sring_entry);
usr/src/uts/common/xen/io/blk_common.c
725
ring->ri_protocol = BLKIF_PROTOCOL_X86_32;
usr/src/uts/common/xen/io/blk_common.c
726
ring->ri_nentry = BLKIF_X86_32_RING_SIZE;
usr/src/uts/common/xen/io/blk_common.c
727
ring->ri_entrysize = sizeof (union blkif_x86_32_sring_entry);
usr/src/uts/common/xen/io/blk_common.c
729
ring->ri_protocol = BLKIF_PROTOCOL_X86_64;
usr/src/uts/common/xen/io/blk_common.c
730
ring->ri_nentry = BLKIF_X86_64_RING_SIZE;
usr/src/uts/common/xen/io/blk_common.c
731
ring->ri_entrysize = sizeof (union blkif_x86_64_sring_entry);
usr/src/uts/common/xen/io/blk_common.c
740
e = xvdi_map_ring(dip, ring->ri_nentry, ring->ri_entrysize, gref,
usr/src/uts/common/xen/io/blk_common.c
741
&ring->ri_ring);
usr/src/uts/common/xen/io/blk_common.c
751
xvdi_unmap_ring(ring->ri_ring);
usr/src/uts/common/xen/io/blk_common.c
764
blk_unbindfrom_frontend(blk_ring_t ring)
usr/src/uts/common/xen/io/blk_common.c
766
xvdi_free_evtchn(ring->ri_dip);
usr/src/uts/common/xen/io/blk_common.c
767
xvdi_unmap_ring(ring->ri_ring);
usr/src/uts/common/xen/io/blk_common.c
777
blk_ring_t ring;
usr/src/uts/common/xen/io/blk_common.c
779
ring = (blk_ring_t)arg;
usr/src/uts/common/xen/io/blk_common.c
780
if (ring->ri_if_status != BLK_IF_CONNECTED) {
usr/src/uts/common/xen/io/blk_common.c
784
(void) (*ring->ri_intr)(ring->ri_intr_arg);
usr/src/uts/common/xen/io/blk_common.c
793
blk_ring_request_get(blk_ring_t ring, blkif_request_t *req)
usr/src/uts/common/xen/io/blk_common.c
799
mutex_enter(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
801
if (ring->ri_if_status != BLK_IF_CONNECTED) {
usr/src/uts/common/xen/io/blk_common.c
802
mutex_exit(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
806
src = xvdi_ring_get_request(ring->ri_ring);
usr/src/uts/common/xen/io/blk_common.c
808
mutex_exit(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
812
switch (ring->ri_protocol) {
usr/src/uts/common/xen/io/blk_common.c
824
ddi_get_name_addr(ring->ri_dip),
usr/src/uts/common/xen/io/blk_common.c
825
ring->ri_protocol);
usr/src/uts/common/xen/io/blk_common.c
827
mutex_exit(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
829
stats = &ring->ri_stats;
usr/src/uts/common/xen/io/blk_common.c
855
blk_ring_request_requeue(blk_ring_t ring)
usr/src/uts/common/xen/io/blk_common.c
857
mutex_enter(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
859
if (ring->ri_if_status != BLK_IF_CONNECTED) {
usr/src/uts/common/xen/io/blk_common.c
860
mutex_exit(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
864
ring->ri_ring->xr_sring.br.req_cons--;
usr/src/uts/common/xen/io/blk_common.c
866
mutex_exit(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
874
blk_ring_response_put(blk_ring_t ring, blkif_response_t *src)
usr/src/uts/common/xen/io/blk_common.c
880
mutex_enter(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
882
if (ring->ri_if_status != BLK_IF_CONNECTED) {
usr/src/uts/common/xen/io/blk_common.c
883
mutex_exit(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.c
887
rsp = xvdi_ring_get_response(ring->ri_ring);
usr/src/uts/common/xen/io/blk_common.c
890
switch (ring->ri_protocol) {
usr/src/uts/common/xen/io/blk_common.c
902
ddi_get_name_addr(ring->ri_dip),
usr/src/uts/common/xen/io/blk_common.c
903
ring->ri_protocol);
usr/src/uts/common/xen/io/blk_common.c
906
e = xvdi_ring_push_response(ring->ri_ring);
usr/src/uts/common/xen/io/blk_common.c
908
xvdi_notify_oe(ring->ri_dip);
usr/src/uts/common/xen/io/blk_common.c
911
mutex_exit(&ring->ri_mutex);
usr/src/uts/common/xen/io/blk_common.h
56
int blk_ring_init(blk_ringinit_args_t *args, blk_ring_t *ring);
usr/src/uts/common/xen/io/blk_common.h
57
void blk_ring_fini(blk_ring_t *ring);
usr/src/uts/common/xen/io/blk_common.h
59
boolean_t blk_ring_request_get(blk_ring_t ring, blkif_request_t *req);
usr/src/uts/common/xen/io/blk_common.h
60
void blk_ring_request_requeue(blk_ring_t ring);
usr/src/uts/common/xen/io/blk_common.h
63
void blk_ring_response_put(blk_ring_t ring, blkif_response_t *resp);
usr/src/uts/common/xen/io/evtchn_dev.c
138
ep->ring[EVTCHN_RING_MASK(ep->ring_prod)] = port;
usr/src/uts/common/xen/io/evtchn_dev.c
224
if (uiomove(&ep->ring[EVTCHN_RING_MASK(c)], bytes1, UIO_READ, uio) ||
usr/src/uts/common/xen/io/evtchn_dev.c
225
((bytes2 != 0) && uiomove(&ep->ring[0], bytes2, UIO_READ, uio))) {
usr/src/uts/common/xen/io/evtchn_dev.c
521
ep->ring = kmem_alloc(PAGESIZE, KM_SLEEP);
usr/src/uts/common/xen/io/evtchn_dev.c
553
kmem_free(ep->ring, PAGESIZE);
usr/src/uts/common/xen/io/evtchn_dev.c
92
evtchn_port_t *ring;
usr/src/uts/common/xen/os/xvdi.c
2052
(FRONT_RING(_ringp)->sring->ring + \
usr/src/uts/common/xen/os/xvdi.c
2055
(BACK_RING(_ringp)->sring->ring + \
usr/src/uts/common/xen/os/xvdi.c
532
xendev_ring_t *ring;
usr/src/uts/common/xen/os/xvdi.c
536
ring = kmem_zalloc(sizeof (xendev_ring_t), KM_SLEEP);
usr/src/uts/common/xen/os/xvdi.c
559
ring->xr_vaddr = ringva;
usr/src/uts/common/xen/os/xvdi.c
560
ring->xr_grant_hdl = mapop.handle;
usr/src/uts/common/xen/os/xvdi.c
561
ring->xr_gref = gref;
usr/src/uts/common/xen/os/xvdi.c
569
ring->xr_acc_hdl = impl_acc_hdl_alloc(KM_SLEEP, NULL);
usr/src/uts/common/xen/os/xvdi.c
570
ap = impl_acc_hdl_get(ring->xr_acc_hdl);
usr/src/uts/common/xen/os/xvdi.c
580
ap->ah_addr = ring->xr_vaddr;
usr/src/uts/common/xen/os/xvdi.c
583
xvdi_ring_init_back_ring(ring, nentry, entrysize);
usr/src/uts/common/xen/os/xvdi.c
585
*ringpp = ring;
usr/src/uts/common/xen/os/xvdi.c
592
unmapop.handle = ring->xr_grant_hdl;
usr/src/uts/common/xen/os/xvdi.c
598
kmem_free(ring, sizeof (xendev_ring_t));
usr/src/uts/common/xen/os/xvdi.c
607
xvdi_unmap_ring(xendev_ring_t *ring)
usr/src/uts/common/xen/os/xvdi.c
611
ASSERT((ring != NULL) && (ring->xr_vaddr != NULL));
usr/src/uts/common/xen/os/xvdi.c
613
impl_acc_hdl_free(ring->xr_acc_hdl);
usr/src/uts/common/xen/os/xvdi.c
614
unmapop.host_addr = (uint64_t)(uintptr_t)ring->xr_vaddr;
usr/src/uts/common/xen/os/xvdi.c
615
unmapop.handle = ring->xr_grant_hdl;
usr/src/uts/common/xen/os/xvdi.c
618
hat_release_mapping(kas.a_hat, ring->xr_vaddr);
usr/src/uts/common/xen/os/xvdi.c
619
vmem_xfree(heap_arena, ring->xr_vaddr, PAGESIZE);
usr/src/uts/common/xen/os/xvdi.c
620
kmem_free(ring, sizeof (xendev_ring_t));
usr/src/uts/common/xen/os/xvdi.c
661
xendev_ring_t *ring;
usr/src/uts/common/xen/os/xvdi.c
673
*ringpp = ring = kmem_zalloc(sizeof (xendev_ring_t), KM_SLEEP);
usr/src/uts/common/xen/os/xvdi.c
680
0, &ring->xr_dma_hdl) != DDI_SUCCESS)
usr/src/uts/common/xen/os/xvdi.c
683
if (ddi_dma_mem_alloc(ring->xr_dma_hdl, PAGESIZE,
usr/src/uts/common/xen/os/xvdi.c
685
&ring->xr_vaddr, &len, &ring->xr_acc_hdl) != DDI_SUCCESS) {
usr/src/uts/common/xen/os/xvdi.c
686
ddi_dma_free_handle(&ring->xr_dma_hdl);
usr/src/uts/common/xen/os/xvdi.c
690
if (ddi_dma_addr_bind_handle(ring->xr_dma_hdl, NULL,
usr/src/uts/common/xen/os/xvdi.c
691
ring->xr_vaddr, len, DDI_DMA_RDWR | DDI_DMA_CONSISTENT,
usr/src/uts/common/xen/os/xvdi.c
693
ddi_dma_mem_free(&ring->xr_acc_hdl);
usr/src/uts/common/xen/os/xvdi.c
694
ring->xr_vaddr = NULL;
usr/src/uts/common/xen/os/xvdi.c
695
ddi_dma_free_handle(&ring->xr_dma_hdl);
usr/src/uts/common/xen/os/xvdi.c
699
ring->xr_paddr = dma_cookie.dmac_laddress;
usr/src/uts/common/xen/os/xvdi.c
700
rmaddr = DOMAIN_IS_INITDOMAIN(xen_info) ? ring->xr_paddr :
usr/src/uts/common/xen/os/xvdi.c
701
pa_to_ma(ring->xr_paddr);
usr/src/uts/common/xen/os/xvdi.c
705
(void) ddi_dma_unbind_handle(ring->xr_dma_hdl);
usr/src/uts/common/xen/os/xvdi.c
706
ddi_dma_mem_free(&ring->xr_acc_hdl);
usr/src/uts/common/xen/os/xvdi.c
707
ring->xr_vaddr = NULL;
usr/src/uts/common/xen/os/xvdi.c
708
ddi_dma_free_handle(&ring->xr_dma_hdl);
usr/src/uts/common/xen/os/xvdi.c
711
*gref = ring->xr_gref = ring_gref;
usr/src/uts/common/xen/os/xvdi.c
714
xvdi_ring_init_sring(ring);
usr/src/uts/common/xen/os/xvdi.c
715
xvdi_ring_init_front_ring(ring, nentry, entrysize);
usr/src/uts/common/xen/os/xvdi.c
720
kmem_free(ring, sizeof (xendev_ring_t));
usr/src/uts/common/xen/os/xvdi.c
729
xvdi_free_ring(xendev_ring_t *ring)
usr/src/uts/common/xen/os/xvdi.c
731
ASSERT((ring != NULL) && (ring->xr_vaddr != NULL));
usr/src/uts/common/xen/os/xvdi.c
733
(void) gnttab_end_foreign_access_ref(ring->xr_gref, 0);
usr/src/uts/common/xen/os/xvdi.c
734
(void) ddi_dma_unbind_handle(ring->xr_dma_hdl);
usr/src/uts/common/xen/os/xvdi.c
735
ddi_dma_mem_free(&ring->xr_acc_hdl);
usr/src/uts/common/xen/os/xvdi.c
736
ddi_dma_free_handle(&ring->xr_dma_hdl);
usr/src/uts/common/xen/os/xvdi.c
737
kmem_free(ring, sizeof (xendev_ring_t));
usr/src/uts/common/xen/public/io/console.h
32
#define MASK_XENCONS_IDX(idx, ring) ((idx) & (sizeof(ring)-1))
usr/src/uts/common/xen/public/io/ring.h
107
union __name##_sring_entry ring[1]; /* variable-length */ \
usr/src/uts/common/xen/public/io/ring.h
218
(&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].req))
usr/src/uts/common/xen/public/io/ring.h
221
(&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].rsp))
usr/src/uts/common/xen/public/io/ring.h
54
(__RD32(((_sz) - offsetof(struct _s##_sring, ring)) / \
usr/src/uts/common/xen/public/io/ring.h
55
sizeof(((struct _s##_sring *)0)->ring[0])))
usr/src/uts/common/xen/public/io/ring.h
60
(__RD32(((_sz) - (long)(_s)->ring + (long)(_s)) / sizeof((_s)->ring[0])))
usr/src/uts/common/xen/sys/xendev.h
237
char ring[1];
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1000
} else if (mutex_tryenter(&ring->cr_desc_mutex) == 0) {
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1006
mutex_exit(&ring->cr_desc_mutex);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
101
static void ioat_cmd_post_dca(ioat_channel_ring_t *ring, uint32_t dca_id);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1011
e = ioat_ring_reserve(channel, ring, cmd);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1013
mutex_exit(&ring->cr_desc_mutex);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1020
ioat_cmd_post_dca(ring, cmd->dp_dca_id);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1032
priv->ip_start = ring->cr_desc_next;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1074
ioat_cmd_post_copy(ring, src_paddr, dest_paddr, xfer_size,
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1084
priv->ip_generation = ring->cr_desc_gen_prev;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1085
priv->ip_index = ring->cr_desc_prev;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1093
e = ioat_ring_loop(ring, cmd);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1095
mutex_exit(&ring->cr_desc_mutex);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1108
(uint16_t)(ring->cr_post_cnt & 0xFFFF));
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1112
mutex_exit(&ring->cr_desc_mutex);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1122
ioat_cmd_post_dca(ioat_channel_ring_t *ring, uint32_t dca_id)
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1133
channel = ring->cr_chan;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1134
desc = (ioat_chan_dca_desc_t *)&ring->cr_desc[ring->cr_desc_next];
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1135
prev = (ioat_chan_dca_desc_t *)&ring->cr_desc[ring->cr_desc_prev];
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1138
ring->cr_post_cnt++;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1160
prev_offset = ring->cr_desc_prev << 6;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1161
next_offset = ring->cr_desc_next << 6;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1162
next_desc_phys = ring->cr_phys_desc + next_offset;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1165
ring->cr_desc_prev = ring->cr_desc_next;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1166
ring->cr_desc_gen_prev = ring->cr_desc_gen;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1169
ring->cr_desc_next++;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1170
if (ring->cr_desc_next > ring->cr_desc_last) {
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1171
ring->cr_desc_next = 0;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1172
ring->cr_desc_gen++;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1179
if (ring->cr_chan->ic_ver == IOAT_CBv2) {
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1181
&ring->cr_desc[ring->cr_desc_next];
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1183
&ring->cr_desc[ring->cr_desc_prev];
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1187
ring->cr_desc_next << 6, 64, DDI_DMA_SYNC_FORDEV);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1188
prev->dd_next_desc = ring->cr_phys_desc +
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1189
(ring->cr_desc_next << 6);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1212
ioat_cmd_post_copy(ioat_channel_ring_t *ring, uint64_t src_addr,
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1224
channel = ring->cr_chan;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1225
desc = (ioat_chan_dma_desc_t *)&ring->cr_desc[ring->cr_desc_next];
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1226
prev = (ioat_chan_dma_desc_t *)&ring->cr_desc[ring->cr_desc_prev];
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1229
ring->cr_post_cnt++;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1243
prev_offset = ring->cr_desc_prev << 6;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1244
next_offset = ring->cr_desc_next << 6;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1245
next_desc_phy = ring->cr_phys_desc + next_offset;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1248
ring->cr_desc_prev = ring->cr_desc_next;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1249
ring->cr_desc_gen_prev = ring->cr_desc_gen;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1252
ring->cr_desc_next++;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1253
if (ring->cr_desc_next > ring->cr_desc_last) {
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1254
ring->cr_desc_next = 0;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1255
ring->cr_desc_gen++;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1262
if (ring->cr_chan->ic_ver == IOAT_CBv2) {
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1264
&ring->cr_desc[ring->cr_desc_next];
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1266
&ring->cr_desc[ring->cr_desc_prev];
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1271
ring->cr_desc_next << 6, 64, DDI_DMA_SYNC_FORDEV);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1272
prev->dd_next_desc = ring->cr_phys_desc +
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1273
(ring->cr_desc_next << 6);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1297
ioat_channel_ring_t *ring;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1307
ring = channel->ic_ring;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1308
ASSERT(ring != NULL);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1311
mutex_enter(&ring->cr_cmpl_mutex);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1317
} else if (mutex_tryenter(&ring->cr_cmpl_mutex) == 0) {
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1324
mutex_exit(&ring->cr_cmpl_mutex);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1337
if (last_cmpl != ring->cr_cmpl_last) {
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1343
if (last_cmpl < ring->cr_cmpl_last) {
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1344
ring->cr_cmpl_gen++;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1346
ring->cr_cmpl_last = last_cmpl;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1347
generation = ring->cr_cmpl_gen;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1350
generation = ring->cr_cmpl_gen;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1353
mutex_exit(&ring->cr_cmpl_mutex);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1384
ioat_ring_reserve(ioat_channel_t channel, ioat_channel_ring_t *ring,
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1436
desc = ring->cr_desc_next;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1443
if (desc == ring->cr_desc_last) {
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1444
if (ring->cr_cmpl_last == 0) {
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1452
if (ring->cr_cmpl_last == 0) {
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1468
if ((desc + 1) == ring->cr_cmpl_last) {
usr/src/uts/i86pc/io/ioat/ioat_chan.c
1476
if ((desc + 1) == ring->cr_cmpl_last) {
usr/src/uts/i86pc/io/ioat/ioat_chan.c
295
ioat_channel_ring_t *ring;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
303
ring = channel->ic_ring;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
333
bzero(ring->cr_desc, channel->ic_desc_alloc_size);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
338
(uint32_t)(ring->cr_phys_desc & 0xffffffff));
usr/src/uts/i86pc/io/ioat/ioat_chan.c
341
(uint32_t)(ring->cr_phys_desc >> 32));
usr/src/uts/i86pc/io/ioat/ioat_chan.c
346
(uint32_t)(ring->cr_phys_desc & 0xffffffff));
usr/src/uts/i86pc/io/ioat/ioat_chan.c
349
(uint32_t)(ring->cr_phys_desc >> 32));
usr/src/uts/i86pc/io/ioat/ioat_chan.c
631
ioat_channel_ring_t *ring;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
640
ring = kmem_zalloc(sizeof (ioat_channel_ring_t), KM_SLEEP);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
641
channel->ic_ring = ring;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
642
ring->cr_chan = channel;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
643
ring->cr_post_cnt = 0;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
645
mutex_init(&ring->cr_cmpl_mutex, NULL, MUTEX_DRIVER,
usr/src/uts/i86pc/io/ioat/ioat_chan.c
647
mutex_init(&ring->cr_desc_mutex, NULL, MUTEX_DRIVER,
usr/src/uts/i86pc/io/ioat/ioat_chan.c
665
ring->cr_desc_last = channel->ic_chan_desc_cnt - 1;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
671
(caddr_t *)&ring->cr_desc, &real_length, &channel->ic_desc_handle);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
675
bzero(ring->cr_desc, channel->ic_desc_alloc_size);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
677
(caddr_t)ring->cr_desc, channel->ic_desc_alloc_size,
usr/src/uts/i86pc/io/ioat/ioat_chan.c
686
ring->cr_phys_desc = channel->ic_desc_cookies.dmac_laddress;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
692
(uint32_t)(ring->cr_phys_desc & 0xffffffff));
usr/src/uts/i86pc/io/ioat/ioat_chan.c
695
(uint32_t)(ring->cr_phys_desc >> 32));
usr/src/uts/i86pc/io/ioat/ioat_chan.c
700
(uint32_t)(ring->cr_phys_desc & 0xffffffff));
usr/src/uts/i86pc/io/ioat/ioat_chan.c
703
(uint32_t)(ring->cr_phys_desc >> 32));
usr/src/uts/i86pc/io/ioat/ioat_chan.c
713
mutex_destroy(&ring->cr_desc_mutex);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
714
mutex_destroy(&ring->cr_cmpl_mutex);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
765
ioat_channel_ring_t *ring;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
772
ring = channel->ic_ring;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
775
ring->cr_cmpl_gen = 0x0;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
776
ring->cr_cmpl_last = 0x0;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
779
ring->cr_post_cnt++;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
781
ring->cr_desc_gen = 0;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
782
ring->cr_desc_prev = 0;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
783
ring->cr_desc_next = 1;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
794
ASSERT(ring->cr_chan->ic_ver == IOAT_CBv2);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
796
&ring->cr_desc[ring->cr_desc_next];
usr/src/uts/i86pc/io/ioat/ioat_chan.c
798
&ring->cr_desc[ring->cr_desc_prev];
usr/src/uts/i86pc/io/ioat/ioat_chan.c
803
prev->dd_next_desc = ring->cr_phys_desc +
usr/src/uts/i86pc/io/ioat/ioat_chan.c
804
(ring->cr_desc_next << 6);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
819
ioat_ring_loop(ioat_channel_ring_t *ring, dcopy_cmd_t cmd)
usr/src/uts/i86pc/io/ioat/ioat_chan.c
828
channel = ring->cr_chan;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
863
curr = (ioat_chan_dma_desc_t *)&ring->cr_desc[ring->cr_desc_prev];
usr/src/uts/i86pc/io/ioat/ioat_chan.c
864
curr->dd_next_desc = ring->cr_phys_desc + (currpriv->ip_start << 6);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
868
ring->cr_desc_prev << 6, 64, DDI_DMA_SYNC_FORDEV);
usr/src/uts/i86pc/io/ioat/ioat_chan.c
96
int ioat_ring_reserve(ioat_channel_t channel, ioat_channel_ring_t *ring,
usr/src/uts/i86pc/io/ioat/ioat_chan.c
961
ioat_channel_ring_t *ring;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
981
ring = channel->ic_ring;
usr/src/uts/i86pc/io/ioat/ioat_chan.c
99
static void ioat_cmd_post_copy(ioat_channel_ring_t *ring, uint64_t src_addr,
usr/src/uts/i86pc/io/ioat/ioat_chan.c
994
mutex_enter(&ring->cr_desc_mutex);
usr/src/uts/i86pc/sys/ioat.h
110
ring->cr_phys_desc) >> 6)
usr/src/uts/intel/io/dnet/dnet.c
1324
struct tx_desc_type *ring = dnetp->tx_desc;
usr/src/uts/intel/io/dnet/dnet.c
1395
ring[index].buffer2 =
usr/src/uts/intel/io/dnet/dnet.c
1397
ring[index].desc1.buffer_size2 =
usr/src/uts/intel/io/dnet/dnet.c
1402
ASSERT(ring[index].desc0.own == 0);
usr/src/uts/intel/io/dnet/dnet.c
1403
*(uint32_t *)&ring[index].desc0 = 0;
usr/src/uts/intel/io/dnet/dnet.c
1404
*(uint32_t *)&ring[index].desc1 &=
usr/src/uts/intel/io/dnet/dnet.c
1406
ring[index].buffer1 =
usr/src/uts/intel/io/dnet/dnet.c
1408
ring[index].desc1.buffer_size1 =
usr/src/uts/intel/io/dnet/dnet.c
1410
ring[index].buffer2 = (uint32_t)(0);
usr/src/uts/intel/io/dnet/dnet.c
1453
ring[end_index].desc1.last_desc = 1;
usr/src/uts/intel/io/dnet/dnet.c
1454
ring[end_index].desc1.int_on_comp = 1;
usr/src/uts/intel/io/dnet/dnet.c
1457
ring[index].desc0.own = 1;
usr/src/uts/intel/io/dnet/dnet.c
1458
ring[start_index].desc1.first_desc = 1;
usr/src/uts/intel/io/dnet/dnet.c
1459
ring[start_index].desc0.own = 1;
usr/src/uts/intel/io/dnet/dnet.c
1466
ASSERT(ring[dnetp->max_tx_desc-1].desc1.end_of_ring != 0);
usr/src/uts/intel/io/dnet/dnet.c
2435
struct tx_desc_type *ring = dnetp->tx_desc;
usr/src/uts/intel/io/dnet/dnet.c
2455
if (ring[index].desc0.own) {
usr/src/uts/intel/io/dnet/dnet.c
2472
*(uint32_t *)&ring[index].desc0 = 0; /* init descs */
usr/src/uts/intel/io/dnet/dnet.c
2473
*(uint32_t *)&ring[index].desc1 &= DNET_END_OF_RING;
usr/src/uts/intel/io/viona/viona_hook.c
41
viona_hook(viona_link_t *link, viona_vring_t *ring, mblk_t **mpp, boolean_t out)
usr/src/uts/intel/io/viona/viona_hook.c
67
VIONA_PROBE3(tx_hook_drop, viona_vring_t *, ring,
usr/src/uts/intel/io/viona/viona_hook.c
69
VIONA_RING_STAT_INCR(ring, tx_hookdrop);
usr/src/uts/intel/io/viona/viona_hook.c
71
VIONA_PROBE3(rx_hook_drop, viona_vring_t *, ring,
usr/src/uts/intel/io/viona/viona_hook.c
73
VIONA_RING_STAT_INCR(ring, rx_hookdrop);
usr/src/uts/intel/io/viona/viona_impl.h
401
#define VIONA_RING_ISRX(ring) ((ring)->vr_index % 2 == 0)
usr/src/uts/intel/io/viona/viona_impl.h
402
#define VIONA_RING_ISTX(ring) ((ring)->vr_index % 2 != 0)
usr/src/uts/intel/io/viona/viona_impl.h
482
void viona_intr_ring(viona_vring_t *ring, boolean_t);
usr/src/uts/intel/io/viona/viona_main.c
1313
viona_vring_t *ring;
usr/src/uts/intel/io/viona/viona_main.c
1318
ring = &link->l_vrings[idx];
usr/src/uts/intel/io/viona/viona_main.c
1320
return (viona_ring_reset(ring, B_TRUE));
usr/src/uts/intel/io/viona/viona_main.c
1326
viona_vring_t *ring;
usr/src/uts/intel/io/viona/viona_main.c
1332
ring = &link->l_vrings[idx];
usr/src/uts/intel/io/viona/viona_main.c
1334
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_main.c
1335
switch (ring->vr_state) {
usr/src/uts/intel/io/viona/viona_main.c
1344
ring->vr_state_flags |= VRSF_REQ_START;
usr/src/uts/intel/io/viona/viona_main.c
1347
cv_broadcast(&ring->vr_cv);
usr/src/uts/intel/io/viona/viona_main.c
1354
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_main.c
1366
viona_vring_t *ring = &link->l_vrings[idx];
usr/src/uts/intel/io/viona/viona_main.c
1367
return (viona_ring_pause(ring));
usr/src/uts/intel/io/viona/viona_main.c
1374
viona_vring_t *ring;
usr/src/uts/intel/io/viona/viona_main.c
1383
ring = &link->l_vrings[vrm.rm_index];
usr/src/uts/intel/io/viona/viona_main.c
1384
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_main.c
1385
ring->vr_msi_addr = vrm.rm_addr;
usr/src/uts/intel/io/viona/viona_main.c
1386
ring->vr_msi_msg = vrm.rm_msg;
usr/src/uts/intel/io/viona/viona_main.c
1387
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_main.c
1412
viona_vring_t *ring = &link->l_vrings[vq];
usr/src/uts/intel/io/viona/viona_main.c
1415
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_main.c
1416
if (ring->vr_state == VRS_RUN) {
usr/src/uts/intel/io/viona/viona_main.c
1417
cv_broadcast(&ring->vr_cv);
usr/src/uts/intel/io/viona/viona_main.c
1421
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_main.c
1465
viona_vring_t *ring = &link->l_vrings[vq];
usr/src/uts/intel/io/viona/viona_main.c
1468
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_main.c
1469
if (ring->vr_state == VRS_RUN)
usr/src/uts/intel/io/viona/viona_main.c
1470
cv_broadcast(&ring->vr_cv);
usr/src/uts/intel/io/viona/viona_main.c
1473
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_main.c
825
const viona_vring_t *ring = &link->l_vrings[i];
usr/src/uts/intel/io/viona/viona_main.c
826
const viona_transfer_stats_t *ring_stats = &ring->vr_stats;
usr/src/uts/intel/io/viona/viona_main.c
829
if (VIONA_RING_ISRX(ring)) {
usr/src/uts/intel/io/viona/viona_main.c
840
} else if (VIONA_RING_ISTX(ring)) {
usr/src/uts/intel/io/viona/viona_ring.c
100
((ring)->vr_used.vrp_off + 2 * sizeof (uint16_t) + \
usr/src/uts/intel/io/viona/viona_ring.c
1007
vq_map_indir_desc_bufs(viona_vring_t *ring, const struct virtio_desc *desc,
usr/src/uts/intel/io/viona/viona_ring.c
1013
indir_count > ring->vr_size ||
usr/src/uts/intel/io/viona/viona_ring.c
1015
VIONA_PROBE2(indir_bad_len, viona_vring_t *, ring,
usr/src/uts/intel/io/viona/viona_ring.c
1017
VIONA_RING_STAT_INCR(ring, indir_bad_len);
usr/src/uts/intel/io/viona/viona_ring.c
1040
vmp = vq_page_hold(ring, indir_page, false);
usr/src/uts/intel/io/viona/viona_ring.c
1042
VIONA_PROBE_BAD_RING_ADDR(ring, indir_page);
usr/src/uts/intel/io/viona/viona_ring.c
1043
VIONA_RING_STAT_INCR(ring, bad_ring_addr);
usr/src/uts/intel/io/viona/viona_ring.c
1066
VIONA_PROBE1(indir_bad_nest, viona_vring_t *, ring);
usr/src/uts/intel/io/viona/viona_ring.c
1067
VIONA_RING_STAT_INCR(ring, indir_bad_nest);
usr/src/uts/intel/io/viona/viona_ring.c
1071
VIONA_PROBE2(desc_bad_len, viona_vring_t *, ring,
usr/src/uts/intel/io/viona/viona_ring.c
1073
VIONA_RING_STAT_INCR(ring, desc_bad_len);
usr/src/uts/intel/io/viona/viona_ring.c
1078
err = vq_map_desc_bufs(ring, &vp, region);
usr/src/uts/intel/io/viona/viona_ring.c
1088
VIONA_PROBE1(too_many_desc, viona_vring_t *, ring);
usr/src/uts/intel/io/viona/viona_ring.c
1089
VIONA_RING_STAT_INCR(ring, too_many_desc);
usr/src/uts/intel/io/viona/viona_ring.c
1096
VIONA_PROBE3(indir_bad_next, viona_vring_t *, ring,
usr/src/uts/intel/io/viona/viona_ring.c
1098
VIONA_RING_STAT_INCR(ring, indir_bad_next);
usr/src/uts/intel/io/viona/viona_ring.c
1111
vq_popchain(viona_vring_t *ring, struct iovec *iov, uint_t niov,
usr/src/uts/intel/io/viona/viona_ring.c
1125
mutex_enter(&ring->vr_a_mutex);
usr/src/uts/intel/io/viona/viona_ring.c
1126
idx = ring->vr_cur_aidx;
usr/src/uts/intel/io/viona/viona_ring.c
1127
ndesc = viona_ring_num_avail(ring);
usr/src/uts/intel/io/viona/viona_ring.c
1130
mutex_exit(&ring->vr_a_mutex);
usr/src/uts/intel/io/viona/viona_ring.c
1133
if (ndesc > ring->vr_size) {
usr/src/uts/intel/io/viona/viona_ring.c
1141
VIONA_PROBE2(ndesc_too_high, viona_vring_t *, ring,
usr/src/uts/intel/io/viona/viona_ring.c
1143
VIONA_RING_STAT_INCR(ring, ndesc_too_high);
usr/src/uts/intel/io/viona/viona_ring.c
1146
head = vq_read_avail(ring, idx & ring->vr_mask);
usr/src/uts/intel/io/viona/viona_ring.c
1150
if (next >= ring->vr_size) {
usr/src/uts/intel/io/viona/viona_ring.c
1151
VIONA_PROBE2(bad_idx, viona_vring_t *, ring,
usr/src/uts/intel/io/viona/viona_ring.c
1153
VIONA_RING_STAT_INCR(ring, bad_idx);
usr/src/uts/intel/io/viona/viona_ring.c
1157
vq_read_desc(ring, next, &vdir);
usr/src/uts/intel/io/viona/viona_ring.c
1159
if (vq_map_desc_bufs(ring, &vdir, &region) != 0) {
usr/src/uts/intel/io/viona/viona_ring.c
1170
viona_vring_t *, ring,
usr/src/uts/intel/io/viona/viona_ring.c
1172
VIONA_RING_STAT_INCR(ring, indir_bad_next);
usr/src/uts/intel/io/viona/viona_ring.c
1176
if (vq_map_indir_desc_bufs(ring, &vdir, &region) != 0) {
usr/src/uts/intel/io/viona/viona_ring.c
1182
ring->vr_cur_aidx++;
usr/src/uts/intel/io/viona/viona_ring.c
1183
mutex_exit(&ring->vr_a_mutex);
usr/src/uts/intel/io/viona/viona_ring.c
1194
mutex_exit(&ring->vr_a_mutex);
usr/src/uts/intel/io/viona/viona_ring.c
1207
vq_write_used_ent(viona_vring_t *ring, uint16_t idx, uint16_t cookie,
usr/src/uts/intel/io/viona/viona_ring.c
1216
const viona_vring_part_t *vrp = &ring->vr_used;
usr/src/uts/intel/io/viona/viona_ring.c
1217
const uint_t used_id_off = SPLIT_USED_ENT_OFF(ring, idx);
usr/src/uts/intel/io/viona/viona_ring.c
1222
ASSERT(MUTEX_HELD(&ring->vr_u_mutex));
usr/src/uts/intel/io/viona/viona_ring.c
1229
vq_write_used_idx(viona_vring_t *ring, uint16_t idx)
usr/src/uts/intel/io/viona/viona_ring.c
1231
ASSERT(MUTEX_HELD(&ring->vr_u_mutex));
usr/src/uts/intel/io/viona/viona_ring.c
1234
viona_ring_addr(&ring->vr_used, SPLIT_USED_IDX_OFF(ring));
usr/src/uts/intel/io/viona/viona_ring.c
1239
vq_pushchain(viona_vring_t *ring, uint32_t len, uint16_t cookie)
usr/src/uts/intel/io/viona/viona_ring.c
1243
mutex_enter(&ring->vr_u_mutex);
usr/src/uts/intel/io/viona/viona_ring.c
1245
uidx = ring->vr_cur_uidx;
usr/src/uts/intel/io/viona/viona_ring.c
1246
vq_write_used_ent(ring, uidx & ring->vr_mask, cookie, len);
usr/src/uts/intel/io/viona/viona_ring.c
1250
vq_write_used_idx(ring, uidx);
usr/src/uts/intel/io/viona/viona_ring.c
1251
ring->vr_cur_uidx = uidx;
usr/src/uts/intel/io/viona/viona_ring.c
1253
mutex_exit(&ring->vr_u_mutex);
usr/src/uts/intel/io/viona/viona_ring.c
1257
vq_pushchain_many(viona_vring_t *ring, uint_t num_bufs, used_elem_t *elem)
usr/src/uts/intel/io/viona/viona_ring.c
126
vq_page_hold(viona_vring_t *ring, uint64_t gpa, bool writable)
usr/src/uts/intel/io/viona/viona_ring.c
1261
mutex_enter(&ring->vr_u_mutex);
usr/src/uts/intel/io/viona/viona_ring.c
1263
uidx = ring->vr_cur_uidx;
usr/src/uts/intel/io/viona/viona_ring.c
1266
vq_write_used_ent(ring, uidx & ring->vr_mask, elem[i].id,
usr/src/uts/intel/io/viona/viona_ring.c
1271
vq_write_used_idx(ring, uidx);
usr/src/uts/intel/io/viona/viona_ring.c
1272
ring->vr_cur_uidx = uidx;
usr/src/uts/intel/io/viona/viona_ring.c
1274
mutex_exit(&ring->vr_u_mutex);
usr/src/uts/intel/io/viona/viona_ring.c
128
ASSERT3P(ring->vr_lease, !=, NULL);
usr/src/uts/intel/io/viona/viona_ring.c
1281
viona_ring_disable_notify(viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
1284
viona_ring_addr(&ring->vr_used, SPLIT_USED_FLAGS_OFF(ring));
usr/src/uts/intel/io/viona/viona_ring.c
1293
viona_ring_enable_notify(viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
1296
viona_ring_addr(&ring->vr_used, SPLIT_USED_FLAGS_OFF(ring));
usr/src/uts/intel/io/viona/viona_ring.c
1310
viona_ring_num_avail(viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
1313
viona_ring_addr(&ring->vr_avail, SPLIT_AVAIL_IDX_OFF(ring));
usr/src/uts/intel/io/viona/viona_ring.c
1315
return (*avail_idx - ring->vr_cur_aidx);
usr/src/uts/intel/io/viona/viona_ring.c
1320
viona_ring_stat_accept(viona_vring_t *ring, size_t count, size_t len)
usr/src/uts/intel/io/viona/viona_ring.c
1322
atomic_add_64(&ring->vr_stats.vts_packets, count);
usr/src/uts/intel/io/viona/viona_ring.c
1323
atomic_add_64(&ring->vr_stats.vts_bytes, len);
usr/src/uts/intel/io/viona/viona_ring.c
1330
viona_ring_stat_drop(viona_vring_t *ring, size_t count)
usr/src/uts/intel/io/viona/viona_ring.c
1332
atomic_add_64(&ring->vr_stats.vts_drops, count);
usr/src/uts/intel/io/viona/viona_ring.c
1339
viona_ring_stat_error(viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
1341
atomic_inc_64(&ring->vr_stats.vts_errors);
usr/src/uts/intel/io/viona/viona_ring.c
1348
viona_ring_consolidate_stats(viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
135
return (vmm_drv_page_hold(ring->vr_lease, gpa, prot));
usr/src/uts/intel/io/viona/viona_ring.c
1350
viona_link_t *link = ring->vr_link;
usr/src/uts/intel/io/viona/viona_ring.c
1351
struct viona_transfer_stats *lstat = VIONA_RING_ISRX(ring) ?
usr/src/uts/intel/io/viona/viona_ring.c
1355
lstat->vts_packets += ring->vr_stats.vts_packets;
usr/src/uts/intel/io/viona/viona_ring.c
1356
lstat->vts_bytes += ring->vr_stats.vts_bytes;
usr/src/uts/intel/io/viona/viona_ring.c
1357
lstat->vts_drops += ring->vr_stats.vts_drops;
usr/src/uts/intel/io/viona/viona_ring.c
1358
lstat->vts_errors += ring->vr_stats.vts_errors;
usr/src/uts/intel/io/viona/viona_ring.c
1359
bzero(&ring->vr_stats, sizeof (ring->vr_stats));
usr/src/uts/intel/io/viona/viona_ring.c
152
vq_region_hold(viona_vring_t *ring, uint64_t gpa, uint32_t len,
usr/src/uts/intel/io/viona/viona_ring.c
171
vmp = vq_page_hold(ring, gpa & VQ_PGMASK, writable);
usr/src/uts/intel/io/viona/viona_ring.c
193
vmp = vq_page_hold(ring, gpa, writable);
usr/src/uts/intel/io/viona/viona_ring.c
215
viona_vring_t *ring = arg;
usr/src/uts/intel/io/viona/viona_ring.c
217
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
218
cv_broadcast(&ring->vr_cv);
usr/src/uts/intel/io/viona/viona_ring.c
219
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
226
viona_ring_lease_drop(viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
228
ASSERT(MUTEX_HELD(&ring->vr_lock));
usr/src/uts/intel/io/viona/viona_ring.c
230
if (ring->vr_lease != NULL) {
usr/src/uts/intel/io/viona/viona_ring.c
231
vmm_hold_t *hold = ring->vr_link->l_vm_hold;
usr/src/uts/intel/io/viona/viona_ring.c
239
viona_ring_unmap(ring);
usr/src/uts/intel/io/viona/viona_ring.c
241
vmm_drv_lease_break(hold, ring->vr_lease);
usr/src/uts/intel/io/viona/viona_ring.c
242
ring->vr_lease = NULL;
usr/src/uts/intel/io/viona/viona_ring.c
247
viona_ring_lease_renew(viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
249
vmm_hold_t *hold = ring->vr_link->l_vm_hold;
usr/src/uts/intel/io/viona/viona_ring.c
252
ASSERT(MUTEX_HELD(&ring->vr_lock));
usr/src/uts/intel/io/viona/viona_ring.c
254
viona_ring_lease_drop(ring);
usr/src/uts/intel/io/viona/viona_ring.c
260
ring->vr_lease = vmm_drv_lease_sign(hold, viona_ring_lease_expire_cb,
usr/src/uts/intel/io/viona/viona_ring.c
261
ring);
usr/src/uts/intel/io/viona/viona_ring.c
262
if (ring->vr_lease != NULL) {
usr/src/uts/intel/io/viona/viona_ring.c
264
if (ring->vr_used.vrp_pa != 0 && ring->vr_size != 0) {
usr/src/uts/intel/io/viona/viona_ring.c
269
if (!viona_ring_map(ring, ring->vr_state == VRS_INIT)) {
usr/src/uts/intel/io/viona/viona_ring.c
270
viona_ring_lease_drop(ring);
usr/src/uts/intel/io/viona/viona_ring.c
275
return (ring->vr_lease != NULL);
usr/src/uts/intel/io/viona/viona_ring.c
279
viona_ring_alloc(viona_link_t *link, viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
281
ring->vr_link = link;
usr/src/uts/intel/io/viona/viona_ring.c
282
mutex_init(&ring->vr_lock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/intel/io/viona/viona_ring.c
283
cv_init(&ring->vr_cv, NULL, CV_DRIVER, NULL);
usr/src/uts/intel/io/viona/viona_ring.c
284
mutex_init(&ring->vr_a_mutex, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/intel/io/viona/viona_ring.c
285
mutex_init(&ring->vr_u_mutex, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/intel/io/viona/viona_ring.c
289
viona_ring_misc_free(viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
291
const uint_t qsz = ring->vr_size;
usr/src/uts/intel/io/viona/viona_ring.c
293
viona_tx_ring_free(ring, qsz);
usr/src/uts/intel/io/viona/viona_ring.c
297
viona_ring_free(viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
299
mutex_destroy(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
300
cv_destroy(&ring->vr_cv);
usr/src/uts/intel/io/viona/viona_ring.c
301
mutex_destroy(&ring->vr_a_mutex);
usr/src/uts/intel/io/viona/viona_ring.c
302
mutex_destroy(&ring->vr_u_mutex);
usr/src/uts/intel/io/viona/viona_ring.c
303
ring->vr_link = NULL;
usr/src/uts/intel/io/viona/viona_ring.c
307
viona_ring_layout(viona_vring_t *ring, viona_vring_part_t *vrp,
usr/src/uts/intel/io/viona/viona_ring.c
318
len = SPLIT_DESC_SZ(ring->vr_size);
usr/src/uts/intel/io/viona/viona_ring.c
322
len = SPLIT_AVAIL_SZ(ring->vr_size);
usr/src/uts/intel/io/viona/viona_ring.c
326
len = SPLIT_USED_SZ(ring->vr_size);
usr/src/uts/intel/io/viona/viona_ring.c
333
if (ring->vr_link->l_modern) {
usr/src/uts/intel/io/viona/viona_ring.c
383
viona_vring_t *ring;
usr/src/uts/intel/io/viona/viona_ring.c
401
ring = &link->l_vrings[idx];
usr/src/uts/intel/io/viona/viona_ring.c
402
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
403
if (ring->vr_state != VRS_RESET) {
usr/src/uts/intel/io/viona/viona_ring.c
404
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
407
VERIFY(ring->vr_state_flags == 0);
usr/src/uts/intel/io/viona/viona_ring.c
409
ring->vr_lease = NULL;
usr/src/uts/intel/io/viona/viona_ring.c
410
if (!viona_ring_lease_renew(ring)) {
usr/src/uts/intel/io/viona/viona_ring.c
415
ring->vr_index = idx;
usr/src/uts/intel/io/viona/viona_ring.c
416
ring->vr_size = qsz;
usr/src/uts/intel/io/viona/viona_ring.c
417
ring->vr_mask = (ring->vr_size - 1);
usr/src/uts/intel/io/viona/viona_ring.c
419
if (!viona_ring_layout(ring, &ring->vr_desc, VIONA_RING_PART_DESC,
usr/src/uts/intel/io/viona/viona_ring.c
421
!viona_ring_layout(ring, &ring->vr_avail, VIONA_RING_PART_AVAIL,
usr/src/uts/intel/io/viona/viona_ring.c
423
!viona_ring_layout(ring, &ring->vr_used, VIONA_RING_PART_USED,
usr/src/uts/intel/io/viona/viona_ring.c
429
if (!viona_ring_map(ring, true)) {
usr/src/uts/intel/io/viona/viona_ring.c
435
ring->vr_cur_aidx = params->vrp_avail_idx;
usr/src/uts/intel/io/viona/viona_ring.c
436
ring->vr_cur_uidx = params->vrp_used_idx;
usr/src/uts/intel/io/viona/viona_ring.c
438
if (VIONA_RING_ISTX(ring))
usr/src/uts/intel/io/viona/viona_ring.c
439
viona_tx_ring_alloc(ring, qsz);
usr/src/uts/intel/io/viona/viona_ring.c
442
ring->vr_msi_addr = 0;
usr/src/uts/intel/io/viona/viona_ring.c
443
ring->vr_msi_msg = 0;
usr/src/uts/intel/io/viona/viona_ring.c
446
bzero(&ring->vr_stats, sizeof (ring->vr_stats));
usr/src/uts/intel/io/viona/viona_ring.c
447
bzero(&ring->vr_err_stats, sizeof (ring->vr_err_stats));
usr/src/uts/intel/io/viona/viona_ring.c
449
t = viona_create_worker(ring);
usr/src/uts/intel/io/viona/viona_ring.c
454
ring->vr_worker_thread = t;
usr/src/uts/intel/io/viona/viona_ring.c
455
ring->vr_state = VRS_SETUP;
usr/src/uts/intel/io/viona/viona_ring.c
456
cv_broadcast(&ring->vr_cv);
usr/src/uts/intel/io/viona/viona_ring.c
457
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
461
viona_ring_lease_drop(ring);
usr/src/uts/intel/io/viona/viona_ring.c
462
viona_ring_misc_free(ring);
usr/src/uts/intel/io/viona/viona_ring.c
463
ring->vr_size = 0;
usr/src/uts/intel/io/viona/viona_ring.c
464
ring->vr_mask = 0;
usr/src/uts/intel/io/viona/viona_ring.c
465
ring->vr_desc.vrp_pa = 0;
usr/src/uts/intel/io/viona/viona_ring.c
466
ring->vr_avail.vrp_pa = 0;
usr/src/uts/intel/io/viona/viona_ring.c
467
ring->vr_used.vrp_pa = 0;
usr/src/uts/intel/io/viona/viona_ring.c
468
ring->vr_cur_aidx = 0;
usr/src/uts/intel/io/viona/viona_ring.c
469
ring->vr_cur_uidx = 0;
usr/src/uts/intel/io/viona/viona_ring.c
470
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
478
viona_vring_t *ring;
usr/src/uts/intel/io/viona/viona_ring.c
484
ring = &link->l_vrings[idx];
usr/src/uts/intel/io/viona/viona_ring.c
485
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
487
params->vrp_size = ring->vr_size;
usr/src/uts/intel/io/viona/viona_ring.c
488
params->vrp_pa_desc = ring->vr_desc.vrp_pa;
usr/src/uts/intel/io/viona/viona_ring.c
489
params->vrp_pa_avail = ring->vr_avail.vrp_pa;
usr/src/uts/intel/io/viona/viona_ring.c
490
params->vrp_pa_used = ring->vr_used.vrp_pa;
usr/src/uts/intel/io/viona/viona_ring.c
492
if (ring->vr_state == VRS_RUN) {
usr/src/uts/intel/io/viona/viona_ring.c
494
mutex_enter(&ring->vr_a_mutex);
usr/src/uts/intel/io/viona/viona_ring.c
495
params->vrp_avail_idx = ring->vr_cur_aidx;
usr/src/uts/intel/io/viona/viona_ring.c
496
mutex_exit(&ring->vr_a_mutex);
usr/src/uts/intel/io/viona/viona_ring.c
497
mutex_enter(&ring->vr_u_mutex);
usr/src/uts/intel/io/viona/viona_ring.c
498
params->vrp_used_idx = ring->vr_cur_uidx;
usr/src/uts/intel/io/viona/viona_ring.c
499
mutex_exit(&ring->vr_u_mutex);
usr/src/uts/intel/io/viona/viona_ring.c
502
params->vrp_avail_idx = ring->vr_cur_aidx;
usr/src/uts/intel/io/viona/viona_ring.c
503
params->vrp_used_idx = ring->vr_cur_uidx;
usr/src/uts/intel/io/viona/viona_ring.c
506
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
512
viona_ring_reset(viona_vring_t *ring, boolean_t heed_signals)
usr/src/uts/intel/io/viona/viona_ring.c
514
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
515
if (ring->vr_state == VRS_RESET) {
usr/src/uts/intel/io/viona/viona_ring.c
516
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
520
if ((ring->vr_state_flags & VRSF_REQ_STOP) == 0) {
usr/src/uts/intel/io/viona/viona_ring.c
521
ring->vr_state_flags |= VRSF_REQ_STOP;
usr/src/uts/intel/io/viona/viona_ring.c
522
cv_broadcast(&ring->vr_cv);
usr/src/uts/intel/io/viona/viona_ring.c
524
while (ring->vr_state != VRS_RESET) {
usr/src/uts/intel/io/viona/viona_ring.c
526
cv_wait(&ring->vr_cv, &ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
530
rs = cv_wait_sig(&ring->vr_cv, &ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
531
if (rs <= 0 && ring->vr_state != VRS_RESET) {
usr/src/uts/intel/io/viona/viona_ring.c
532
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
537
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
542
viona_ring_map_part(viona_vring_t *ring, viona_vring_part_t *vrp,
usr/src/uts/intel/io/viona/viona_ring.c
545
const uint16_t qsz = ring->vr_size;
usr/src/uts/intel/io/viona/viona_ring.c
551
ASSERT(MUTEX_HELD(&ring->vr_lock));
usr/src/uts/intel/io/viona/viona_ring.c
581
vmp = vmm_drv_page_hold_ext(ring->vr_lease, pa,
usr/src/uts/intel/io/viona/viona_ring.c
584
viona_ring_unmap(ring);
usr/src/uts/intel/io/viona/viona_ring.c
605
viona_ring_map(viona_vring_t *ring, bool defer_dirty)
usr/src/uts/intel/io/viona/viona_ring.c
607
return (viona_ring_map_part(ring, &ring->vr_desc, defer_dirty) &&
usr/src/uts/intel/io/viona/viona_ring.c
608
viona_ring_map_part(ring, &ring->vr_avail, defer_dirty) &&
usr/src/uts/intel/io/viona/viona_ring.c
609
viona_ring_map_part(ring, &ring->vr_used, defer_dirty));
usr/src/uts/intel/io/viona/viona_ring.c
613
viona_ring_mark_dirty_part(viona_vring_t *ring, viona_vring_part_t *vrp)
usr/src/uts/intel/io/viona/viona_ring.c
615
ASSERT(MUTEX_HELD(&ring->vr_lock));
usr/src/uts/intel/io/viona/viona_ring.c
625
viona_ring_mark_dirty(viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
627
viona_ring_mark_dirty_part(ring, &ring->vr_desc);
usr/src/uts/intel/io/viona/viona_ring.c
628
viona_ring_mark_dirty_part(ring, &ring->vr_avail);
usr/src/uts/intel/io/viona/viona_ring.c
629
viona_ring_mark_dirty_part(ring, &ring->vr_used);
usr/src/uts/intel/io/viona/viona_ring.c
633
viona_ring_unmap_part(viona_vring_t *ring, viona_vring_part_t *vrp)
usr/src/uts/intel/io/viona/viona_ring.c
635
ASSERT(MUTEX_HELD(&ring->vr_lock));
usr/src/uts/intel/io/viona/viona_ring.c
650
viona_ring_unmap(viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
652
viona_ring_unmap_part(ring, &ring->vr_desc);
usr/src/uts/intel/io/viona/viona_ring.c
653
viona_ring_unmap_part(ring, &ring->vr_avail);
usr/src/uts/intel/io/viona/viona_ring.c
654
viona_ring_unmap_part(ring, &ring->vr_used);
usr/src/uts/intel/io/viona/viona_ring.c
668
viona_intr_ring(viona_vring_t *ring, boolean_t skip_flags_check)
usr/src/uts/intel/io/viona/viona_ring.c
672
viona_ring_addr(&ring->vr_avail,
usr/src/uts/intel/io/viona/viona_ring.c
673
SPLIT_AVAIL_FLAGS_OFF(ring));
usr/src/uts/intel/io/viona/viona_ring.c
680
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
681
uint64_t addr = ring->vr_msi_addr;
usr/src/uts/intel/io/viona/viona_ring.c
682
uint64_t msg = ring->vr_msi_msg;
usr/src/uts/intel/io/viona/viona_ring.c
683
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
686
(void) vmm_drv_msi(ring->vr_lease, addr, msg);
usr/src/uts/intel/io/viona/viona_ring.c
689
if (atomic_cas_uint(&ring->vr_intr_enabled, 0, 1) == 0) {
usr/src/uts/intel/io/viona/viona_ring.c
690
pollwakeup(&ring->vr_link->l_pollhead, POLLRDBAND);
usr/src/uts/intel/io/viona/viona_ring.c
696
vring_stop_req(const viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
698
return ((ring->vr_state_flags & VRSF_REQ_STOP) != 0);
usr/src/uts/intel/io/viona/viona_ring.c
702
vring_pause_req(const viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
704
return ((ring->vr_state_flags & VRSF_REQ_PAUSE) != 0);
usr/src/uts/intel/io/viona/viona_ring.c
708
vring_start_req(const viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
710
return ((ring->vr_state_flags & VRSF_REQ_START) != 0);
usr/src/uts/intel/io/viona/viona_ring.c
722
vring_need_bail_ext(const viona_vring_t *ring, bool stop_only)
usr/src/uts/intel/io/viona/viona_ring.c
724
ASSERT(MUTEX_HELD(&ring->vr_lock));
usr/src/uts/intel/io/viona/viona_ring.c
726
if (vring_stop_req(ring) ||
usr/src/uts/intel/io/viona/viona_ring.c
727
(!stop_only && vring_pause_req(ring))) {
usr/src/uts/intel/io/viona/viona_ring.c
731
kthread_t *t = ring->vr_worker_thread;
usr/src/uts/intel/io/viona/viona_ring.c
744
vring_need_bail(const viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
746
return (vring_need_bail_ext(ring, false));
usr/src/uts/intel/io/viona/viona_ring.c
750
viona_ring_pause(viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
752
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
753
switch (ring->vr_state) {
usr/src/uts/intel/io/viona/viona_ring.c
764
ring->vr_state_flags &= ~VRSF_REQ_START;
usr/src/uts/intel/io/viona/viona_ring.c
765
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
769
if ((ring->vr_state_flags & VRSF_REQ_STOP) != 0) {
usr/src/uts/intel/io/viona/viona_ring.c
771
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
776
ring->vr_state_flags |= VRSF_REQ_PAUSE;
usr/src/uts/intel/io/viona/viona_ring.c
777
cv_broadcast(&ring->vr_cv);
usr/src/uts/intel/io/viona/viona_ring.c
781
panic("invalid ring state %d", ring->vr_state);
usr/src/uts/intel/io/viona/viona_ring.c
786
int res = cv_wait_sig(&ring->vr_cv, &ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
788
if (ring->vr_state == VRS_INIT ||
usr/src/uts/intel/io/viona/viona_ring.c
789
(ring->vr_state_flags & VRSF_REQ_PAUSE) == 0) {
usr/src/uts/intel/io/viona/viona_ring.c
791
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
796
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
806
viona_vring_t *ring = (viona_vring_t *)arg;
usr/src/uts/intel/io/viona/viona_ring.c
807
viona_link_t *link = ring->vr_link;
usr/src/uts/intel/io/viona/viona_ring.c
809
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
810
VERIFY3U(ring->vr_state, ==, VRS_SETUP);
usr/src/uts/intel/io/viona/viona_ring.c
813
if (vring_need_bail_ext(ring, true)) {
usr/src/uts/intel/io/viona/viona_ring.c
819
ring->vr_state = VRS_INIT;
usr/src/uts/intel/io/viona/viona_ring.c
820
cv_broadcast(&ring->vr_cv);
usr/src/uts/intel/io/viona/viona_ring.c
822
while (!vring_start_req(ring)) {
usr/src/uts/intel/io/viona/viona_ring.c
827
if (vmm_drv_lease_expired(ring->vr_lease)) {
usr/src/uts/intel/io/viona/viona_ring.c
828
if (!viona_ring_lease_renew(ring)) {
usr/src/uts/intel/io/viona/viona_ring.c
833
(void) cv_wait_sig(&ring->vr_cv, &ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
835
if (vring_pause_req(ring)) {
usr/src/uts/intel/io/viona/viona_ring.c
837
ring->vr_state_flags &= ~VRSF_REQ_PAUSE;
usr/src/uts/intel/io/viona/viona_ring.c
839
if (vring_need_bail_ext(ring, true)) {
usr/src/uts/intel/io/viona/viona_ring.c
844
ASSERT((ring->vr_state_flags & VRSF_REQ_START) != 0);
usr/src/uts/intel/io/viona/viona_ring.c
845
ring->vr_state = VRS_RUN;
usr/src/uts/intel/io/viona/viona_ring.c
846
ring->vr_state_flags &= ~VRSF_REQ_START;
usr/src/uts/intel/io/viona/viona_ring.c
847
viona_ring_mark_dirty(ring);
usr/src/uts/intel/io/viona/viona_ring.c
85
#define SPLIT_DESC_ENT_OFF(ring, idx) \
usr/src/uts/intel/io/viona/viona_ring.c
850
if (vmm_drv_lease_expired(ring->vr_lease)) {
usr/src/uts/intel/io/viona/viona_ring.c
851
if (!viona_ring_lease_renew(ring)) {
usr/src/uts/intel/io/viona/viona_ring.c
857
if (VIONA_RING_ISRX(ring))
usr/src/uts/intel/io/viona/viona_ring.c
858
viona_worker_rx(ring, link);
usr/src/uts/intel/io/viona/viona_ring.c
86
((ring)->vr_desc.vrp_off + idx * sizeof (struct virtio_desc))
usr/src/uts/intel/io/viona/viona_ring.c
860
viona_worker_tx(ring, link);
usr/src/uts/intel/io/viona/viona_ring.c
862
VERIFY3U(ring->vr_state, ==, VRS_STOP);
usr/src/uts/intel/io/viona/viona_ring.c
863
VERIFY3U(ring->vr_xfer_outstanding, ==, 0);
usr/src/uts/intel/io/viona/viona_ring.c
869
viona_ring_consolidate_stats(ring);
usr/src/uts/intel/io/viona/viona_ring.c
872
if (vring_pause_req(ring)) {
usr/src/uts/intel/io/viona/viona_ring.c
873
ring->vr_state_flags &= ~VRSF_REQ_PAUSE;
usr/src/uts/intel/io/viona/viona_ring.c
875
if (vring_need_bail_ext(ring, true)) {
usr/src/uts/intel/io/viona/viona_ring.c
885
viona_ring_unmap(ring);
usr/src/uts/intel/io/viona/viona_ring.c
886
if (viona_ring_map(ring, true)) {
usr/src/uts/intel/io/viona/viona_ring.c
89
((ring)->vr_avail.vrp_off)
usr/src/uts/intel/io/viona/viona_ring.c
897
viona_ring_misc_free(ring);
usr/src/uts/intel/io/viona/viona_ring.c
899
viona_ring_lease_drop(ring);
usr/src/uts/intel/io/viona/viona_ring.c
90
#define SPLIT_AVAIL_IDX_OFF(ring) \
usr/src/uts/intel/io/viona/viona_ring.c
900
ring->vr_cur_aidx = 0;
usr/src/uts/intel/io/viona/viona_ring.c
901
ring->vr_size = 0;
usr/src/uts/intel/io/viona/viona_ring.c
902
ring->vr_mask = 0;
usr/src/uts/intel/io/viona/viona_ring.c
903
ring->vr_desc.vrp_pa = 0;
usr/src/uts/intel/io/viona/viona_ring.c
904
ring->vr_avail.vrp_pa = 0;
usr/src/uts/intel/io/viona/viona_ring.c
905
ring->vr_used.vrp_pa = 0;
usr/src/uts/intel/io/viona/viona_ring.c
906
ring->vr_state = VRS_RESET;
usr/src/uts/intel/io/viona/viona_ring.c
907
ring->vr_state_flags = 0;
usr/src/uts/intel/io/viona/viona_ring.c
908
ring->vr_worker_thread = NULL;
usr/src/uts/intel/io/viona/viona_ring.c
909
cv_broadcast(&ring->vr_cv);
usr/src/uts/intel/io/viona/viona_ring.c
91
((ring)->vr_avail.vrp_off + sizeof (uint16_t))
usr/src/uts/intel/io/viona/viona_ring.c
910
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_ring.c
917
viona_create_worker(viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_ring.c
92
#define SPLIT_AVAIL_ENT_OFF(ring, idx) \
usr/src/uts/intel/io/viona/viona_ring.c
924
ASSERT(MUTEX_HELD(&ring->vr_lock));
usr/src/uts/intel/io/viona/viona_ring.c
925
ASSERT(ring->vr_state == VRS_RESET);
usr/src/uts/intel/io/viona/viona_ring.c
928
lwp = lwp_create(viona_worker, (void *)ring, 0, p, TS_STOPPED,
usr/src/uts/intel/io/viona/viona_ring.c
93
((ring)->vr_avail.vrp_off + (2 + (idx)) * sizeof (uint16_t))
usr/src/uts/intel/io/viona/viona_ring.c
944
vq_read_desc(viona_vring_t *ring, uint16_t idx, struct virtio_desc *descp)
usr/src/uts/intel/io/viona/viona_ring.c
946
ASSERT3U(idx, <, ring->vr_size);
usr/src/uts/intel/io/viona/viona_ring.c
95
#define SPLIT_USED_FLAGS_OFF(ring) \
usr/src/uts/intel/io/viona/viona_ring.c
953
*descp = *(const struct virtio_desc *)viona_ring_addr(&ring->vr_desc,
usr/src/uts/intel/io/viona/viona_ring.c
954
SPLIT_DESC_ENT_OFF(ring, idx));
usr/src/uts/intel/io/viona/viona_ring.c
958
vq_read_avail(viona_vring_t *ring, uint16_t idx)
usr/src/uts/intel/io/viona/viona_ring.c
96
((ring)->vr_used.vrp_off)
usr/src/uts/intel/io/viona/viona_ring.c
960
ASSERT3U(idx, <, ring->vr_size);
usr/src/uts/intel/io/viona/viona_ring.c
963
viona_ring_addr(&ring->vr_avail, SPLIT_AVAIL_ENT_OFF(ring, idx));
usr/src/uts/intel/io/viona/viona_ring.c
97
#define SPLIT_USED_IDX_OFF(ring) \
usr/src/uts/intel/io/viona/viona_ring.c
973
vq_map_desc_bufs(viona_vring_t *ring, const struct virtio_desc *desc,
usr/src/uts/intel/io/viona/viona_ring.c
977
VIONA_PROBE2(desc_bad_len, viona_vring_t *, ring,
usr/src/uts/intel/io/viona/viona_ring.c
979
VIONA_RING_STAT_INCR(ring, desc_bad_len);
usr/src/uts/intel/io/viona/viona_ring.c
98
((ring)->vr_used.vrp_off + sizeof (uint16_t))
usr/src/uts/intel/io/viona/viona_ring.c
982
VIONA_PROBE1(len_overflow, viona_vring_t *, ring);
usr/src/uts/intel/io/viona/viona_ring.c
983
VIONA_RING_STAT_INCR(ring, len_overflow);
usr/src/uts/intel/io/viona/viona_ring.c
987
int err = vq_region_hold(ring, desc->vd_addr, desc->vd_len,
usr/src/uts/intel/io/viona/viona_ring.c
99
#define SPLIT_USED_ENT_OFF(ring, idx) \
usr/src/uts/intel/io/viona/viona_ring.c
992
VIONA_PROBE1(too_many_desc, viona_vring_t *, ring);
usr/src/uts/intel/io/viona/viona_ring.c
993
VIONA_RING_STAT_INCR(ring, too_many_desc);
usr/src/uts/intel/io/viona/viona_ring.c
995
VIONA_PROBE_BAD_RING_ADDR(ring, desc->vd_addr);
usr/src/uts/intel/io/viona/viona_ring.c
996
VIONA_RING_STAT_INCR(ring, bad_ring_addr);
usr/src/uts/intel/io/viona/viona_rx.c
106
ring->vr_state_flags |= VRSF_RENEW;
usr/src/uts/intel/io/viona/viona_rx.c
107
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_rx.c
109
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_rx.c
111
if (!viona_ring_lease_renew(ring)) {
usr/src/uts/intel/io/viona/viona_rx.c
114
ring->vr_state_flags &= ~VRSF_RENEW;
usr/src/uts/intel/io/viona/viona_rx.c
123
(void) cv_wait_sig(&ring->vr_cv, &ring->vr_lock);
usr/src/uts/intel/io/viona/viona_rx.c
124
} while (!vring_need_bail(ring));
usr/src/uts/intel/io/viona/viona_rx.c
126
ring->vr_state = VRS_STOP;
usr/src/uts/intel/io/viona/viona_rx.c
133
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_rx.c
135
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_rx.c
141
if (ring->vr_lease != NULL) {
usr/src/uts/intel/io/viona/viona_rx.c
142
viona_ring_enable_notify(ring);
usr/src/uts/intel/io/viona/viona_rx.c
205
viona_recv_plain(viona_vring_t *ring, const mblk_t *mp, size_t msz)
usr/src/uts/intel/io/viona/viona_rx.c
214
const size_t hdr_sz = ring->vr_link->l_modern ?
usr/src/uts/intel/io/viona/viona_rx.c
221
const uint32_t features = ring->vr_link->l_features;
usr/src/uts/intel/io/viona/viona_rx.c
226
n = vq_popchain(ring, iov, VTNET_MAXSEGS, &cookie, &pages, NULL);
usr/src/uts/intel/io/viona/viona_rx.c
265
VIONA_PROBE5(too_short, viona_vring_t *, ring,
usr/src/uts/intel/io/viona/viona_rx.c
268
VIONA_RING_STAT_INCR(ring, too_short);
usr/src/uts/intel/io/viona/viona_rx.c
297
vq_pushchain(ring, copied, cookie);
usr/src/uts/intel/io/viona/viona_rx.c
301
VIONA_PROBE3(bad_rx_frame, viona_vring_t *, ring, uint16_t, cookie,
usr/src/uts/intel/io/viona/viona_rx.c
303
VIONA_RING_STAT_INCR(ring, bad_rx_frame);
usr/src/uts/intel/io/viona/viona_rx.c
306
vq_pushchain(ring, MAX(copied, MIN_BUF_SIZE + hdr_sz), cookie);
usr/src/uts/intel/io/viona/viona_rx.c
311
viona_recv_merged(viona_vring_t *ring, const mblk_t *mp, size_t msz)
usr/src/uts/intel/io/viona/viona_rx.c
323
const uint32_t features = ring->vr_link->l_features;
usr/src/uts/intel/io/viona/viona_rx.c
327
n = vq_popchain(ring, iov, VTNET_MAXSEGS, &cookie, &hdr_pages, NULL);
usr/src/uts/intel/io/viona/viona_rx.c
330
VIONA_PROBE2(no_space, viona_vring_t *, ring, mblk_t *, mp);
usr/src/uts/intel/io/viona/viona_rx.c
331
VIONA_RING_STAT_INCR(ring, no_space);
usr/src/uts/intel/io/viona/viona_rx.c
400
n = vq_popchain(ring, iov, VTNET_MAXSEGS, &cookie,
usr/src/uts/intel/io/viona/viona_rx.c
431
VIONA_PROBE5(too_short, viona_vring_t *, ring,
usr/src/uts/intel/io/viona/viona_rx.c
434
VIONA_RING_STAT_INCR(ring, too_short);
usr/src/uts/intel/io/viona/viona_rx.c
462
VIONA_PROBE3(rx_merge_underrun, viona_vring_t *, ring,
usr/src/uts/intel/io/viona/viona_rx.c
464
VIONA_RING_STAT_INCR(ring, rx_merge_underrun);
usr/src/uts/intel/io/viona/viona_rx.c
468
VIONA_PROBE3(rx_merge_overrun, viona_vring_t *, ring,
usr/src/uts/intel/io/viona/viona_rx.c
470
VIONA_RING_STAT_INCR(ring, rx_merge_overrun);
usr/src/uts/intel/io/viona/viona_rx.c
474
VIONA_PROBE3(bad_rx_frame, viona_vring_t *, ring,
usr/src/uts/intel/io/viona/viona_rx.c
476
VIONA_RING_STAT_INCR(ring, bad_rx_frame);
usr/src/uts/intel/io/viona/viona_rx.c
485
vq_pushchain_many(ring, buf_idx + 1, uelem);
usr/src/uts/intel/io/viona/viona_rx.c
490
viona_rx_common(viona_vring_t *ring, mblk_t *mp, boolean_t is_loopback)
usr/src/uts/intel/io/viona/viona_rx.c
492
viona_link_t *link = ring->vr_link;
usr/src/uts/intel/io/viona/viona_rx.c
519
viona_hook(link, ring, &mp, B_FALSE) != 0) {
usr/src/uts/intel/io/viona/viona_rx.c
547
ring, mblk_t *, mp, size_t, size);
usr/src/uts/intel/io/viona/viona_rx.c
548
VIONA_RING_STAT_INCR(ring, rx_drop_over_mtu);
usr/src/uts/intel/io/viona/viona_rx.c
584
VIONA_RING_STAT_INCR(ring,
usr/src/uts/intel/io/viona/viona_rx.c
586
viona_ring_stat_error(ring);
usr/src/uts/intel/io/viona/viona_rx.c
591
ring, mblk_t *, mp, size_t, size,
usr/src/uts/intel/io/viona/viona_rx.c
593
VIONA_RING_STAT_INCR(ring, rx_gro_fallback);
usr/src/uts/intel/io/viona/viona_rx.c
635
VIONA_PROBE3(rx_pad_short, viona_vring_t *, ring,
usr/src/uts/intel/io/viona/viona_rx.c
637
VIONA_RING_STAT_INCR(ring, rx_pad_short);
usr/src/uts/intel/io/viona/viona_rx.c
645
err = viona_recv_merged(ring, mp, size);
usr/src/uts/intel/io/viona/viona_rx.c
647
err = viona_recv_plain(ring, mp, size);
usr/src/uts/intel/io/viona/viona_rx.c
688
viona_ring_stat_error(ring);
usr/src/uts/intel/io/viona/viona_rx.c
697
VIONA_PROBE3(pkt__rx, viona_vring_t *, ring, mblk_t, mp,
usr/src/uts/intel/io/viona/viona_rx.c
704
viona_intr_ring(ring, B_FALSE);
usr/src/uts/intel/io/viona/viona_rx.c
723
viona_ring_stat_accept(ring, cnt_accept, size_accept);
usr/src/uts/intel/io/viona/viona_rx.c
726
viona_ring_stat_drop(ring, cnt_drop);
usr/src/uts/intel/io/viona/viona_rx.c
735
viona_vring_t *ring = &link->l_vrings[idx * 2];
usr/src/uts/intel/io/viona/viona_rx.c
736
ASSERT(VIONA_RING_ISRX(ring));
usr/src/uts/intel/io/viona/viona_rx.c
737
return (ring);
usr/src/uts/intel/io/viona/viona_rx.c
750
viona_rx_ring_deliver(viona_vring_t *ring, mblk_t *mp,
usr/src/uts/intel/io/viona/viona_rx.c
754
if (ring->vr_state != VRS_RUN ||
usr/src/uts/intel/io/viona/viona_rx.c
755
(ring->vr_state_flags & VRSF_RENEW) != 0) {
usr/src/uts/intel/io/viona/viona_rx.c
760
viona_rx_common(ring, mp, is_loopback);
usr/src/uts/intel/io/viona/viona_rx.c
781
viona_vring_t *ring = NULL;
usr/src/uts/intel/io/viona/viona_rx.c
789
if (ring != NULL && ring != my_ring) {
usr/src/uts/intel/io/viona/viona_rx.c
791
viona_rx_ring_deliver(ring, head, is_loopback);
usr/src/uts/intel/io/viona/viona_rx.c
795
ring = my_ring;
usr/src/uts/intel/io/viona/viona_rx.c
807
ASSERT3P(ring, !=, NULL);
usr/src/uts/intel/io/viona/viona_rx.c
808
viona_rx_ring_deliver(ring, head, is_loopback);
usr/src/uts/intel/io/viona/viona_rx.c
87
viona_worker_rx(viona_vring_t *ring, viona_link_t *link)
usr/src/uts/intel/io/viona/viona_rx.c
90
ring->vr_index, ring);
usr/src/uts/intel/io/viona/viona_rx.c
92
ASSERT(MUTEX_HELD(&ring->vr_lock));
usr/src/uts/intel/io/viona/viona_rx.c
93
ASSERT3U(ring->vr_state, ==, VRS_RUN);
usr/src/uts/intel/io/viona/viona_rx.c
95
viona_ring_disable_notify(ring);
usr/src/uts/intel/io/viona/viona_rx.c
98
if (vmm_drv_lease_expired(ring->vr_lease)) {
usr/src/uts/intel/io/viona/viona_tx.c
101
cv_wait(&ring->vr_cv, &ring->vr_lock);
usr/src/uts/intel/io/viona/viona_tx.c
147
viona_tx_ring_alloc(viona_vring_t *ring, const uint16_t qsz)
usr/src/uts/intel/io/viona/viona_tx.c
149
const viona_link_params_t *vlp = &ring->vr_link->l_params;
usr/src/uts/intel/io/viona/viona_tx.c
151
ring->vr_tx.vrt_header_pad = vlp->vlp_tx_header_pad;
usr/src/uts/intel/io/viona/viona_tx.c
153
if (!ring->vr_link->l_params.vlp_tx_copy_data) {
usr/src/uts/intel/io/viona/viona_tx.c
156
ring->vr_tx.vrt_desb = dp;
usr/src/uts/intel/io/viona/viona_tx.c
159
VIONA_MAX_HDRS_LEN + ring->vr_tx.vrt_header_pad;
usr/src/uts/intel/io/viona/viona_tx.c
163
dp->d_ring = ring;
usr/src/uts/intel/io/viona/viona_tx.c
169
ring->vr_tx.vrt_iov = kmem_alloc(sizeof (struct iovec) * qsz, KM_SLEEP);
usr/src/uts/intel/io/viona/viona_tx.c
170
ring->vr_tx.vrt_iov_cnt = qsz;
usr/src/uts/intel/io/viona/viona_tx.c
174
viona_tx_ring_free(viona_vring_t *ring, const uint16_t qsz)
usr/src/uts/intel/io/viona/viona_tx.c
176
if (ring->vr_tx.vrt_desb != NULL) {
usr/src/uts/intel/io/viona/viona_tx.c
177
viona_desb_t *dp = ring->vr_tx.vrt_desb;
usr/src/uts/intel/io/viona/viona_tx.c
180
VIONA_MAX_HDRS_LEN + ring->vr_tx.vrt_header_pad;
usr/src/uts/intel/io/viona/viona_tx.c
184
kmem_free(ring->vr_tx.vrt_desb, sizeof (viona_desb_t) * qsz);
usr/src/uts/intel/io/viona/viona_tx.c
185
ring->vr_tx.vrt_desb = NULL;
usr/src/uts/intel/io/viona/viona_tx.c
188
if (ring->vr_tx.vrt_iov != NULL) {
usr/src/uts/intel/io/viona/viona_tx.c
189
ASSERT3U(ring->vr_tx.vrt_iov_cnt, !=, 0);
usr/src/uts/intel/io/viona/viona_tx.c
191
kmem_free(ring->vr_tx.vrt_iov,
usr/src/uts/intel/io/viona/viona_tx.c
192
sizeof (struct iovec) * ring->vr_tx.vrt_iov_cnt);
usr/src/uts/intel/io/viona/viona_tx.c
193
ring->vr_tx.vrt_iov = NULL;
usr/src/uts/intel/io/viona/viona_tx.c
194
ring->vr_tx.vrt_iov_cnt = 0;
usr/src/uts/intel/io/viona/viona_tx.c
199
viona_tx_done(viona_vring_t *ring, uint32_t len, uint16_t cookie)
usr/src/uts/intel/io/viona/viona_tx.c
201
vq_pushchain(ring, len, cookie);
usr/src/uts/intel/io/viona/viona_tx.c
204
viona_intr_ring(ring, B_FALSE);
usr/src/uts/intel/io/viona/viona_tx.c
210
viona_worker_tx(viona_vring_t *ring, viona_link_t *link)
usr/src/uts/intel/io/viona/viona_tx.c
213
ring->vr_index, ring);
usr/src/uts/intel/io/viona/viona_tx.c
215
ASSERT(MUTEX_HELD(&ring->vr_lock));
usr/src/uts/intel/io/viona/viona_tx.c
216
ASSERT3U(ring->vr_state, ==, VRS_RUN);
usr/src/uts/intel/io/viona/viona_tx.c
218
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_tx.c
224
viona_ring_disable_notify(ring);
usr/src/uts/intel/io/viona/viona_tx.c
225
while (viona_ring_num_avail(ring) != 0) {
usr/src/uts/intel/io/viona/viona_tx.c
226
const size_t size_sent = viona_tx(link, ring);
usr/src/uts/intel/io/viona/viona_tx.c
240
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_tx.c
241
const bool need_bail = vring_need_bail(ring);
usr/src/uts/intel/io/viona/viona_tx.c
242
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_tx.c
253
viona_ring_stat_accept(ring, cnt_tx, size_tx);
usr/src/uts/intel/io/viona/viona_tx.c
263
viona_ring_enable_notify(ring);
usr/src/uts/intel/io/viona/viona_tx.c
266
if (viona_ring_num_avail(ring) == 0 &&
usr/src/uts/intel/io/viona/viona_tx.c
272
viona_intr_ring(ring, B_TRUE);
usr/src/uts/intel/io/viona/viona_tx.c
275
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_tx.c
277
if (vring_need_bail(ring)) {
usr/src/uts/intel/io/viona/viona_tx.c
278
ring->vr_state = VRS_STOP;
usr/src/uts/intel/io/viona/viona_tx.c
279
viona_tx_wait_outstanding(ring);
usr/src/uts/intel/io/viona/viona_tx.c
283
if (vmm_drv_lease_expired(ring->vr_lease)) {
usr/src/uts/intel/io/viona/viona_tx.c
284
ring->vr_state_flags |= VRSF_RENEW;
usr/src/uts/intel/io/viona/viona_tx.c
290
viona_tx_wait_outstanding(ring);
usr/src/uts/intel/io/viona/viona_tx.c
293
viona_ring_lease_renew(ring);
usr/src/uts/intel/io/viona/viona_tx.c
294
ring->vr_state_flags &= ~VRSF_RENEW;
usr/src/uts/intel/io/viona/viona_tx.c
298
ring->vr_state = VRS_STOP;
usr/src/uts/intel/io/viona/viona_tx.c
303
if (viona_ring_num_avail(ring) != 0) {
usr/src/uts/intel/io/viona/viona_tx.c
308
(void) cv_wait_sig(&ring->vr_cv, &ring->vr_lock);
usr/src/uts/intel/io/viona/viona_tx.c
310
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_tx.c
318
viona_vring_t *ring = dp->d_ring;
usr/src/uts/intel/io/viona/viona_tx.c
346
viona_tx_done(ring, len, cookie);
usr/src/uts/intel/io/viona/viona_tx.c
348
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_tx.c
349
if ((--ring->vr_xfer_outstanding) == 0) {
usr/src/uts/intel/io/viona/viona_tx.c
350
cv_broadcast(&ring->vr_cv);
usr/src/uts/intel/io/viona/viona_tx.c
352
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_tx.c
415
viona_tx_offloads(viona_vring_t *ring, const struct virtio_net_mrgrxhdr *hdr,
usr/src/uts/intel/io/viona/viona_tx.c
418
viona_link_t *link = ring->vr_link;
usr/src/uts/intel/io/viona/viona_tx.c
432
VIONA_RING_STAT_INCR(ring, fail_hcksum);
usr/src/uts/intel/io/viona/viona_tx.c
442
VIONA_RING_STAT_INCR(ring, fail_hcksum_proto);
usr/src/uts/intel/io/viona/viona_tx.c
452
VIONA_RING_STAT_INCR(ring, tx_gso_fail);
usr/src/uts/intel/io/viona/viona_tx.c
513
VIONA_RING_STAT_INCR(ring, tx_gso_fail);
usr/src/uts/intel/io/viona/viona_tx.c
544
VIONA_RING_STAT_INCR(ring, fail_hcksum);
usr/src/uts/intel/io/viona/viona_tx.c
555
VIONA_RING_STAT_INCR(ring, fail_hcksum6);
usr/src/uts/intel/io/viona/viona_tx.c
564
VIONA_RING_STAT_INCR(ring, fail_hcksum_proto);
usr/src/uts/intel/io/viona/viona_tx.c
569
viona_tx_alloc_headers(viona_vring_t *ring, uint16_t cookie, viona_desb_t **dpp,
usr/src/uts/intel/io/viona/viona_tx.c
575
const size_t header_pad = ring->vr_tx.vrt_header_pad;
usr/src/uts/intel/io/viona/viona_tx.c
577
if (ring->vr_tx.vrt_desb != NULL) {
usr/src/uts/intel/io/viona/viona_tx.c
578
viona_desb_t *dp = &ring->vr_tx.vrt_desb[cookie];
usr/src/uts/intel/io/viona/viona_tx.c
623
viona_tx_copy_headers(viona_vring_t *ring, iov_bunch_t *iob, mblk_t *mp,
usr/src/uts/intel/io/viona/viona_tx.c
628
if (ring->vr_tx.vrt_desb == NULL) {
usr/src/uts/intel/io/viona/viona_tx.c
692
viona_tx(viona_link_t *link, viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_tx.c
694
struct iovec *iov = ring->vr_tx.vrt_iov;
usr/src/uts/intel/io/viona/viona_tx.c
695
const uint_t max_segs = ring->vr_tx.vrt_iov_cnt;
usr/src/uts/intel/io/viona/viona_tx.c
704
const int n = vq_popchain(ring, iov, max_segs, &cookie, &pages,
usr/src/uts/intel/io/viona/viona_tx.c
707
VIONA_PROBE1(tx_absent, viona_vring_t *, ring);
usr/src/uts/intel/io/viona/viona_tx.c
708
VIONA_RING_STAT_INCR(ring, tx_absent);
usr/src/uts/intel/io/viona/viona_tx.c
728
if (ring->vr_link->l_modern ||
usr/src/uts/intel/io/viona/viona_tx.c
755
mp_head = viona_tx_alloc_headers(ring, cookie, &dp, pkt_len);
usr/src/uts/intel/io/viona/viona_tx.c
765
if (!viona_tx_copy_headers(ring, &iob, mp_head, &meoi)) {
usr/src/uts/intel/io/viona/viona_tx.c
827
if (viona_hook(link, ring, &mp, B_TRUE) != 0) {
usr/src/uts/intel/io/viona/viona_tx.c
859
if (!viona_tx_offloads(ring, &hdr, &meoi, mp_head, pkt_len)) {
usr/src/uts/intel/io/viona/viona_tx.c
866
viona_ring_stat_error(ring);
usr/src/uts/intel/io/viona/viona_tx.c
877
mutex_enter(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_tx.c
878
ring->vr_xfer_outstanding++;
usr/src/uts/intel/io/viona/viona_tx.c
879
mutex_exit(&ring->vr_lock);
usr/src/uts/intel/io/viona/viona_tx.c
887
viona_tx_done(ring, total_len, cookie);
usr/src/uts/intel/io/viona/viona_tx.c
894
VIONA_PROBE3(pkt__tx, viona_vring_t *, ring, mblk_t, mp_head,
usr/src/uts/intel/io/viona/viona_tx.c
91
viona_tx_wait_outstanding(viona_vring_t *ring)
usr/src/uts/intel/io/viona/viona_tx.c
918
viona_ring_stat_error(ring);
usr/src/uts/intel/io/viona/viona_tx.c
93
ASSERT(MUTEX_HELD(&ring->vr_lock));
usr/src/uts/intel/io/viona/viona_tx.c
947
viona_ring_stat_drop(ring, 1);
usr/src/uts/intel/io/viona/viona_tx.c
949
VIONA_PROBE3(tx_drop, viona_vring_t *, ring, uint32_t, pkt_len,
usr/src/uts/intel/io/viona/viona_tx.c
95
while (ring->vr_xfer_outstanding != 0) {
usr/src/uts/intel/io/viona/viona_tx.c
952
viona_tx_done(ring, total_len, cookie);
usr/src/uts/sun4u/sunfire/io/jtag.c
1112
get_ring_descriptor_bytype(int ring, enum board_type type)
usr/src/uts/sun4u/sunfire/io/jtag.c
1117
return (cpu_system_board[ring & 0xf]);
usr/src/uts/sun4u/sunfire/io/jtag.c
1120
return (io1_system_board[ring & 0xf]);
usr/src/uts/sun4u/sunfire/io/jtag.c
1123
return (io1plus_system_board[ring & 0xf]);
usr/src/uts/sun4u/sunfire/io/jtag.c
1126
return (io2_system_board[ring & 0xf]);
usr/src/uts/sun4u/sunfire/io/jtag.c
1129
return (io2plus_system_board[ring & 0xf]);
usr/src/uts/sun4u/sunfire/io/jtag.c
1132
return (io3_system_board[ring & 0xf]);
usr/src/uts/sun4u/sunfire/io/jtag.c
1135
return (disk_system_board[ring & 0xf]);
usr/src/uts/sun4u/sunfire/io/jtag.c
1145
jtag_ring ring,
usr/src/uts/sun4u/sunfire/io/jtag.c
1157
if ((jtag_scanout_chip(jreg, ring, comp, (u_int *)&fhc_data) >= 0) &&
usr/src/uts/sun4u/sunfire/io/jtag.c
1172
int ring;
usr/src/uts/sun4u/sunfire/io/jtag.c
1186
ring = (board << 4) | 0;
usr/src/uts/sun4u/sunfire/io/jtag.c
1188
if ((status = select_ring(jreg, ring, 1)) < 0) {
usr/src/uts/sun4u/sunfire/io/jtag.c
1192
len = jtag_ring_length(jreg, ring);
usr/src/uts/sun4u/sunfire/io/jtag.c
1197
jtag_check_plus_board(jreg, ring,
usr/src/uts/sun4u/sunfire/io/jtag.c
1203
switch (jtag_ring_ir_length(jreg, ring)) {
usr/src/uts/sun4u/sunfire/io/jtag.c
1209
jtag_check_plus_board(jreg, ring,
usr/src/uts/sun4u/sunfire/io/jtag.c
1214
jtag_check_plus_board(jreg, ring,
usr/src/uts/sun4u/sunfire/io/jtag.c
1222
switch (jtag_ring_ir_length(jreg, ring)) {
usr/src/uts/sun4u/sunfire/io/jtag.c
1228
jtag_check_plus_board(jreg, ring,
usr/src/uts/sun4u/sunfire/io/jtag.c
1233
jtag_check_plus_board(jreg, ring,
usr/src/uts/sun4u/sunfire/io/jtag.c
1241
switch (jtag_ring_ir_length(jreg, ring)) {
usr/src/uts/sun4u/sunfire/io/jtag.c
1247
jtag_check_plus_board(jreg, ring,
usr/src/uts/sun4u/sunfire/io/jtag.c
1294
int ring;
usr/src/uts/sun4u/sunfire/io/jtag.c
1302
ring = sc->board << 4;
usr/src/uts/sun4u/sunfire/io/jtag.c
1304
if ((status = select_ring(jreg, ring, 1)) < 0) {
usr/src/uts/sun4u/sunfire/io/jtag.c
1308
rd = get_ring_descriptor_bytype(ring, sc->type);
usr/src/uts/sun4u/sunfire/io/jtag.c
1342
if (select_ring(jreg, ring | (i + 1), 1) < 0) {
usr/src/uts/sun4u/sunfire/io/jtag.c
1346
len = jtag_ring_length(jreg, ring | (i + 1));
usr/src/uts/sun4u/sunfire/io/jtag.c
1487
if (select_ring(jreg, ring | 1, 1) < 0) {
usr/src/uts/sun4u/sunfire/io/jtag.c
1490
len = jtag_ring_length(jreg, ring | 1);
usr/src/uts/sun4u/sunfire/io/jtag.c
1543
if (select_ring(jreg, ring | 1, 1) < 0) {
usr/src/uts/sun4u/sunfire/io/jtag.c
1546
len = jtag_ring_length(jreg, ring | 1);
usr/src/uts/sun4u/sunfire/io/jtag.c
1606
if (jtag_scanout_chip(jreg, ring,
usr/src/uts/sun4u/sunfire/io/jtag.c
1664
jtag_error_print(int ring, jtag_error code)
usr/src/uts/sun4u/sunfire/io/jtag.c
1679
jtag_err, ring >> 4, ring_str);
usr/src/uts/sun4u/sunfire/io/jtag.c
1685
jtag_err, ring >> 4, ring_str);
usr/src/uts/sun4u/sunfire/io/jtag.c
1690
jtag_err, ring >> 4, ring_str);
usr/src/uts/sun4u/sunfire/io/jtag.c
1696
"%s Ring\n", jtag_err, ring >> 4, ring_str);
usr/src/uts/sun4u/sunfire/io/jtag.c
1703
jtag_err, ring >> 4, ring_str);
usr/src/uts/sun4u/sunfire/io/jtag.c
1820
jtag_ring ring,
usr/src/uts/sun4u/sunfire/io/jtag.c
1830
status = select_ring(jreg, ring, 1);
usr/src/uts/sun4u/sunfire/io/jtag.c
1866
if ((status = select_ring(jreg, ring, 1)) < 0) {
usr/src/uts/sun4u/sunfire/io/jtag.c
1891
jtag_ring ring,
usr/src/uts/sun4u/sunfire/io/jtag.c
1903
if ((status = select_ring(jreg, ring, 1)) < 0) {
usr/src/uts/sun4u/sunfire/io/jtag.c
1921
if ((status = select_ring(jreg, ring, 1)) < 0) {
usr/src/uts/sun4u/sunfire/io/jtag.c
1957
int ring = (bid << 4);
usr/src/uts/sun4u/sunfire/io/jtag.c
1983
rc = jtag_init_chip(jreg, ring, &cpu_sysbd_ring_components[0],
usr/src/uts/sun4u/sunfire/io/jtag.c
1986
rc = jtag_init_chip(jreg, ring, &io1_sysbd_ring_components[0],
usr/src/uts/sun4u/sunfire/io/jtag.c
1989
rc = jtag_init_chip(jreg, ring,
usr/src/uts/sun4u/sunfire/io/jtag.c
1993
rc = jtag_init_chip(jreg, ring, &io2_sysbd_ring_components[0],
usr/src/uts/sun4u/sunfire/io/jtag.c
1996
rc = jtag_init_chip(jreg, ring,
usr/src/uts/sun4u/sunfire/io/jtag.c
2000
rc = jtag_init_chip(jreg, ring, &io3_sysbd_ring_components[0],
usr/src/uts/sun4u/sunfire/io/jtag.c
2010
jtag_error_print(ring, rc);
usr/src/uts/sun4u/sunfire/io/jtag.c
2038
int ring;
usr/src/uts/sun4u/sunfire/io/jtag.c
2051
ring = board << 4;
usr/src/uts/sun4u/sunfire/io/jtag.c
2066
rc = jtag_init_chip(jreg, ring, &cpu_sysbd_ring_components[9],
usr/src/uts/sun4u/sunfire/io/jtag.c
2069
rc = jtag_init_chip(jreg, ring, &io1_sysbd_ring_components[9],
usr/src/uts/sun4u/sunfire/io/jtag.c
2072
rc = jtag_init_chip(jreg, ring,
usr/src/uts/sun4u/sunfire/io/jtag.c
2076
rc = jtag_init_chip(jreg, ring, &io2_sysbd_ring_components[9],
usr/src/uts/sun4u/sunfire/io/jtag.c
2079
rc = jtag_init_chip(jreg, ring,
usr/src/uts/sun4u/sunfire/io/jtag.c
2083
rc = jtag_init_chip(jreg, ring, &io3_sysbd_ring_components[9],
usr/src/uts/sun4u/sunfire/io/jtag.c
2086
rc = jtag_init_chip(jreg, ring, &cpu_sysbd_ring_components[9],
usr/src/uts/sun4u/sunfire/io/jtag.c
2096
jtag_error_print(ring, rc);
usr/src/uts/sun4u/sunfire/io/jtag.c
2124
int ring;
usr/src/uts/sun4u/sunfire/io/jtag.c
2126
ring = board << 4;
usr/src/uts/sun4u/sunfire/io/jtag.c
2132
rc = jtag_init_chip(jreg, ring, &dsk_sysbd_ring_components[1],
usr/src/uts/sun4u/sunfire/io/jtag.c
2138
jtag_error_print(ring, rc);
usr/src/uts/sun4u/sunfire/io/jtag.c
2282
select_ring(volatile u_int *jreg, jtag_ring ring, int reset)
usr/src/uts/sun4u/sunfire/io/jtag.c
2293
jring = ((u_int)(ring & 0x10) << 3) | ((u_int)(ring & 0xE0) >> 1) |
usr/src/uts/sun4u/sunfire/io/jtag.c
2294
(ring & 0xF);
usr/src/uts/sun4u/sunfire/io/jtag.c
2389
jtag_ring_length(volatile u_int *jreg, jtag_ring ring)
usr/src/uts/sun4u/sunfire/io/jtag.c
2399
status = select_ring(jreg, ring, 1);
usr/src/uts/sun4u/sunfire/io/jtag.c
2441
jtag_ring_ir_length(volatile u_int *jreg, jtag_ring ring)
usr/src/uts/sun4u/sunfire/io/jtag.c
2450
status = select_ring(jreg, ring, 1);