Lines Matching refs:srs
1464 mac_hwrings_rx_process(void *arg, mac_resource_handle_t srs, in mac_hwrings_rx_process() argument
1467 mac_soft_ring_set_t *mac_srs = (mac_soft_ring_set_t *)srs; in mac_hwrings_rx_process()
1885 mac_srs_quiesce_wait(mac_soft_ring_set_t *srs, uint_t srs_flag) in mac_srs_quiesce_wait() argument
1887 mutex_enter(&srs->srs_lock); in mac_srs_quiesce_wait()
1888 while (!(srs->srs_state & srs_flag)) in mac_srs_quiesce_wait()
1889 cv_wait(&srs->srs_quiesce_done_cv, &srs->srs_lock); in mac_srs_quiesce_wait()
1890 mutex_exit(&srs->srs_lock); in mac_srs_quiesce_wait()
1930 mac_rx_srs_quiesce(mac_soft_ring_set_t *srs, uint_t srs_quiesce_flag) in mac_rx_srs_quiesce() argument
1932 flow_entry_t *flent = srs->srs_flent; in mac_rx_srs_quiesce()
1936 ASSERT(!(srs->srs_type & SRST_TX)); in mac_rx_srs_quiesce()
1941 if (srs->srs_type & SRST_CLIENT_POLL_ENABLED) in mac_rx_srs_quiesce()
1942 mac_srs_client_poll_disable(srs->srs_mcip, srs); in mac_rx_srs_quiesce()
1947 if (srs->srs_type & SRST_CLIENT_POLL_ENABLED) in mac_rx_srs_quiesce()
1948 mac_srs_client_poll_quiesce(srs->srs_mcip, srs); in mac_rx_srs_quiesce()
1951 if (srs->srs_ring != NULL) { in mac_rx_srs_quiesce()
1952 mac_rx_ring_quiesce(srs->srs_ring, mr_flag); in mac_rx_srs_quiesce()
1970 mac_srs_signal(srs, srs_quiesce_flag); in mac_rx_srs_quiesce()
1971 mac_srs_quiesce_wait(srs, srs_done_flag); in mac_rx_srs_quiesce()
1978 mac_rx_srs_remove(mac_soft_ring_set_t *srs) in mac_rx_srs_remove() argument
1980 flow_entry_t *flent = srs->srs_flent; in mac_rx_srs_remove()
1983 mac_rx_srs_quiesce(srs, SRS_CONDEMNED); in mac_rx_srs_remove()
1991 if (flent->fe_rx_srs[i] == srs) in mac_rx_srs_remove()
2006 mac_srs_free(srs); in mac_rx_srs_remove()
2010 mac_srs_clear_flag(mac_soft_ring_set_t *srs, uint_t flag) in mac_srs_clear_flag() argument
2012 mutex_enter(&srs->srs_lock); in mac_srs_clear_flag()
2013 srs->srs_state &= ~flag; in mac_srs_clear_flag()
2014 mutex_exit(&srs->srs_lock); in mac_srs_clear_flag()
2018 mac_rx_srs_restart(mac_soft_ring_set_t *srs) in mac_rx_srs_restart() argument
2020 flow_entry_t *flent = srs->srs_flent; in mac_rx_srs_restart()
2024 ASSERT((srs->srs_type & SRST_TX) == 0); in mac_rx_srs_restart()
2030 if (!SRS_QUIESCED(srs)) in mac_rx_srs_restart()
2038 if (!SRS_QUIESCED_PERMANENT(srs)) { in mac_rx_srs_restart()
2039 mac_srs_signal(srs, SRS_RESTART); in mac_rx_srs_restart()
2040 mac_srs_quiesce_wait(srs, SRS_RESTART_DONE); in mac_rx_srs_restart()
2041 mac_srs_clear_flag(srs, SRS_RESTART_DONE); in mac_rx_srs_restart()
2043 mac_srs_client_poll_restart(srs->srs_mcip, srs); in mac_rx_srs_restart()
2047 mr = srs->srs_ring; in mac_rx_srs_restart()
2153 mac_tx_srs_quiesce(mac_soft_ring_set_t *srs, uint_t srs_quiesce_flag) in mac_tx_srs_quiesce() argument
2155 mac_client_impl_t *mcip = srs->srs_mcip; in mac_tx_srs_quiesce()
2159 ASSERT(srs->srs_type & SRST_TX); in mac_tx_srs_quiesce()
2168 mac_srs_signal(srs, srs_quiesce_flag); in mac_tx_srs_quiesce()
2169 mac_srs_quiesce_wait(srs, srs_quiesce_flag == SRS_QUIESCE ? in mac_tx_srs_quiesce()
2174 mac_tx_srs_restart(mac_soft_ring_set_t *srs) in mac_tx_srs_restart() argument
2181 if (!SRS_QUIESCED(srs)) in mac_tx_srs_restart()
2184 mac_srs_signal(srs, SRS_RESTART); in mac_tx_srs_restart()
2185 mac_srs_quiesce_wait(srs, SRS_RESTART_DONE); in mac_tx_srs_restart()
2186 mac_srs_clear_flag(srs, SRS_RESTART_DONE); in mac_tx_srs_restart()
5895 mac_soft_ring_set_t *srs; in mac_reserve_tx_ring() local
5922 srs = MCIP_TX_SRS(mcip); in mac_reserve_tx_ring()
5923 ASSERT(mac_tx_srs_ring_present(srs, desired_ring)); in mac_reserve_tx_ring()
5925 (mac_tx_cookie_t)mac_tx_srs_get_soft_ring(srs, in mac_reserve_tx_ring()
5927 mac_tx_srs_del_ring(srs, desired_ring); in mac_reserve_tx_ring()
7116 mac_soft_ring_set_t *srs = MCIP_TX_SRS(mcip); in mac_release_tx_group() local
7120 if (srs != NULL) { in mac_release_tx_group()
7121 if (srs->srs_soft_ring_count > 0) { in mac_release_tx_group()
7124 ASSERT(mac_tx_srs_ring_present(srs, ring)); in mac_release_tx_group()
7127 mac_tx_srs_get_soft_ring(srs, ring)); in mac_release_tx_group()
7128 mac_tx_srs_del_ring(srs, ring); in mac_release_tx_group()
7131 ASSERT(srs->srs_tx.st_arg2 != NULL); in mac_release_tx_group()
7132 srs->srs_tx.st_arg2 = NULL; in mac_release_tx_group()
7133 mac_srs_stat_delete(srs); in mac_release_tx_group()