diff options
author | Ryan Zezeski <ryan@zinascii.com> | 2020-01-22 11:52:39 -0700 |
---|---|---|
committer | Robert Mustacchi <rm@fingolfin.org> | 2020-03-02 14:43:17 +0000 |
commit | 45948e49c407e4fc264fdd289ed632d6639e009d (patch) | |
tree | 49af0edae1f628d8fb2b3486d79a648b6f62ab9f /usr/src/uts/sun4v | |
parent | b69c34dad3717624ff6b4f32b71014ee05b6a678 (diff) | |
download | illumos-joyent-45948e49c407e4fc264fdd289ed632d6639e009d.tar.gz |
11493 aggr needs support for multiple pseudo rx groups
Portions contributed by: Dan McDonald <danmcd@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Paul Winder <paul@winders.demon.co.uk>
Approved by: Gordon Ross <gordon.w.ross@gmail.com>
Diffstat (limited to 'usr/src/uts/sun4v')
-rw-r--r-- | usr/src/uts/sun4v/io/vnet.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/usr/src/uts/sun4v/io/vnet.c b/usr/src/uts/sun4v/io/vnet.c index c9e378f89e..96fb04175d 100644 --- a/usr/src/uts/sun4v/io/vnet.c +++ b/usr/src/uts/sun4v/io/vnet.c @@ -22,6 +22,7 @@ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. + * Copyright 2018 Joyent, Inc. */ #include <sys/types.h> @@ -1132,9 +1133,9 @@ vnet_mac_register(vnet_t *vnetp) static int vnet_read_mac_address(vnet_t *vnetp) { - uchar_t *macaddr; - uint32_t size; - int rv; + uchar_t *macaddr; + uint32_t size; + int rv; rv = ddi_prop_lookup_byte_array(DDI_DEV_T_ANY, vnetp->dip, DDI_PROP_DONTPASS, macaddr_propname, &macaddr, &size); @@ -2317,7 +2318,7 @@ vnet_get_ring(void *arg, mac_ring_type_t rtype, const int g_index, */ static void vnet_get_group(void *arg, mac_ring_type_t type, const int index, - mac_group_info_t *infop, mac_group_handle_t handle) + mac_group_info_t *infop, mac_group_handle_t handle) { vnet_t *vnetp = (vnet_t *)arg; @@ -2405,7 +2406,7 @@ vnet_rx_ring_start(mac_ring_driver_t arg, uint64_t mr_gen_num) return (0); } - err = mac_hwring_start(rx_ringp->hw_rh); + err = mac_hwring_activate(rx_ringp->hw_rh); if (err == 0) { rx_ringp->gen_num = mr_gen_num; rx_ringp->state |= VNET_RXRING_STARTED; @@ -2443,7 +2444,7 @@ vnet_rx_ring_stop(mac_ring_driver_t arg) return; } - mac_hwring_stop(rx_ringp->hw_rh); + mac_hwring_quiesce(rx_ringp->hw_rh); rx_ringp->state &= ~VNET_RXRING_STARTED; } @@ -2630,7 +2631,7 @@ vnet_rx_poll(void *arg, int bytes_to_pickup) /* ARGSUSED */ void vnet_hio_rx_cb(void *arg, mac_resource_handle_t mrh, mblk_t *mp, - boolean_t loopback) + boolean_t loopback) { vnet_t *vnetp = (vnet_t *)arg; vnet_pseudo_rx_ring_t *ringp = (vnet_pseudo_rx_ring_t *)mrh; @@ -2846,7 +2847,7 @@ vnet_bind_hwrings(vnet_t *vnetp) /* Start the hwring if needed */ if (rx_ringp->state & VNET_RXRING_STARTED) { - rv = mac_hwring_start(rx_ringp->hw_rh); + rv = mac_hwring_activate(rx_ringp->hw_rh); if (rv != 0) { mac_hwring_teardown(rx_ringp->hw_rh); rx_ringp->hw_rh = NULL; @@ -2920,7 +2921,7 @@ vnet_unbind_hwrings(vnet_t *vnetp) rx_ringp = &rx_grp->rings[i + VNET_HYBRID_RXRING_INDEX]; if (rx_ringp->hw_rh != NULL) { /* Stop the hwring */ - mac_hwring_stop(rx_ringp->hw_rh); + mac_hwring_quiesce(rx_ringp->hw_rh); /* Teardown the hwring */ mac_hwring_teardown(rx_ringp->hw_rh); |