Lines Matching refs:ph_impl

89 	usba_ph_impl_t		*ph_impl = (usba_ph_impl_t *)pipe_handle;  in usba_get_dip()  local
92 if (ph_impl) { in usba_get_dip()
93 mutex_enter(&ph_impl->usba_ph_mutex); in usba_get_dip()
94 dip = ph_impl->usba_ph_dip; in usba_get_dip()
95 mutex_exit(&ph_impl->usba_ph_mutex); in usba_get_dip()
119 usba_ph_impl_t *ph_impl = (usba_ph_impl_t *)pipe_handle; in usba_get_ph_data() local
122 if (ph_impl) { in usba_get_ph_data()
123 mutex_enter(&ph_impl->usba_ph_mutex); in usba_get_ph_data()
124 ASSERT(ph_impl->usba_ph_ref_count >= 0); in usba_get_ph_data()
125 ph_data = ph_impl->usba_ph_data; in usba_get_ph_data()
126 mutex_exit(&ph_impl->usba_ph_mutex); in usba_get_ph_data()
157 usba_ph_impl_t *ph_impl = (usba_ph_impl_t *)pipe_handle; in usba_hold_ph_data() local
160 if (ph_impl) { in usba_hold_ph_data()
161 mutex_enter(&ph_impl->usba_ph_mutex); in usba_hold_ph_data()
163 switch (ph_impl->usba_ph_state) { in usba_hold_ph_data()
167 ph_data = ph_impl->usba_ph_data; in usba_hold_ph_data()
168 ph_impl->usba_ph_ref_count++; in usba_hold_ph_data()
178 (void *)ph_impl, ph_impl->usba_ph_state, in usba_hold_ph_data()
179 ph_impl->usba_ph_ref_count); in usba_hold_ph_data()
181 mutex_exit(&ph_impl->usba_ph_mutex); in usba_hold_ph_data()
189 usba_release_ph_data(usba_ph_impl_t *ph_impl) in usba_release_ph_data() argument
191 if (ph_impl) { in usba_release_ph_data()
192 mutex_enter(&ph_impl->usba_ph_mutex); in usba_release_ph_data()
197 (void *)ph_impl, ph_impl->usba_ph_state, in usba_release_ph_data()
198 ph_impl->usba_ph_ref_count); in usba_release_ph_data()
201 if (ph_impl->usba_ph_data) { in usba_release_ph_data()
204 ph_impl->usba_ph_data->p_req_count); in usba_release_ph_data()
205 ASSERT(ph_impl->usba_ph_data->p_req_count >= 0); in usba_release_ph_data()
208 ph_impl->usba_ph_ref_count--; in usba_release_ph_data()
209 ASSERT(ph_impl->usba_ph_ref_count >= 0); in usba_release_ph_data()
211 mutex_exit(&ph_impl->usba_ph_mutex); in usba_release_ph_data()
222 usba_ph_impl_t *ph_impl = ph_data->p_ph_impl; in usba_get_ph_state() local
226 mutex_enter(&ph_impl->usba_ph_mutex); in usba_get_ph_state()
227 pipe_state = ph_impl->usba_ph_state; in usba_get_ph_state()
228 mutex_exit(&ph_impl->usba_ph_mutex); in usba_get_ph_state()
240 usba_ph_impl_t *ph_impl = ph_data->p_ph_impl; in usba_get_ph_ref_count() local
243 mutex_enter(&ph_impl->usba_ph_mutex); in usba_get_ph_ref_count()
244 ref_count = ph_impl->usba_ph_ref_count; in usba_get_ph_ref_count()
245 mutex_exit(&ph_impl->usba_ph_mutex); in usba_get_ph_ref_count()
258 usba_ph_impl_t *ph_impl = ph_data->p_ph_impl; in usba_pipe_new_state() local
262 mutex_enter(&ph_impl->usba_ph_mutex); in usba_pipe_new_state()
264 ASSERT(ph_impl->usba_ph_ref_count >= 0); in usba_pipe_new_state()
269 (void *)ph_data, usb_str_pipe_state(ph_impl->usba_ph_state), in usba_pipe_new_state()
271 ph_impl->usba_ph_ref_count, ph_data->p_req_count); in usba_pipe_new_state()
273 switch (ph_impl->usba_ph_state) { in usba_pipe_new_state()
278 ph_impl->usba_ph_state = state; in usba_pipe_new_state()
284 mutex_exit(&ph_impl->usba_ph_mutex); in usba_pipe_new_state()
309 usba_ph_impl_t *ph_impl, in usba_pipe_setup_func_call() argument
317 usb_pipe_handle_t pipe_handle = (usb_pipe_handle_t)ph_impl; in usba_pipe_setup_func_call()
318 usba_pipe_handle_data_t *ph_data = ph_impl->usba_ph_data; in usba_pipe_setup_func_call()
324 (void *)ph_impl, (void *)sync_func); in usba_pipe_setup_func_call()
327 usba_release_ph_data(ph_impl); in usba_pipe_setup_func_call()
337 request->ph_impl = ph_impl; in usba_pipe_setup_func_call()
350 rval = sync_func(dip, ph_impl, request, usb_flags); in usba_pipe_setup_func_call()
358 (void *)ph_impl, (void *)sync_func); in usba_pipe_setup_func_call()
368 usba_release_ph_data(ph_impl); in usba_pipe_setup_func_call()
383 usba_ph_impl_t *ph_impl = request->ph_impl; in usba_pipe_do_async_func_thread() local
384 usb_pipe_handle_t pipe_handle = (usb_pipe_handle_t)ph_impl; in usba_pipe_do_async_func_thread()
388 if ((rval = request->sync_func(request->dip, ph_impl, in usba_pipe_do_async_func_thread()
436 usba_ph_impl_t *ph_impl) in usba_init_pipe_handle() argument
444 usba_pipe_handle_data_t *ph_data = ph_impl->usba_ph_data; in usba_init_pipe_handle()
536 ph_data->p_ph_impl = ph_impl; in usba_init_pipe_handle()
555 mutex_enter(&ph_impl->usba_ph_mutex); in usba_init_pipe_handle()
556 ph_impl->usba_ph_dip = dip; in usba_init_pipe_handle()
557 ph_impl->usba_ph_ep = ph_data->p_ep; in usba_init_pipe_handle()
558 ph_impl->usba_ph_policy = ph_data->p_policy = *pipe_policy; in usba_init_pipe_handle()
559 mutex_exit(&ph_impl->usba_ph_mutex); in usba_init_pipe_handle()
581 usba_ph_impl_t *ph_impl = ph_data->p_ph_impl; in usba_destroy_pipe_handle() local
589 mutex_enter(&ph_impl->usba_ph_mutex); in usba_destroy_pipe_handle()
593 if ((ph_impl->usba_ph_ref_count <= 1) && in usba_destroy_pipe_handle()
599 mutex_exit(&ph_impl->usba_ph_mutex); in usba_destroy_pipe_handle()
602 mutex_enter(&ph_impl->usba_ph_mutex); in usba_destroy_pipe_handle()
610 ph_impl->usba_ph_data = NULL; in usba_destroy_pipe_handle()
611 ph_impl->usba_ph_ref_count = 0; in usba_destroy_pipe_handle()
612 ph_impl->usba_ph_state = USB_PIPE_STATE_CLOSED; in usba_destroy_pipe_handle()
616 mutex_exit(&ph_impl->usba_ph_mutex); in usba_destroy_pipe_handle()
629 mutex_exit(&ph_impl->usba_ph_mutex); in usba_destroy_pipe_handle()
684 usba_ph_impl_t *ph_impl = ph_data->p_ph_impl; in usba_drain_cbs() local
690 mutex_enter(&ph_impl->usba_ph_mutex); in usba_drain_cbs()
693 (void *)ph_data, ph_impl->usba_ph_ref_count, ph_data->p_req_count, in usba_drain_cbs()
696 mutex_exit(&ph_impl->usba_ph_mutex); in usba_drain_cbs()
731 mutex_enter(&ph_impl->usba_ph_mutex); in usba_drain_cbs()
734 (void *)ph_data, ph_impl->usba_ph_ref_count, ph_data->p_req_count); in usba_drain_cbs()
735 mutex_exit(&ph_impl->usba_ph_mutex); in usba_drain_cbs()
794 usba_ph_impl_t *ph_impl; in usb_pipe_xopen() local
913 ph_impl = &usba_device->usb_ph_list[ep_index]; in usb_pipe_xopen()
916 mutex_enter(&ph_impl->usba_ph_mutex); in usb_pipe_xopen()
918 if (ph_impl->usba_ph_data) { in usb_pipe_xopen()
921 mutex_exit(&ph_impl->usba_ph_mutex); in usb_pipe_xopen()
928 ph_impl->usba_ph_data = ph_data; in usb_pipe_xopen()
930 mutex_exit(&ph_impl->usba_ph_mutex); in usb_pipe_xopen()
943 ep, ep_xdesc, pipe_policy, ph_impl)) != USB_SUCCESS) { in usb_pipe_xopen()
949 ph_data = ph_impl->usba_ph_data; in usb_pipe_xopen()
960 *pipe_handle = (usb_pipe_handle_t)ph_impl; in usb_pipe_xopen()
970 (void *)ph_impl, (void *)ph_data); in usb_pipe_xopen()
1045 usba_ph_impl_t *ph_impl = (usba_ph_impl_t *)pipe_handle; in usb_pipe_close() local
1070 mutex_enter(&ph_impl->usba_ph_mutex); in usb_pipe_close()
1071 ph_impl->usba_ph_flags &= ~USBA_PH_DATA_PERSISTENT; in usb_pipe_close()
1072 mutex_exit(&ph_impl->usba_ph_mutex); in usb_pipe_close()
1091 mutex_enter(&ph_impl->usba_ph_mutex); in usb_pipe_close()
1092 ph_impl->usba_ph_ref_count++; in usb_pipe_close()
1093 mutex_exit(&ph_impl->usba_ph_mutex); in usb_pipe_close()
1096 ph_impl, NULL, usb_flags, callback, callback_arg); in usb_pipe_close()
1109 usba_release_ph_data(ph_impl); in usb_pipe_close()
1126 ph_impl, NULL, usb_flags, callback, callback_arg); in usb_pipe_close()
1132 usba_pipe_sync_close(dev_info_t *dip, usba_ph_impl_t *ph_impl, in usba_pipe_sync_close() argument
1137 (usb_pipe_handle_t)ph_impl); in usba_pipe_sync_close()
1142 if (ph_impl == NULL) { in usba_pipe_sync_close()
1147 mutex_enter(&ph_impl->usba_ph_mutex); in usba_pipe_sync_close()
1150 (void *)dip, (void *)ph_data, ph_impl->usba_ph_state, in usba_pipe_sync_close()
1151 ph_impl->usba_ph_ref_count); in usba_pipe_sync_close()
1158 (ph_impl->usba_ph_state == USB_PIPE_STATE_CLOSING) || in usba_pipe_sync_close()
1159 (ph_impl->usba_ph_state == USB_PIPE_STATE_CLOSED)) { in usba_pipe_sync_close()
1161 mutex_exit(&ph_impl->usba_ph_mutex); in usba_pipe_sync_close()
1162 usba_release_ph_data(ph_impl); in usba_pipe_sync_close()
1164 while (usba_get_ph_data((usb_pipe_handle_t)ph_impl)) { in usba_pipe_sync_close()
1170 ph_impl->usba_ph_state = USB_PIPE_STATE_CLOSING; in usba_pipe_sync_close()
1171 mutex_exit(&ph_impl->usba_ph_mutex); in usba_pipe_sync_close()
1174 mutex_enter(&ph_impl->usba_ph_mutex); in usba_pipe_sync_close()
1191 (ph_impl->usba_ph_ref_count <= 1)) { in usba_pipe_sync_close()
1198 if (ph_impl->usba_ph_ref_count <= 1) { in usba_pipe_sync_close()
1202 (ph_impl->usba_ph_ref_count <= 1)) { in usba_pipe_sync_close()
1207 mutex_exit(&ph_impl->usba_ph_mutex); in usba_pipe_sync_close()
1211 mutex_enter(&ph_impl->usba_ph_mutex); in usba_pipe_sync_close()
1215 mutex_exit(&ph_impl->usba_ph_mutex); in usba_pipe_sync_close()
1223 (void *)ph_impl); in usba_pipe_sync_close()
1333 usba_ph_impl_t *ph_impl = (usba_ph_impl_t *)pipe_handle; in usb_pipe_reset() local
1353 usba_release_ph_data(ph_impl); in usb_pipe_reset()
1367 usba_release_ph_data(ph_impl); in usb_pipe_reset()
1389 usba_release_ph_data(ph_impl); in usb_pipe_reset()
1397 usba_pipe_sync_reset, ph_impl, NULL, usb_flags, callback, in usb_pipe_reset()
1405 usba_ph_impl_t *ph_impl, in usba_pipe_sync_reset() argument
1411 ph_impl); in usba_pipe_sync_reset()
1444 usba_release_ph_data(ph_impl); in usba_pipe_sync_reset()
1548 usba_ph_impl_t *ph_impl = (usba_ph_impl_t *)pipe_handle; in usb_pipe_drain_reqs() local
1560 usba_release_ph_data(ph_impl); in usb_pipe_drain_reqs()
1566 usba_release_ph_data(ph_impl); in usb_pipe_drain_reqs()
1572 ph_impl, (usb_opaque_t)((uintptr_t)time), usb_flags, cb, cb_arg); in usb_pipe_drain_reqs()
1595 usba_ph_impl_t *ph_impl, in usba_pipe_sync_drain_reqs() argument
1600 ph_impl); in usba_pipe_sync_drain_reqs()
1691 usba_release_ph_data(ph_impl); in usba_pipe_sync_drain_reqs()
1704 usba_ph_impl_t *ph_impl; in usba_persistent_pipe_open() local
1718 ph_impl = &usba_device->usb_ph_list[i]; in usba_persistent_pipe_open()
1719 mutex_enter(&ph_impl->usba_ph_mutex); in usba_persistent_pipe_open()
1720 if (ph_impl->usba_ph_flags & USBA_PH_DATA_PERSISTENT) { in usba_persistent_pipe_open()
1721 ph_impl->usba_ph_flags &= in usba_persistent_pipe_open()
1723 mutex_exit(&ph_impl->usba_ph_mutex); in usba_persistent_pipe_open()
1726 rval = usb_pipe_open(ph_impl->usba_ph_dip, in usba_persistent_pipe_open()
1727 &ph_impl->usba_ph_ep, in usba_persistent_pipe_open()
1728 &ph_impl->usba_ph_policy, in usba_persistent_pipe_open()
1737 mutex_enter(&ph_impl->usba_ph_mutex); in usba_persistent_pipe_open()
1739 mutex_exit(&ph_impl->usba_ph_mutex); in usba_persistent_pipe_open()
1755 usba_ph_impl_t *ph_impl; in usba_persistent_pipe_close() local
1768 ph_impl = &usba_device->usb_ph_list[i]; in usba_persistent_pipe_close()
1769 if (ph_impl->usba_ph_data != NULL) { in usba_persistent_pipe_close()
1770 mutex_enter(&ph_impl->usba_ph_mutex); in usba_persistent_pipe_close()
1771 ph_impl->usba_ph_flags |= in usba_persistent_pipe_close()
1773 mutex_exit(&ph_impl->usba_ph_mutex); in usba_persistent_pipe_close()
1776 pipe_handle = (usb_pipe_handle_t)ph_impl; in usba_persistent_pipe_close()
1778 usb_pipe_close(ph_impl->usba_ph_dip, in usba_persistent_pipe_close()
1783 ASSERT(ph_impl->usba_ph_data == NULL); in usba_persistent_pipe_close()