Lines Matching refs:rx_ringp
972 vnet_pseudo_rx_ring_t *rx_ringp; in vnet_ring_grp_init() local
993 rx_ringp = kmem_zalloc(sizeof (vnet_pseudo_rx_ring_t) * in vnet_ring_grp_init()
1000 rx_ringp[0].state |= VNET_RXRING_INUSE|VNET_RXRING_LDC_SERVICE; in vnet_ring_grp_init()
1001 rx_ringp[0].index = 0; in vnet_ring_grp_init()
1002 rx_ringp[1].state |= VNET_RXRING_INUSE|VNET_RXRING_HYBRID; in vnet_ring_grp_init()
1003 rx_ringp[1].index = 1; in vnet_ring_grp_init()
1004 rx_ringp[2].state |= VNET_RXRING_INUSE|VNET_RXRING_HYBRID; in vnet_ring_grp_init()
1005 rx_ringp[2].index = 2; in vnet_ring_grp_init()
1008 rx_grp->rings = rx_ringp; in vnet_ring_grp_init()
1012 rx_ringp = &rx_grp->rings[i]; in vnet_ring_grp_init()
1013 rx_ringp->state = VNET_RXRING_FREE; in vnet_ring_grp_init()
1014 rx_ringp->index = i; in vnet_ring_grp_init()
1059 vnet_pseudo_rx_ring_t *rx_ringp; in vnet_alloc_pseudo_rx_ring() local
1073 rx_ringp = &rx_grp->rings[index]; in vnet_alloc_pseudo_rx_ring()
1074 if (rx_ringp->state == VNET_RXRING_FREE) { in vnet_alloc_pseudo_rx_ring()
1075 rx_ringp->state |= VNET_RXRING_INUSE; in vnet_alloc_pseudo_rx_ring()
1082 return (rx_ringp); in vnet_alloc_pseudo_rx_ring()
1382 ringp = vresp->rx_ringp; in vnet_rx()
2225 vnet_pseudo_rx_ring_t *rx_ringp; in vnet_get_ring() local
2236 rx_ringp = &rx_grp->rings[r_index]; in vnet_get_ring()
2238 rx_ringp->handle = r_handle; in vnet_get_ring()
2244 rx_ringp->grp = rx_grp; in vnet_get_ring()
2245 rx_ringp->vnetp = vnetp; in vnet_get_ring()
2248 mintr->mi_handle = (mac_intr_handle_t)rx_ringp; in vnet_get_ring()
2252 infop->mri_driver = (mac_ring_driver_t)rx_ringp; in vnet_get_ring()
2380 vnet_pseudo_rx_ring_t *rx_ringp = (vnet_pseudo_rx_ring_t *)arg; in vnet_rx_ring_start() local
2387 if ((rx_ringp->state & in vnet_rx_ring_start()
2389 rx_ringp->gen_num = mr_gen_num; in vnet_rx_ring_start()
2390 rx_ringp->state |= VNET_RXRING_STARTED; in vnet_rx_ring_start()
2394 ASSERT((rx_ringp->state & VNET_RXRING_HYBRID) != 0); in vnet_rx_ring_start()
2403 if (rx_ringp->hw_rh == NULL) { in vnet_rx_ring_start()
2404 rx_ringp->gen_num = mr_gen_num; in vnet_rx_ring_start()
2405 rx_ringp->state |= VNET_RXRING_STARTED; in vnet_rx_ring_start()
2409 err = mac_hwring_activate(rx_ringp->hw_rh); in vnet_rx_ring_start()
2411 rx_ringp->gen_num = mr_gen_num; in vnet_rx_ring_start()
2412 rx_ringp->state |= VNET_RXRING_STARTED; in vnet_rx_ring_start()
2423 vnet_pseudo_rx_ring_t *rx_ringp = (vnet_pseudo_rx_ring_t *)arg; in vnet_rx_ring_stop() local
2429 if ((rx_ringp->state & in vnet_rx_ring_stop()
2431 rx_ringp->state &= ~VNET_RXRING_STARTED; in vnet_rx_ring_stop()
2435 ASSERT((rx_ringp->state & VNET_RXRING_HYBRID) != 0); in vnet_rx_ring_stop()
2442 if (rx_ringp->hw_rh == NULL) { in vnet_rx_ring_stop()
2443 rx_ringp->state &= ~VNET_RXRING_STARTED; in vnet_rx_ring_stop()
2447 mac_hwring_quiesce(rx_ringp->hw_rh); in vnet_rx_ring_stop()
2448 rx_ringp->state &= ~VNET_RXRING_STARTED; in vnet_rx_ring_stop()
2454 vnet_pseudo_rx_ring_t *rx_ringp = (vnet_pseudo_rx_ring_t *)rdriver; in vnet_rx_ring_stat() local
2455 vnet_t *vnetp = (vnet_t *)rx_ringp->vnetp; in vnet_rx_ring_stat()
2464 if ((rx_ringp->state & VNET_RXRING_HYBRID) != 0) { in vnet_rx_ring_stat()
2473 (void) mac_hwring_getstat(rx_ringp->hw_rh, stat, val); in vnet_rx_ring_stat()
2478 ASSERT((rx_ringp->state & in vnet_rx_ring_stat()
2480 vresp = (vnet_res_t *)rx_ringp->hw_rh; in vnet_rx_ring_stat()
2538 vnet_pseudo_rx_ring_t *rx_ringp = (vnet_pseudo_rx_ring_t *)arg; in vnet_ring_enable_intr() local
2541 if (rx_ringp->hw_rh == NULL) { in vnet_ring_enable_intr()
2548 ASSERT((rx_ringp->state & VNET_RXRING_HYBRID) != 0); in vnet_ring_enable_intr()
2556 if (rx_ringp->state & VNET_RXRING_HYBRID) { in vnet_ring_enable_intr()
2557 return (mac_hwring_enable_intr(rx_ringp->hw_rh)); in vnet_ring_enable_intr()
2559 vresp = (vnet_res_t *)rx_ringp->hw_rh; in vnet_ring_enable_intr()
2570 vnet_pseudo_rx_ring_t *rx_ringp = (vnet_pseudo_rx_ring_t *)arg; in vnet_ring_disable_intr() local
2573 if (rx_ringp->hw_rh == NULL) { in vnet_ring_disable_intr()
2580 ASSERT((rx_ringp->state & VNET_RXRING_HYBRID) != 0); in vnet_ring_disable_intr()
2588 if (rx_ringp->state & VNET_RXRING_HYBRID) { in vnet_ring_disable_intr()
2589 return (mac_hwring_disable_intr(rx_ringp->hw_rh)); in vnet_ring_disable_intr()
2591 vresp = (vnet_res_t *)rx_ringp->hw_rh; in vnet_ring_disable_intr()
2602 vnet_pseudo_rx_ring_t *rx_ringp = (vnet_pseudo_rx_ring_t *)arg; in vnet_rx_poll() local
2605 vnet_t *vnetp = rx_ringp->vnetp; in vnet_rx_poll()
2607 if (rx_ringp->hw_rh == NULL) { in vnet_rx_poll()
2611 if (rx_ringp->state & VNET_RXRING_HYBRID) { in vnet_rx_poll()
2612 mp = mac_hwring_poll(rx_ringp->hw_rh, bytes_to_pickup); in vnet_rx_poll()
2625 vresp = (vnet_res_t *)rx_ringp->hw_rh; in vnet_rx_poll()
2797 vnet_pseudo_rx_ring_t *rx_ringp; in vnet_bind_hwrings() local
2839 rx_ringp = &rx_grp->rings[i + VNET_HYBRID_RXRING_INDEX]; in vnet_bind_hwrings()
2842 rx_ringp->hw_rh = hw_rh[i]; in vnet_bind_hwrings()
2845 mac_hwring_setup(rx_ringp->hw_rh, in vnet_bind_hwrings()
2846 (mac_resource_handle_t)rx_ringp, NULL); in vnet_bind_hwrings()
2849 if (rx_ringp->state & VNET_RXRING_STARTED) { in vnet_bind_hwrings()
2850 rv = mac_hwring_activate(rx_ringp->hw_rh); in vnet_bind_hwrings()
2852 mac_hwring_teardown(rx_ringp->hw_rh); in vnet_bind_hwrings()
2853 rx_ringp->hw_rh = NULL; in vnet_bind_hwrings()
2900 vnet_pseudo_rx_ring_t *rx_ringp; in vnet_unbind_hwrings() local
2921 rx_ringp = &rx_grp->rings[i + VNET_HYBRID_RXRING_INDEX]; in vnet_unbind_hwrings()
2922 if (rx_ringp->hw_rh != NULL) { in vnet_unbind_hwrings()
2924 mac_hwring_quiesce(rx_ringp->hw_rh); in vnet_unbind_hwrings()
2927 mac_hwring_teardown(rx_ringp->hw_rh); in vnet_unbind_hwrings()
2928 rx_ringp->hw_rh = NULL; in vnet_unbind_hwrings()
2951 vnet_pseudo_rx_ring_t *rx_ringp; in vnet_bind_vgenring() local
2968 rx_ringp = &rx_grp->rings[0]; in vnet_bind_vgenring()
2969 rx_ringp->hw_rh = (mac_ring_handle_t)vresp; in vnet_bind_vgenring()
2970 vresp->rx_ringp = (void *)rx_ringp; in vnet_bind_vgenring()
2977 rx_ringp = vnet_alloc_pseudo_rx_ring(vnetp); in vnet_bind_vgenring()
2978 if (rx_ringp == NULL) { in vnet_bind_vgenring()
2985 rx_ringp->hw_rh = (mac_ring_handle_t)vresp; in vnet_bind_vgenring()
2993 vresp->rx_ringp = (void *)rx_ringp; in vnet_bind_vgenring()
2994 rx_ringp->state |= VNET_RXRING_LDC_GUEST; in vnet_bind_vgenring()
2997 rv = mac_group_add_ring(rx_grp->handle, rx_ringp->index); in vnet_bind_vgenring()
2999 rx_ringp->state &= ~VNET_RXRING_LDC_GUEST; in vnet_bind_vgenring()
3000 rx_ringp->hw_rh = NULL; in vnet_bind_vgenring()
3001 vnet_free_pseudo_rx_ring(vnetp, rx_ringp); in vnet_bind_vgenring()
3018 vnet_pseudo_rx_ring_t *rx_ringp; in vnet_unbind_vgenring() local
3026 if (vresp->rx_ringp == NULL) { in vnet_unbind_vgenring()
3038 rx_ringp = &rx_grp->rings[0]; in vnet_unbind_vgenring()
3039 rx_ringp->hw_rh = NULL; in vnet_unbind_vgenring()
3040 vresp->rx_ringp = NULL; in vnet_unbind_vgenring()
3047 rx_ringp = (vnet_pseudo_rx_ring_t *)vresp->rx_ringp; in vnet_unbind_vgenring()
3048 vresp->rx_ringp = NULL; in vnet_unbind_vgenring()
3050 if (rx_ringp != NULL && (rx_ringp->state & VNET_RXRING_LDC_GUEST)) { in vnet_unbind_vgenring()
3052 mac_group_rem_ring(rx_grp->handle, rx_ringp->handle); in vnet_unbind_vgenring()
3054 rx_ringp->hw_rh = NULL; in vnet_unbind_vgenring()
3055 rx_ringp->state &= ~VNET_RXRING_LDC_GUEST; in vnet_unbind_vgenring()
3058 vnet_free_pseudo_rx_ring(vnetp, rx_ringp); in vnet_unbind_vgenring()