Lines Matching refs:cec_curr

1538 	s1394_isoch_cec_t *cec_curr;  in t1394_free_isoch_single()  local
1545 cec_curr = (s1394_isoch_cec_t *)(*t1394_single_hdl); in t1394_free_isoch_single()
1551 (t1394_isoch_cec_handle_t)cec_curr, 0); in t1394_free_isoch_single()
1561 (t1394_isoch_cec_handle_t)cec_curr, 0); in t1394_free_isoch_single()
1571 (t1394_isoch_cec_handle_t *)&cec_curr); in t1394_free_isoch_single()
1697 s1394_isoch_cec_t *cec_curr; in t1394_free_isoch_cec() local
1705 cec_curr = (s1394_isoch_cec_t *)(*t1394_isoch_cec_hdl); in t1394_free_isoch_cec()
1708 mutex_enter(&cec_curr->isoch_cec_mutex); in t1394_free_isoch_cec()
1711 if (CEC_IN_ANY_CALLBACKS(cec_curr)) { in t1394_free_isoch_cec()
1713 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_free_isoch_cec()
1718 if (CEC_TRANSITION_LEGAL(cec_curr, ISOCH_CEC_FREE) == 0) { in t1394_free_isoch_cec()
1720 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_free_isoch_cec()
1723 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_free_isoch_cec()
1728 s1394_isoch_cec_list_remove(hal, cec_curr); in t1394_free_isoch_cec()
1733 cv_destroy(&cec_curr->in_callbacks_cv); in t1394_free_isoch_cec()
1734 mutex_destroy(&cec_curr->isoch_cec_mutex); in t1394_free_isoch_cec()
1737 kmem_free(cec_curr, sizeof (s1394_isoch_cec_t)); in t1394_free_isoch_cec()
1774 s1394_isoch_cec_t *cec_curr; in t1394_join_isoch_cec() local
1785 cec_curr = (s1394_isoch_cec_t *)t1394_isoch_cec_hdl; in t1394_join_isoch_cec()
1791 mutex_enter(&cec_curr->isoch_cec_mutex); in t1394_join_isoch_cec()
1794 while (CEC_IN_ANY_CALLBACKS(cec_curr)) { in t1394_join_isoch_cec()
1795 cec_curr->cec_want_wakeup = B_TRUE; in t1394_join_isoch_cec()
1796 cv_wait(&cec_curr->in_callbacks_cv, in t1394_join_isoch_cec()
1797 &cec_curr->isoch_cec_mutex); in t1394_join_isoch_cec()
1801 if (CEC_TRANSITION_LEGAL(cec_curr, ISOCH_CEC_JOIN) == 0) { in t1394_join_isoch_cec()
1804 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_join_isoch_cec()
1810 cec_curr->filter_channel_mask; in t1394_join_isoch_cec()
1814 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_join_isoch_cec()
1819 if (join_isoch_info->req_max_speed < cec_curr->filter_min_speed) { in t1394_join_isoch_cec()
1822 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_join_isoch_cec()
1825 cec_curr->filter_current_speed) { in t1394_join_isoch_cec()
1828 curr_max_speed = cec_curr->filter_current_speed; in t1394_join_isoch_cec()
1833 (cec_curr->cec_member_talker != NULL)) { in t1394_join_isoch_cec()
1836 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_join_isoch_cec()
1841 if ((cec_curr->cec_type == S1394_PEER_TO_PEER) && in t1394_join_isoch_cec()
1849 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_join_isoch_cec()
1860 s1394_isoch_cec_member_list_insert(hal, cec_curr, member_new); in t1394_join_isoch_cec()
1863 cec_curr->filter_channel_mask = check_mask; in t1394_join_isoch_cec()
1866 cec_curr->filter_current_speed = curr_max_speed; in t1394_join_isoch_cec()
1870 cec_curr->cec_member_talker = cec_curr->cec_member_list_head; in t1394_join_isoch_cec()
1876 CEC_SET_LEGAL(cec_curr, ISOCH_CEC_LEAVE); in t1394_join_isoch_cec()
1877 CEC_SET_ILLEGAL(cec_curr, ISOCH_CEC_FREE); in t1394_join_isoch_cec()
1880 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_join_isoch_cec()
1909 s1394_isoch_cec_t *cec_curr; in t1394_leave_isoch_cec() local
1922 cec_curr = (s1394_isoch_cec_t *)t1394_isoch_cec_hdl; in t1394_leave_isoch_cec()
1925 mutex_enter(&cec_curr->isoch_cec_mutex); in t1394_leave_isoch_cec()
1928 while (CEC_IN_ANY_CALLBACKS(cec_curr)) { in t1394_leave_isoch_cec()
1929 cec_curr->cec_want_wakeup = B_TRUE; in t1394_leave_isoch_cec()
1930 cv_wait(&cec_curr->in_callbacks_cv, in t1394_leave_isoch_cec()
1931 &cec_curr->isoch_cec_mutex); in t1394_leave_isoch_cec()
1935 if (CEC_TRANSITION_LEGAL(cec_curr, ISOCH_CEC_LEAVE) == 0) { in t1394_leave_isoch_cec()
1937 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_leave_isoch_cec()
1943 temp_channel_mask = cec_curr->cec_alloc_props.cec_channel_mask; in t1394_leave_isoch_cec()
1944 temp_max_speed = cec_curr->cec_alloc_props.cec_max_speed; in t1394_leave_isoch_cec()
1945 member_curr = cec_curr->cec_member_list_head; in t1394_leave_isoch_cec()
1963 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_leave_isoch_cec()
1967 cec_curr->filter_current_speed = temp_max_speed; in t1394_leave_isoch_cec()
1968 cec_curr->filter_channel_mask = temp_channel_mask; in t1394_leave_isoch_cec()
1972 s1394_isoch_cec_member_list_remove(hal, cec_curr, member_temp); in t1394_leave_isoch_cec()
1975 if (cec_curr->cec_member_talker == member_temp) in t1394_leave_isoch_cec()
1976 cec_curr->cec_member_talker = NULL; in t1394_leave_isoch_cec()
1979 if ((cec_curr->cec_member_list_head == NULL) && in t1394_leave_isoch_cec()
1980 (cec_curr->cec_member_list_tail == NULL)) { in t1394_leave_isoch_cec()
1986 if (CEC_TRANSITION_LEGAL(cec_curr, ISOCH_CEC_JOIN) != 0) in t1394_leave_isoch_cec()
1987 CEC_SET_LEGAL(cec_curr, ISOCH_CEC_FREE); in t1394_leave_isoch_cec()
1988 CEC_SET_ILLEGAL(cec_curr, ISOCH_CEC_LEAVE); in t1394_leave_isoch_cec()
1992 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_leave_isoch_cec()
2025 s1394_isoch_cec_t *cec_curr; in t1394_setup_isoch_cec() local
2046 cec_curr = (s1394_isoch_cec_t *)t1394_isoch_cec_hdl; in t1394_setup_isoch_cec()
2049 mutex_enter(&cec_curr->isoch_cec_mutex); in t1394_setup_isoch_cec()
2052 if (CEC_IN_ANY_CALLBACKS(cec_curr)) { in t1394_setup_isoch_cec()
2054 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_setup_isoch_cec()
2059 if (CEC_TRANSITION_LEGAL(cec_curr, ISOCH_CEC_SETUP) == 0) { in t1394_setup_isoch_cec()
2061 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_setup_isoch_cec()
2066 if (cec_curr->cec_options & T1394_NO_IRM_ALLOC) { in t1394_setup_isoch_cec()
2080 cec_curr->bandwidth, cec_curr->filter_current_speed); in t1394_setup_isoch_cec()
2088 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_setup_isoch_cec()
2095 mutex_enter(&cec_curr->isoch_cec_mutex); in t1394_setup_isoch_cec()
2104 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_setup_isoch_cec()
2129 temp_chnl_mask = cec_curr->filter_channel_mask; in t1394_setup_isoch_cec()
2135 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_setup_isoch_cec()
2148 mutex_enter(&cec_curr->isoch_cec_mutex); in t1394_setup_isoch_cec()
2173 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_setup_isoch_cec()
2180 mutex_enter(&cec_curr->isoch_cec_mutex); in t1394_setup_isoch_cec()
2189 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_setup_isoch_cec()
2204 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_setup_isoch_cec()
2208 cec_curr->realloc_valid = B_TRUE; in t1394_setup_isoch_cec()
2209 cec_curr->realloc_chnl_num = chnl_num; in t1394_setup_isoch_cec()
2210 cec_curr->realloc_bandwidth = cec_curr->bandwidth; in t1394_setup_isoch_cec()
2211 cec_curr->realloc_speed = cec_curr->filter_current_speed; in t1394_setup_isoch_cec()
2216 target_args.channel_speed = cec_curr->filter_current_speed; in t1394_setup_isoch_cec()
2219 cec_curr->in_callbacks = B_TRUE; in t1394_setup_isoch_cec()
2222 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_setup_isoch_cec()
2224 member_curr = cec_curr->cec_member_list_head; in t1394_setup_isoch_cec()
2239 mutex_enter(&cec_curr->isoch_cec_mutex); in t1394_setup_isoch_cec()
2242 cec_curr->in_callbacks = B_FALSE; in t1394_setup_isoch_cec()
2243 if (cec_curr->cec_want_wakeup == B_TRUE) { in t1394_setup_isoch_cec()
2244 cec_curr->cec_want_wakeup = B_FALSE; in t1394_setup_isoch_cec()
2245 cv_broadcast(&cec_curr->in_callbacks_cv); in t1394_setup_isoch_cec()
2252 CEC_SET_LEGAL(cec_curr, (ISOCH_CEC_START | ISOCH_CEC_TEARDOWN)); in t1394_setup_isoch_cec()
2253 CEC_SET_ILLEGAL(cec_curr, (ISOCH_CEC_JOIN | ISOCH_CEC_FREE | in t1394_setup_isoch_cec()
2257 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_setup_isoch_cec()
2289 s1394_isoch_cec_t *cec_curr; in t1394_start_isoch_cec() local
2299 cec_curr = (s1394_isoch_cec_t *)t1394_isoch_cec_hdl; in t1394_start_isoch_cec()
2302 mutex_enter(&cec_curr->isoch_cec_mutex); in t1394_start_isoch_cec()
2305 if (CEC_IN_ANY_CALLBACKS(cec_curr)) { in t1394_start_isoch_cec()
2307 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_start_isoch_cec()
2312 if (CEC_TRANSITION_LEGAL(cec_curr, ISOCH_CEC_START) == 0) { in t1394_start_isoch_cec()
2314 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_start_isoch_cec()
2319 cec_curr->in_callbacks = B_TRUE; in t1394_start_isoch_cec()
2322 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_start_isoch_cec()
2329 member_curr = cec_curr->cec_member_list_tail; in t1394_start_isoch_cec()
2344 mutex_enter(&cec_curr->isoch_cec_mutex); in t1394_start_isoch_cec()
2347 cec_curr->in_callbacks = B_FALSE; in t1394_start_isoch_cec()
2348 if (cec_curr->cec_want_wakeup == B_TRUE) { in t1394_start_isoch_cec()
2349 cec_curr->cec_want_wakeup = B_FALSE; in t1394_start_isoch_cec()
2350 cv_broadcast(&cec_curr->in_callbacks_cv); in t1394_start_isoch_cec()
2357 CEC_SET_LEGAL(cec_curr, ISOCH_CEC_STOP); in t1394_start_isoch_cec()
2358 CEC_SET_ILLEGAL(cec_curr, (ISOCH_CEC_START | ISOCH_CEC_TEARDOWN)); in t1394_start_isoch_cec()
2361 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_start_isoch_cec()
2395 s1394_isoch_cec_t *cec_curr; in t1394_stop_isoch_cec() local
2403 cec_curr = (s1394_isoch_cec_t *)t1394_isoch_cec_hdl; in t1394_stop_isoch_cec()
2406 mutex_enter(&cec_curr->isoch_cec_mutex); in t1394_stop_isoch_cec()
2409 if (CEC_IN_ANY_CALLBACKS(cec_curr)) { in t1394_stop_isoch_cec()
2411 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_stop_isoch_cec()
2416 if (CEC_TRANSITION_LEGAL(cec_curr, ISOCH_CEC_STOP) == 0) { in t1394_stop_isoch_cec()
2418 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_stop_isoch_cec()
2423 cec_curr->in_callbacks = B_TRUE; in t1394_stop_isoch_cec()
2426 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_stop_isoch_cec()
2433 member_curr = cec_curr->cec_member_list_head; in t1394_stop_isoch_cec()
2445 mutex_enter(&cec_curr->isoch_cec_mutex); in t1394_stop_isoch_cec()
2448 cec_curr->in_callbacks = B_FALSE; in t1394_stop_isoch_cec()
2449 if (cec_curr->cec_want_wakeup == B_TRUE) { in t1394_stop_isoch_cec()
2450 cec_curr->cec_want_wakeup = B_FALSE; in t1394_stop_isoch_cec()
2451 cv_broadcast(&cec_curr->in_callbacks_cv); in t1394_stop_isoch_cec()
2458 CEC_SET_LEGAL(cec_curr, (ISOCH_CEC_START | ISOCH_CEC_TEARDOWN)); in t1394_stop_isoch_cec()
2459 CEC_SET_ILLEGAL(cec_curr, ISOCH_CEC_STOP); in t1394_stop_isoch_cec()
2462 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_stop_isoch_cec()
2493 s1394_isoch_cec_t *cec_curr; in t1394_teardown_isoch_cec() local
2509 cec_curr = (s1394_isoch_cec_t *)t1394_isoch_cec_hdl; in t1394_teardown_isoch_cec()
2512 mutex_enter(&cec_curr->isoch_cec_mutex); in t1394_teardown_isoch_cec()
2515 if (CEC_IN_ANY_CALLBACKS(cec_curr)) { in t1394_teardown_isoch_cec()
2517 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_teardown_isoch_cec()
2522 if (CEC_TRANSITION_LEGAL(cec_curr, ISOCH_CEC_TEARDOWN) == 0) { in t1394_teardown_isoch_cec()
2524 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_teardown_isoch_cec()
2529 if (cec_curr->cec_options & T1394_NO_IRM_ALLOC) { in t1394_teardown_isoch_cec()
2535 if ((cec_curr->realloc_valid == B_FALSE) || in t1394_teardown_isoch_cec()
2536 (cec_curr->realloc_failed == B_TRUE)) { in t1394_teardown_isoch_cec()
2549 cec_curr->bandwidth, cec_curr->realloc_speed); in t1394_teardown_isoch_cec()
2557 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_teardown_isoch_cec()
2563 mutex_enter(&cec_curr->isoch_cec_mutex); in t1394_teardown_isoch_cec()
2572 chnl_mask = (1 << ((63 - cec_curr->realloc_chnl_num) % 32)); in t1394_teardown_isoch_cec()
2575 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_teardown_isoch_cec()
2576 if (cec_curr->realloc_chnl_num < 32) { in t1394_teardown_isoch_cec()
2584 mutex_enter(&cec_curr->isoch_cec_mutex); in t1394_teardown_isoch_cec()
2588 cec_curr->realloc_valid = B_FALSE; in t1394_teardown_isoch_cec()
2589 cec_curr->realloc_chnl_num = 0; in t1394_teardown_isoch_cec()
2590 cec_curr->realloc_bandwidth = 0; in t1394_teardown_isoch_cec()
2593 cec_curr->in_callbacks = B_TRUE; in t1394_teardown_isoch_cec()
2596 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_teardown_isoch_cec()
2599 member_curr = cec_curr->cec_member_list_head; in t1394_teardown_isoch_cec()
2611 mutex_enter(&cec_curr->isoch_cec_mutex); in t1394_teardown_isoch_cec()
2614 cec_curr->in_callbacks = B_FALSE; in t1394_teardown_isoch_cec()
2615 if (cec_curr->cec_want_wakeup == B_TRUE) { in t1394_teardown_isoch_cec()
2616 cec_curr->cec_want_wakeup = B_FALSE; in t1394_teardown_isoch_cec()
2617 cv_broadcast(&cec_curr->in_callbacks_cv); in t1394_teardown_isoch_cec()
2624 CEC_SET_LEGAL(cec_curr, (ISOCH_CEC_JOIN | ISOCH_CEC_SETUP)); in t1394_teardown_isoch_cec()
2625 CEC_SET_ILLEGAL(cec_curr, (ISOCH_CEC_START | ISOCH_CEC_TEARDOWN)); in t1394_teardown_isoch_cec()
2628 if ((cec_curr->cec_member_list_head == NULL) && in t1394_teardown_isoch_cec()
2629 (cec_curr->cec_member_list_tail == NULL)) { in t1394_teardown_isoch_cec()
2630 CEC_SET_LEGAL(cec_curr, ISOCH_CEC_FREE); in t1394_teardown_isoch_cec()
2634 mutex_exit(&cec_curr->isoch_cec_mutex); in t1394_teardown_isoch_cec()