Lines Matching refs:srs

1551 mac_hwrings_rx_process(void *arg, mac_resource_handle_t srs,  in mac_hwrings_rx_process()  argument
1554 mac_soft_ring_set_t *mac_srs = (mac_soft_ring_set_t *)srs; in mac_hwrings_rx_process()
2213 mac_srs_quiesce_wait(mac_soft_ring_set_t *srs, uint_t srs_flag) in mac_srs_quiesce_wait() argument
2215 mutex_enter(&srs->srs_lock); in mac_srs_quiesce_wait()
2216 while (!(srs->srs_state & srs_flag)) in mac_srs_quiesce_wait()
2217 cv_wait(&srs->srs_quiesce_done_cv, &srs->srs_lock); in mac_srs_quiesce_wait()
2218 mutex_exit(&srs->srs_lock); in mac_srs_quiesce_wait()
2258 mac_rx_srs_quiesce(mac_soft_ring_set_t *srs, uint_t srs_quiesce_flag) in mac_rx_srs_quiesce() argument
2260 flow_entry_t *flent = srs->srs_flent; in mac_rx_srs_quiesce()
2264 ASSERT(!(srs->srs_type & SRST_TX)); in mac_rx_srs_quiesce()
2269 if (srs->srs_type & SRST_CLIENT_POLL_ENABLED) in mac_rx_srs_quiesce()
2270 mac_srs_client_poll_disable(srs->srs_mcip, srs); in mac_rx_srs_quiesce()
2275 if (srs->srs_type & SRST_CLIENT_POLL_ENABLED) in mac_rx_srs_quiesce()
2276 mac_srs_client_poll_quiesce(srs->srs_mcip, srs); in mac_rx_srs_quiesce()
2279 if (srs->srs_ring != NULL) { in mac_rx_srs_quiesce()
2280 mac_rx_ring_quiesce(srs->srs_ring, mr_flag); in mac_rx_srs_quiesce()
2298 mac_srs_signal(srs, srs_quiesce_flag); in mac_rx_srs_quiesce()
2299 mac_srs_quiesce_wait(srs, srs_done_flag); in mac_rx_srs_quiesce()
2306 mac_rx_srs_remove(mac_soft_ring_set_t *srs) in mac_rx_srs_remove() argument
2308 flow_entry_t *flent = srs->srs_flent; in mac_rx_srs_remove()
2311 mac_rx_srs_quiesce(srs, SRS_CONDEMNED); in mac_rx_srs_remove()
2319 if (flent->fe_rx_srs[i] == srs) in mac_rx_srs_remove()
2334 mac_srs_free(srs); in mac_rx_srs_remove()
2338 mac_srs_clear_flag(mac_soft_ring_set_t *srs, uint_t flag) in mac_srs_clear_flag() argument
2340 mutex_enter(&srs->srs_lock); in mac_srs_clear_flag()
2341 srs->srs_state &= ~flag; in mac_srs_clear_flag()
2342 mutex_exit(&srs->srs_lock); in mac_srs_clear_flag()
2346 mac_rx_srs_restart(mac_soft_ring_set_t *srs) in mac_rx_srs_restart() argument
2348 flow_entry_t *flent = srs->srs_flent; in mac_rx_srs_restart()
2352 ASSERT((srs->srs_type & SRST_TX) == 0); in mac_rx_srs_restart()
2358 if (!SRS_QUIESCED(srs)) in mac_rx_srs_restart()
2366 if (!SRS_QUIESCED_PERMANENT(srs)) { in mac_rx_srs_restart()
2367 mac_srs_signal(srs, SRS_RESTART); in mac_rx_srs_restart()
2368 mac_srs_quiesce_wait(srs, SRS_RESTART_DONE); in mac_rx_srs_restart()
2369 mac_srs_clear_flag(srs, SRS_RESTART_DONE); in mac_rx_srs_restart()
2371 mac_srs_client_poll_restart(srs->srs_mcip, srs); in mac_rx_srs_restart()
2375 mr = srs->srs_ring; in mac_rx_srs_restart()
2481 mac_tx_srs_quiesce(mac_soft_ring_set_t *srs, uint_t srs_quiesce_flag) in mac_tx_srs_quiesce() argument
2483 mac_client_impl_t *mcip = srs->srs_mcip; in mac_tx_srs_quiesce()
2487 ASSERT(srs->srs_type & SRST_TX); in mac_tx_srs_quiesce()
2496 mac_srs_signal(srs, srs_quiesce_flag); in mac_tx_srs_quiesce()
2497 mac_srs_quiesce_wait(srs, srs_quiesce_flag == SRS_QUIESCE ? in mac_tx_srs_quiesce()
2502 mac_tx_srs_restart(mac_soft_ring_set_t *srs) in mac_tx_srs_restart() argument
2509 if (!SRS_QUIESCED(srs)) in mac_tx_srs_restart()
2512 mac_srs_signal(srs, SRS_RESTART); in mac_tx_srs_restart()
2513 mac_srs_quiesce_wait(srs, SRS_RESTART_DONE); in mac_tx_srs_restart()
2514 mac_srs_clear_flag(srs, SRS_RESTART_DONE); in mac_tx_srs_restart()
6544 mac_soft_ring_set_t *srs; in mac_reserve_tx_ring() local
6571 srs = MCIP_TX_SRS(mcip); in mac_reserve_tx_ring()
6572 ASSERT(mac_tx_srs_ring_present(srs, desired_ring)); in mac_reserve_tx_ring()
6574 (mac_tx_cookie_t)mac_tx_srs_get_soft_ring(srs, in mac_reserve_tx_ring()
6576 mac_tx_srs_del_ring(srs, desired_ring); in mac_reserve_tx_ring()
7784 mac_soft_ring_set_t *srs = MCIP_TX_SRS(mcip); in mac_release_tx_group() local
7788 if (srs != NULL) { in mac_release_tx_group()
7789 if (srs->srs_soft_ring_count > 0) { in mac_release_tx_group()
7792 ASSERT(mac_tx_srs_ring_present(srs, ring)); in mac_release_tx_group()
7795 mac_tx_srs_get_soft_ring(srs, ring)); in mac_release_tx_group()
7796 mac_tx_srs_del_ring(srs, ring); in mac_release_tx_group()
7799 ASSERT(srs->srs_tx.st_arg2 != NULL); in mac_release_tx_group()
7800 srs->srs_tx.st_arg2 = NULL; in mac_release_tx_group()
7801 mac_srs_stat_delete(srs); in mac_release_tx_group()