Lines Matching defs:usbvcp

357 	usbvc_state_t	*usbvcp;
362 if ((usbvcp = ddi_get_soft_state(usbvc_statep,
364 *result = usbvcp->usbvc_dip;
402 usbvc_state_t *usbvcp = NULL;
419 usbvcp = ddi_get_soft_state(usbvc_statep, instance);
421 if (usbvcp == NULL) {
426 usbvcp->usbvc_dip = dip;
428 usbvcp->usbvc_log_handle = usb_alloc_log_hdl(dip,
432 USB_DPRINTF_L3(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
437 USB_DPRINTF_L2(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
444 if ((status = usb_get_dev_data(dip, &usbvcp->usbvc_reg,
446 USB_DPRINTF_L2(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
452 usbvc_init_sync_objs(usbvcp);
457 USB_DPRINTF_L2(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
464 mutex_enter(&usbvcp->usbvc_mutex);
465 usbvc_init_lists(usbvcp);
467 usbvcp->usbvc_default_ph = usbvcp->usbvc_reg->dev_default_ph;
470 usbvcp->usbvc_dev_state = USB_DEV_ONLINE;
471 mutex_exit(&usbvcp->usbvc_mutex);
474 usbvc_init_power_mgmt(usbvcp);
476 if ((status = usbvc_parse_ctrl_if(usbvcp)) != USB_SUCCESS) {
477 USB_DPRINTF_L2(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
483 if ((status = usbvc_parse_stream_ifs(usbvcp)) != USB_SUCCESS) {
484 USB_DPRINTF_L2(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
490 (void) usbvc_set_default_stream_fmt(usbvcp);
495 USB_DPRINTF_L2(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
508 if (usbvcp) {
509 usbvc_cleanup(dip, usbvcp);
526 usbvc_state_t *usbvcp = ddi_get_soft_state(usbvc_statep, instance);
531 mutex_enter(&usbvcp->usbvc_mutex);
532 ASSERT((usbvcp->usbvc_drv_state & USBVC_OPEN) == 0);
533 mutex_exit(&usbvcp->usbvc_mutex);
535 USB_DPRINTF_L3(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
538 usbvc_cleanup(dip, usbvcp);
543 USB_DPRINTF_L3(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
564 usbvc_cleanup(dev_info_t *dip, usbvc_state_t *usbvcp)
566 USB_DPRINTF_L4(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
569 if (usbvcp->usbvc_locks_initialized) {
582 mutex_enter(&usbvcp->usbvc_mutex);
583 (void) usbvc_serialize_access(usbvcp, USBVC_SER_NOSIG);
584 usbvc_release_access(usbvcp);
585 mutex_exit(&usbvcp->usbvc_mutex);
588 usbvc_destroy_power_mgmt(usbvcp);
589 mutex_enter(&usbvcp->usbvc_mutex);
590 usbvc_fini_lists(usbvcp);
591 mutex_exit(&usbvcp->usbvc_mutex);
594 usbvc_fini_sync_objs(usbvcp);
597 usb_client_detach(dip, usbvcp->usbvc_reg);
598 usb_free_log_hdl(usbvcp->usbvc_log_handle);
608 usbvc_state_t *usbvcp =
611 if (usbvcp == NULL) {
620 mutex_enter(&usbvcp->usbvc_mutex);
621 USB_DPRINTF_L4(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
622 "usbvc_open: enter, dev_stat=%d", usbvcp->usbvc_dev_state);
624 if (usbvcp->usbvc_dev_state == USB_DEV_DISCONNECTED) {
625 mutex_exit(&usbvcp->usbvc_mutex);
629 if (usbvcp->usbvc_dev_state == USB_DEV_SUSPENDED) {
630 mutex_exit(&usbvcp->usbvc_mutex);
634 if ((usbvcp->usbvc_drv_state & USBVC_OPEN) != 0) {
635 mutex_exit(&usbvcp->usbvc_mutex);
639 usbvcp->usbvc_drv_state |= USBVC_OPEN;
641 if (usbvc_serialize_access(usbvcp, USBVC_SER_SIG) == 0) {
642 usbvcp->usbvc_drv_state &= ~USBVC_OPEN;
643 usbvcp->usbvc_serial_inuse = B_FALSE;
644 mutex_exit(&usbvcp->usbvc_mutex);
650 usbvc_pm_busy_component(usbvcp);
651 if (usbvcp->usbvc_pm->usbvc_current_power != USB_DEV_OS_FULL_PWR) {
652 usbvcp->usbvc_pm->usbvc_raise_power = B_TRUE;
653 mutex_exit(&usbvcp->usbvc_mutex);
654 (void) pm_raise_power(usbvcp->usbvc_dip,
656 mutex_enter(&usbvcp->usbvc_mutex);
657 usbvcp->usbvc_pm->usbvc_raise_power = B_FALSE;
661 usbvc_release_access(usbvcp);
662 mutex_exit(&usbvcp->usbvc_mutex);
664 USB_DPRINTF_L4(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
677 usbvc_state_t *usbvcp =
680 USB_DPRINTF_L4(PRINT_MASK_CLOSE, usbvcp->usbvc_log_handle,
683 mutex_enter(&usbvcp->usbvc_mutex);
684 (void) usbvc_serialize_access(usbvcp, USBVC_SER_NOSIG);
685 mutex_exit(&usbvcp->usbvc_mutex);
689 USB_DPRINTF_L3(PRINT_MASK_CLOSE, usbvcp->usbvc_log_handle,
697 (void) usb_pipe_drain_reqs(usbvcp->usbvc_dip,
698 usbvcp->usbvc_reg->dev_default_ph, 0,
701 mutex_enter(&usbvcp->usbvc_mutex);
702 strm_if = usbvcp->usbvc_curr_strm;
704 mutex_exit(&usbvcp->usbvc_mutex);
706 mutex_enter(&usbvcp->usbvc_mutex);
711 usbvc_close_isoc_pipe(usbvcp, strm_if);
713 mutex_exit(&usbvcp->usbvc_mutex);
716 (void) usb_set_alt_if(usbvcp->usbvc_dip, if_num, 0,
718 mutex_enter(&usbvcp->usbvc_mutex);
720 usbvc_free_read_bufs(usbvcp, strm_if);
725 usbvc_free_map_bufs(usbvcp, strm_if);
726 usbvcp->usbvc_drv_state &= ~USBVC_OPEN;
728 usbvc_release_access(usbvcp);
729 usbvc_pm_idle_component(usbvcp);
730 mutex_exit(&usbvcp->usbvc_mutex);
743 usbvc_state_t *usbvcp =
746 USB_DPRINTF_L4(PRINT_MASK_READ, usbvcp->usbvc_log_handle,
748 mutex_enter(&usbvcp->usbvc_mutex);
749 if (usbvcp->usbvc_dev_state != USB_DEV_ONLINE) {
750 USB_DPRINTF_L2(PRINT_MASK_READ, usbvcp->usbvc_log_handle,
752 " dev_stat=%d", usbvcp->usbvc_dev_state);
753 mutex_exit(&usbvcp->usbvc_mutex);
758 (usbvcp->usbvc_serial_inuse != B_FALSE)) {
759 USB_DPRINTF_L2(PRINT_MASK_READ, usbvcp->usbvc_log_handle,
761 mutex_exit(&usbvcp->usbvc_mutex);
765 if (usbvc_serialize_access(usbvcp, USBVC_SER_SIG) <= 0) {
766 USB_DPRINTF_L2(PRINT_MASK_READ, usbvcp->usbvc_log_handle,
774 strm_if = usbvcp->usbvc_curr_strm;
776 USB_DPRINTF_L2(PRINT_MASK_READ, usbvcp->usbvc_log_handle,
788 if (usbvc_open_isoc_pipe(usbvcp, strm_if) != USB_SUCCESS) {
790 usbvcp->usbvc_log_handle,
796 if (usbvc_alloc_read_bufs(usbvcp, strm_if) != USB_SUCCESS) {
798 usbvcp->usbvc_log_handle,
808 if (usbvc_start_isoc_polling(usbvcp, strm_if, NULL) !=
811 usbvcp->usbvc_log_handle,
821 USB_DPRINTF_L3(PRINT_MASK_READ, usbvcp->usbvc_log_handle,
826 usbvcp->usbvc_log_handle, "usbvc_read: fail, "
836 usbvcp->usbvc_log_handle,
838 if (cv_wait_sig(&usbvcp->usbvc_read_cv,
839 &usbvcp->usbvc_mutex) <= 0) {
845 if (usbvcp->usbvc_dev_state != USB_DEV_ONLINE) {
856 mutex_exit(&usbvcp->usbvc_mutex);
860 mutex_enter(&usbvcp->usbvc_mutex);
861 usbvc_release_access(usbvcp);
862 mutex_exit(&usbvcp->usbvc_mutex);
867 usbvc_release_access(usbvcp);
868 mutex_exit(&usbvcp->usbvc_mutex);
881 usbvc_state_t *usbvcp = ddi_get_soft_state(usbvc_statep,
884 USB_DPRINTF_L4(PRINT_MASK_READ, usbvcp->usbvc_log_handle,
898 mutex_enter(&usbvcp->usbvc_mutex);
901 if (usbvcp->usbvc_dev_state != USB_DEV_ONLINE) {
902 USB_DPRINTF_L2(PRINT_MASK_READ, usbvcp->usbvc_log_handle,
904 mutex_exit(&usbvcp->usbvc_mutex);
910 if (usbvc_read_buf(usbvcp, bp) != USB_SUCCESS) {
911 USB_DPRINTF_L2(PRINT_MASK_READ, usbvcp->usbvc_log_handle,
913 mutex_exit(&usbvcp->usbvc_mutex);
918 mutex_exit(&usbvcp->usbvc_mutex);
925 USB_DPRINTF_L2(PRINT_MASK_READ, usbvcp->usbvc_log_handle,
942 usbvc_state_t *usbvcp =
945 mutex_enter(&usbvcp->usbvc_mutex);
946 strm_if = usbvcp->usbvc_curr_strm;
948 USB_DPRINTF_L3(PRINT_MASK_READ, usbvcp->usbvc_log_handle,
954 mutex_exit(&usbvcp->usbvc_mutex);
967 usbvc_state_t *usbvcp =
970 if (usbvcp == NULL) {
974 USB_DPRINTF_L4(PRINT_MASK_IOCTL, usbvcp->usbvc_log_handle,
976 mutex_enter(&usbvcp->usbvc_mutex);
977 if (usbvcp->usbvc_dev_state != USB_DEV_ONLINE) {
978 USB_DPRINTF_L2(PRINT_MASK_IOCTL, usbvcp->usbvc_log_handle,
980 " dev_stat=%d", usbvcp->usbvc_dev_state);
981 mutex_exit(&usbvcp->usbvc_mutex);
985 if (usbvc_serialize_access(usbvcp, USBVC_SER_SIG) <= 0) {
986 usbvcp->usbvc_serial_inuse = B_FALSE;
987 mutex_exit(&usbvcp->usbvc_mutex);
988 USB_DPRINTF_L2(PRINT_MASK_IOCTL, usbvcp->usbvc_log_handle,
993 mutex_exit(&usbvcp->usbvc_mutex);
995 rv = usbvc_v4l2_ioctl(usbvcp, cmd, arg, mode);
997 mutex_enter(&usbvcp->usbvc_mutex);
998 usbvc_release_access(usbvcp);
999 mutex_exit(&usbvcp->usbvc_mutex);
1001 USB_DPRINTF_L4(PRINT_MASK_IOCTL, usbvcp->usbvc_log_handle,
1013 usbvc_state_t *usbvcp;
1019 usbvcp = ddi_get_soft_state(usbvc_statep, getminor(dev));
1020 if (usbvcp == NULL) {
1021 USB_DPRINTF_L2(PRINT_MASK_DEVMAP, usbvcp->usbvc_log_handle,
1022 "usbvc_devmap: usbvcp == NULL");
1027 USB_DPRINTF_L3(PRINT_MASK_DEVMAP, usbvcp->usbvc_log_handle,
1032 mutex_enter(&usbvcp->usbvc_mutex);
1033 (void) usbvc_serialize_access(usbvcp, USBVC_SER_NOSIG);
1034 strm_if = usbvcp->usbvc_curr_strm;
1036 USB_DPRINTF_L2(PRINT_MASK_DEVMAP, usbvcp->usbvc_log_handle,
1038 mutex_exit(&usbvcp->usbvc_mutex);
1050 USB_DPRINTF_L3(PRINT_MASK_DEVMAP, usbvcp->usbvc_log_handle,
1053 mutex_exit(&usbvcp->usbvc_mutex);
1063 USB_DPRINTF_L2(PRINT_MASK_DEVMAP, usbvcp->usbvc_log_handle,
1065 mutex_exit(&usbvcp->usbvc_mutex);
1069 mutex_exit(&usbvcp->usbvc_mutex);
1071 error = devmap_umem_setup(handle, usbvcp->usbvc_dip, NULL,
1073 mutex_enter(&usbvcp->usbvc_mutex);
1078 USB_DPRINTF_L3(PRINT_MASK_DEVMAP, usbvcp->usbvc_log_handle,
1082 (void) usbvc_release_access(usbvcp);
1083 mutex_exit(&usbvcp->usbvc_mutex);
1101 usbvc_state_t *usbvcp;
1105 usbvcp = ddi_get_soft_state(usbvc_statep, ddi_get_instance(dip));
1106 mutex_enter(&usbvcp->usbvc_mutex);
1107 USB_DPRINTF_L4(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1109 level, usbvcp->usbvc_dev_state);
1111 if (usbvcp->usbvc_pm == NULL) {
1116 pm = usbvcp->usbvc_pm;
1120 USB_DPRINTF_L2(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
1135 rval = usbvc_pwrlvl0(usbvcp);
1139 rval = usbvc_pwrlvl1(usbvcp);
1143 rval = usbvc_pwrlvl2(usbvcp);
1147 rval = usbvc_pwrlvl3(usbvcp);
1153 mutex_exit(&usbvcp->usbvc_mutex);
1165 usbvc_init_power_mgmt(usbvc_state_t *usbvcp)
1170 USB_DPRINTF_L4(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1175 mutex_enter(&usbvcp->usbvc_mutex);
1176 usbvcp->usbvc_pm = usbvcpm;
1177 usbvcpm->usbvc_state = usbvcp;
1180 mutex_exit(&usbvcp->usbvc_mutex);
1182 if (usb_create_pm_components(usbvcp->usbvc_dip, &pwr_states) ==
1184 USB_DPRINTF_L2(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1187 if (usb_handle_remote_wakeup(usbvcp->usbvc_dip,
1192 usbvcp->usbvc_log_handle, "usbvc_init_power_mgmt:"
1196 mutex_enter(&usbvcp->usbvc_mutex);
1198 usbvc_pm_busy_component(usbvcp);
1200 mutex_exit(&usbvcp->usbvc_mutex);
1203 usbvcp->usbvc_dip, 0, USB_DEV_OS_FULL_PWR);
1205 mutex_enter(&usbvcp->usbvc_mutex);
1207 usbvc_pm_idle_component(usbvcp);
1208 mutex_exit(&usbvcp->usbvc_mutex);
1211 USB_DPRINTF_L4(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1221 usbvc_destroy_power_mgmt(usbvc_state_t *usbvcp)
1226 USB_DPRINTF_L4(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1228 mutex_enter(&usbvcp->usbvc_mutex);
1229 pm = usbvcp->usbvc_pm;
1230 if (pm && (usbvcp->usbvc_dev_state != USB_DEV_DISCONNECTED)) {
1232 usbvc_pm_busy_component(usbvcp);
1235 mutex_exit(&usbvcp->usbvc_mutex);
1238 (void) pm_raise_power(usbvcp->usbvc_dip, 0,
1241 usbvcp->usbvc_dip,
1245 usbvcp->usbvc_log_handle,
1250 mutex_enter(&usbvcp->usbvc_mutex);
1254 mutex_exit(&usbvcp->usbvc_mutex);
1261 (void) pm_lower_power(usbvcp->usbvc_dip, 0, USB_DEV_OS_PWR_OFF);
1262 mutex_enter(&usbvcp->usbvc_mutex);
1263 usbvc_pm_idle_component(usbvcp);
1268 usbvcp->usbvc_pm = NULL;
1270 mutex_exit(&usbvcp->usbvc_mutex);
1275 usbvc_pm_busy_component(usbvc_state_t *usbvcp)
1277 ASSERT(mutex_owned(&usbvcp->usbvc_mutex));
1278 USB_DPRINTF_L4(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1281 usbvcp->usbvc_pm->usbvc_pm_busy++;
1282 mutex_exit(&usbvcp->usbvc_mutex);
1284 if (pm_busy_component(usbvcp->usbvc_dip, 0) !=
1286 mutex_enter(&usbvcp->usbvc_mutex);
1287 USB_DPRINTF_L2(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1289 usbvcp->usbvc_pm->usbvc_pm_busy);
1291 usbvcp->usbvc_pm->usbvc_pm_busy--;
1292 mutex_exit(&usbvcp->usbvc_mutex);
1294 mutex_enter(&usbvcp->usbvc_mutex);
1295 USB_DPRINTF_L4(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1301 usbvc_pm_idle_component(usbvc_state_t *usbvcp)
1303 ASSERT(mutex_owned(&usbvcp->usbvc_mutex));
1304 USB_DPRINTF_L4(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1307 if (usbvcp->usbvc_pm != NULL) {
1308 mutex_exit(&usbvcp->usbvc_mutex);
1309 if (pm_idle_component(usbvcp->usbvc_dip, 0) ==
1311 mutex_enter(&usbvcp->usbvc_mutex);
1312 ASSERT(usbvcp->usbvc_pm->usbvc_pm_busy > 0);
1313 usbvcp->usbvc_pm->usbvc_pm_busy--;
1314 mutex_exit(&usbvcp->usbvc_mutex);
1316 mutex_enter(&usbvcp->usbvc_mutex);
1317 USB_DPRINTF_L2(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1319 usbvcp->usbvc_pm->usbvc_pm_busy);
1329 usbvc_pwrlvl0(usbvc_state_t *usbvcp)
1333 USB_DPRINTF_L4(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1334 "usbvc_pwrlvl0, dev_state: %x", usbvcp->usbvc_dev_state);
1336 switch (usbvcp->usbvc_dev_state) {
1339 if (usbvcp->usbvc_pm->usbvc_pm_busy != 0) {
1340 USB_DPRINTF_L2(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1347 rval = usb_set_device_pwrlvl3(usbvcp->usbvc_dip);
1350 usbvcp->usbvc_dev_state = USB_DEV_PWRED_DOWN;
1351 usbvcp->usbvc_pm->usbvc_current_power = USB_DEV_OS_PWR_OFF;
1361 USB_DPRINTF_L2(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1374 usbvc_pwrlvl1(usbvc_state_t *usbvcp)
1378 USB_DPRINTF_L4(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1382 rval = usb_set_device_pwrlvl2(usbvcp->usbvc_dip);
1394 usbvc_pwrlvl2(usbvc_state_t *usbvcp)
1398 USB_DPRINTF_L4(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1402 rval = usb_set_device_pwrlvl1(usbvcp->usbvc_dip);
1414 usbvc_pwrlvl3(usbvc_state_t *usbvcp)
1416 USB_DPRINTF_L4(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1417 "usbvc_pwrlvl3, dev_stat=%d", usbvcp->usbvc_dev_state);
1419 switch (usbvcp->usbvc_dev_state) {
1422 (void) usb_set_device_pwrlvl0(usbvcp->usbvc_dip);
1424 usbvcp->usbvc_dev_state = USB_DEV_ONLINE;
1425 usbvcp->usbvc_pm->usbvc_current_power =
1442 USB_DPRINTF_L2(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1460 usbvc_state_t *usbvcp = ddi_get_soft_state(usbvc_statep, instance);
1462 USB_DPRINTF_L4(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1465 mutex_enter(&usbvcp->usbvc_mutex);
1471 usbvcp->usbvc_dev_state = USB_DEV_SUSPENDED;
1473 mutex_exit(&usbvcp->usbvc_mutex);
1475 USB_DPRINTF_L4(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
1486 usbvc_resume_operation(usbvc_state_t *usbvcp)
1491 USB_DPRINTF_L4(PRINT_MASK_IOCTL, usbvcp->usbvc_log_handle,
1494 mutex_enter(&usbvcp->usbvc_mutex);
1495 strm_if = usbvcp->usbvc_curr_strm;
1497 mutex_exit(&usbvcp->usbvc_mutex);
1509 mutex_exit(&usbvcp->usbvc_mutex);
1516 mutex_exit(&usbvcp->usbvc_mutex);
1522 mutex_exit(&usbvcp->usbvc_mutex);
1525 if ((rv = usbvc_vs_set_probe_commit(usbvcp, strm_if,
1528 usbvcp->usbvc_log_handle,
1534 mutex_enter(&usbvcp->usbvc_mutex);
1537 if ((rv = usbvc_set_alt(usbvcp, strm_if)) != USB_SUCCESS) {
1539 usbvcp->usbvc_log_handle,
1541 mutex_exit(&usbvcp->usbvc_mutex);
1550 if (usbvc_start_isoc_polling(usbvcp, strm_if, V4L2_MEMORY_MMAP)
1553 mutex_exit(&usbvcp->usbvc_mutex);
1560 mutex_exit(&usbvcp->usbvc_mutex);
1574 usbvc_state_t *usbvcp = ddi_get_soft_state(usbvc_statep, instance);
1576 USB_DPRINTF_L4(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
1583 mutex_enter(&usbvcp->usbvc_mutex);
1584 usbvc_restore_device_state(dip, usbvcp);
1585 mutex_exit(&usbvcp->usbvc_mutex);
1601 usbvc_restore_device_state(dev_info_t *dip, usbvc_state_t *usbvcp)
1603 USB_DPRINTF_L4(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1606 ASSERT(mutex_owned(&usbvcp->usbvc_mutex));
1608 ASSERT((usbvcp->usbvc_dev_state == USB_DEV_DISCONNECTED) ||
1609 (usbvcp->usbvc_dev_state == USB_DEV_SUSPENDED));
1611 usbvc_pm_busy_component(usbvcp);
1612 usbvcp->usbvc_pm->usbvc_raise_power = B_TRUE;
1613 mutex_exit(&usbvcp->usbvc_mutex);
1617 if (usb_check_same_device(dip, usbvcp->usbvc_log_handle,
1624 mutex_enter(&usbvcp->usbvc_mutex);
1625 usbvcp->usbvc_pm->usbvc_raise_power = B_FALSE;
1626 usbvcp->usbvc_dev_state = USB_DEV_ONLINE;
1627 mutex_exit(&usbvcp->usbvc_mutex);
1629 if (usbvcp->usbvc_pm->usbvc_wakeup_enabled) {
1635 usbvcp->usbvc_log_handle,
1641 if (usbvc_resume_operation(usbvcp) != USB_SUCCESS) {
1642 USB_DPRINTF_L2(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1648 mutex_enter(&usbvcp->usbvc_mutex);
1650 usbvc_pm_idle_component(usbvcp);
1652 USB_DPRINTF_L4(PRINT_MASK_PM, usbvcp->usbvc_log_handle,
1659 mutex_enter(&usbvcp->usbvc_mutex);
1660 usbvcp->usbvc_dev_state = USB_DEV_DISCONNECTED;
1661 usbvc_pm_idle_component(usbvcp);
1677 usbvc_state_t *usbvcp = ddi_get_soft_state(usbvc_statep, instance);
1679 USB_DPRINTF_L4(PRINT_MASK_HOTPLUG, usbvcp->usbvc_log_handle,
1682 mutex_enter(&usbvcp->usbvc_mutex);
1687 usbvcp->usbvc_dev_state = USB_DEV_DISCONNECTED;
1694 if (usbvcp->usbvc_io_type == V4L2_MEMORY_MMAP) {
1695 cv_broadcast(&usbvcp->usbvc_mapio_cv);
1697 cv_broadcast(&usbvcp->usbvc_read_cv);
1700 (void) usbvc_serialize_access(usbvcp, USBVC_SER_SIG);
1701 usbvc_release_access(usbvcp);
1702 mutex_exit(&usbvcp->usbvc_mutex);
1717 usbvc_state_t *usbvcp = ddi_get_soft_state(usbvc_statep, instance);
1719 USB_DPRINTF_L4(PRINT_MASK_HOTPLUG, usbvcp->usbvc_log_handle,
1722 mutex_enter(&usbvcp->usbvc_mutex);
1723 (void) usbvc_serialize_access(usbvcp, USBVC_SER_SIG);
1724 usbvc_restore_device_state(dip, usbvcp);
1725 usbvc_release_access(usbvcp);
1726 mutex_exit(&usbvcp->usbvc_mutex);
1737 usbvc_init_sync_objs(usbvc_state_t *usbvcp)
1739 mutex_init(&usbvcp->usbvc_mutex, NULL, MUTEX_DRIVER,
1740 usbvcp->usbvc_reg->dev_iblock_cookie);
1742 cv_init(&usbvcp->usbvc_serial_cv, NULL, CV_DRIVER, NULL);
1743 cv_init(&usbvcp->usbvc_read_cv, NULL, CV_DRIVER, NULL);
1744 cv_init(&usbvcp->usbvc_mapio_cv, NULL, CV_DRIVER, NULL);
1746 usbvcp->usbvc_serial_inuse = B_FALSE;
1748 usbvcp->usbvc_locks_initialized = B_TRUE;
1753 usbvc_fini_sync_objs(usbvc_state_t *usbvcp)
1755 cv_destroy(&usbvcp->usbvc_serial_cv);
1756 cv_destroy(&usbvcp->usbvc_read_cv);
1757 cv_destroy(&usbvcp->usbvc_mapio_cv);
1759 mutex_destroy(&usbvcp->usbvc_mutex);
1764 usbvc_init_lists(usbvc_state_t *usbvcp)
1767 list_create(&(usbvcp->usbvc_term_list), sizeof (usbvc_terms_t),
1771 list_create(&(usbvcp->usbvc_unit_list), sizeof (usbvc_units_t),
1775 list_create(&(usbvcp->usbvc_stream_list), sizeof (usbvc_stream_if_t),
1786 usbvc_fini_lists(usbvc_state_t *usbvcp)
1788 USB_DPRINTF_L4(PRINT_MASK_CLOSE, usbvcp->usbvc_log_handle,
1791 usbvc_free_ctrl_descr(usbvcp);
1794 usbvc_free_stream_descr(usbvcp);
1796 USB_DPRINTF_L4(PRINT_MASK_CLOSE, usbvcp->usbvc_log_handle,
1806 usbvc_free_ctrl_descr(usbvc_state_t *usbvcp)
1811 USB_DPRINTF_L4(PRINT_MASK_CLOSE, usbvcp->usbvc_log_handle,
1814 if (usbvcp->usbvc_vc_header) {
1815 kmem_free(usbvcp->usbvc_vc_header, sizeof (usbvc_vc_header_t));
1819 while (!list_is_empty(&usbvcp->usbvc_term_list)) {
1820 term = list_head(&usbvcp->usbvc_term_list);
1822 list_remove(&(usbvcp->usbvc_term_list), term);
1828 while (!list_is_empty(&usbvcp->usbvc_unit_list)) {
1829 unit = list_head(&usbvcp->usbvc_unit_list);
1831 list_remove(&(usbvcp->usbvc_unit_list), unit);
1843 usbvc_free_stream_descr(usbvc_state_t *usbvcp)
1850 while (!list_is_empty(&usbvcp->usbvc_stream_list)) {
1851 USB_DPRINTF_L3(PRINT_MASK_CLOSE, usbvcp->usbvc_log_handle,
1854 strm = list_head(&usbvcp->usbvc_stream_list);
1858 list_remove(&(usbvcp->usbvc_stream_list), strm);
1875 usbvcp->usbvc_log_handle, "usbvc_fini_lists:"
1904 usbvcp->usbvc_log_handle,
1917 usbvcp->usbvc_log_handle, "usbvc_fini_lists:"
1974 usbvc_parse_ctrl_if(usbvc_state_t *usbvcp)
1984 if_num = usbvcp->usbvc_reg->dev_curr_if;
1985 if_alt_data = usbvcp->usbvc_reg->dev_curr_cfg->cfg_if[if_num].if_alt;
1991 USB_DPRINTF_L3(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2015 if (usbvcp->usbvc_vc_header) {
2029 usbvcp->usbvc_vc_header =
2032 usbvcp->usbvc_vc_header->descr =
2035 LE_TO_UINT16(usbvcp->usbvc_vc_header->descr->bcdUVC,
2038 usbvcp->usbvc_log_handle, "usbvc_parse_ctrl_if:"
2040 if (usbvcp->usbvc_vc_header->descr->bInCollection ==
2043 usbvcp->usbvc_log_handle,
2050 usbvcp->usbvc_vc_header->baInterfaceNr = &cvs_buf[12];
2070 usbvcp->usbvc_log_handle, "usbvc_parse_ctrl_if: "
2083 list_insert_tail(&(usbvcp->usbvc_term_list), term);
2100 usbvcp->usbvc_log_handle, "usbvc_parse_ctrl_if:"
2105 list_insert_tail(&(usbvcp->usbvc_term_list), term);
2133 usbvcp->usbvc_log_handle, "usbvc_parse_ctrl_if: "
2148 list_insert_tail(&(usbvcp->usbvc_unit_list), unit);
2173 usbvcp->usbvc_log_handle, "usbvc_parse_ctrl_if: "
2180 list_insert_tail(&(usbvcp->usbvc_unit_list), unit);
2218 usbvcp->usbvc_log_handle, "usbvc_parse_ctrl_if: "
2230 list_insert_tail(&(usbvcp->usbvc_unit_list), unit);
2244 if (!usbvcp->usbvc_vc_header) {
2245 USB_DPRINTF_L2(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2257 usbvc_parse_stream_if(usbvc_state_t *usbvcp, int if_num)
2267 strm_if->if_descr = &usbvcp->usbvc_reg->dev_curr_cfg->cfg_if[if_num];
2269 if (usbvc_parse_stream_header(usbvcp, strm_if) != USB_SUCCESS) {
2270 USB_DPRINTF_L2(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2276 if (usbvc_parse_format_groups(usbvcp, strm_if) != USB_SUCCESS) {
2277 USB_DPRINTF_L2(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2319 USB_DPRINTF_L4(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2334 usbvc_parse_stream_ifs(usbvc_state_t *usbvcp)
2339 if_cnt = usbvcp->usbvc_vc_header->descr->bInCollection;
2341 ASSERT(list_is_empty(&usbvcp->usbvc_stream_list));
2342 USB_DPRINTF_L2(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2348 if_num = usbvcp->usbvc_vc_header->baInterfaceNr[i];
2349 strm_if = usbvc_parse_stream_if(usbvcp, if_num);
2352 usbvcp->usbvc_log_handle, "usbvc_parse_stream_ifs:"
2367 list_insert_tail(&(usbvcp->usbvc_stream_list), strm_if);
2371 usbvcp->usbvc_curr_strm =
2372 (usbvc_stream_if_t *)list_head(&usbvcp->usbvc_stream_list);
2383 usbvc_parse_color_still(usbvc_state_t *usbvcp, usbvc_format_group_t *fmtgrp,
2457 USB_DPRINTF_L4(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2468 usbvc_parse_frames(usbvc_state_t *usbvcp, usbvc_format_group_t *fmtgrp,
2479 USB_DPRINTF_L4(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2501 USB_DPRINTF_L3(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2505 usbvcp->usbvc_log_handle,
2549 USB_DPRINTF_L4(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2557 usbvc_parse_format_group(usbvc_state_t *usbvcp, usbvc_format_group_t *fmtgrp,
2563 USB_DPRINTF_L4(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2569 usbvc_parse_color_still(usbvcp, fmtgrp, cvs_data, cvs_num,
2571 usbvc_parse_frames(usbvcp, fmtgrp, cvs_data, cvs_num,
2579 usbvc_parse_color_still(usbvcp, fmtgrp, cvs_data, cvs_num,
2581 usbvc_parse_frames(usbvcp, fmtgrp, cvs_data, cvs_num,
2591 USB_DPRINTF_L2(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2596 USB_DPRINTF_L2(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2608 usbvc_parse_format_groups(usbvc_state_t *usbvcp, usbvc_stream_if_t *strm_if)
2632 USB_DPRINTF_L3(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2659 (void) usbvc_parse_format_group(usbvcp,
2673 USB_DPRINTF_L3(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2685 USB_DPRINTF_L2(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2691 USB_DPRINTF_L3(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2703 usbvc_parse_stream_header(usbvc_state_t *usbvcp, usbvc_stream_if_t *strm_if)
2716 USB_DPRINTF_L3(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2770 USB_DPRINTF_L2(PRINT_MASK_ATTA, usbvcp->usbvc_log_handle,
2780 usbvc_alloc_read_bufs(usbvc_state_t *usbvcp, usbvc_stream_if_t *strm_if)
2787 ASSERT(mutex_owned(&usbvcp->usbvc_mutex));
2795 mutex_exit(&usbvcp->usbvc_mutex);
2799 mutex_enter(&usbvcp->usbvc_mutex);
2805 USB_DPRINTF_L4(PRINT_MASK_READ, usbvcp->usbvc_log_handle,
2814 usbvc_read_buf(usbvc_state_t *usbvcp, struct buf *bp)
2820 ASSERT(mutex_owned(&usbvcp->usbvc_mutex));
2822 if (list_is_empty(&usbvcp->usbvc_curr_strm->buf_read.uv_buf_done)) {
2823 USB_DPRINTF_L2(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
2830 buf = list_head(&usbvcp->usbvc_curr_strm->buf_read.uv_buf_done);
2832 USB_DPRINTF_L2(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
2854 list_remove(&usbvcp->usbvc_curr_strm->buf_read.uv_buf_done,
2856 list_insert_tail(&usbvcp->usbvc_curr_strm->buf_read.uv_buf_free,
2879 usbvc_free_read_bufs(usbvc_state_t *usbvcp, usbvc_stream_if_t *strm_if)
2883 ASSERT(mutex_owned(&usbvcp->usbvc_mutex));
2908 USB_DPRINTF_L4(PRINT_MASK_CLOSE, usbvcp->usbvc_log_handle,
2918 usbvc_alloc_map_bufs(usbvc_state_t *usbvcp, usbvc_stream_if_t *strm_if,
2924 ASSERT(mutex_owned(&usbvcp->usbvc_mutex));
2925 USB_DPRINTF_L4(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
2928 USB_DPRINTF_L2(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
2933 mutex_exit(&usbvcp->usbvc_mutex);
2938 mutex_enter(&usbvcp->usbvc_mutex);
2942 mutex_exit(&usbvcp->usbvc_mutex);
2945 mutex_enter(&usbvcp->usbvc_mutex);
2963 USB_DPRINTF_L4(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
2976 usbvc_free_map_bufs(usbvc_state_t *usbvcp, usbvc_stream_if_t *strm_if)
2980 ASSERT(mutex_owned(&usbvcp->usbvc_mutex));
2996 USB_DPRINTF_L2(PRINT_MASK_CLOSE, usbvcp->usbvc_log_handle,
3008 USB_DPRINTF_L4(PRINT_MASK_CLOSE, usbvcp->usbvc_log_handle,
3017 usbvc_open_isoc_pipe(usbvc_state_t *usbvcp, usbvc_stream_if_t *strm_if)
3022 ASSERT(mutex_owned(&usbvcp->usbvc_mutex));
3024 if ((rval = usbvc_set_alt(usbvcp, strm_if)) != USB_SUCCESS) {
3030 mutex_exit(&usbvcp->usbvc_mutex);
3031 if ((rval = usb_pipe_open(usbvcp->usbvc_dip, strm_if->curr_ep, &policy,
3033 USB_DPRINTF_L2(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
3035 mutex_enter(&usbvcp->usbvc_mutex);
3039 mutex_enter(&usbvcp->usbvc_mutex);
3044 USB_DPRINTF_L4(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
3056 usbvc_close_isoc_pipe(usbvc_state_t *usbvcp, usbvc_stream_if_t *strm_if)
3058 ASSERT(mutex_owned(&usbvcp->usbvc_mutex));
3060 USB_DPRINTF_L2(PRINT_MASK_CLOSE, usbvcp->usbvc_log_handle,
3066 mutex_exit(&usbvcp->usbvc_mutex);
3067 usb_pipe_close(usbvcp->usbvc_dip, strm_if->datain_ph,
3069 mutex_enter(&usbvcp->usbvc_mutex);
3080 usbvc_start_isoc_polling(usbvc_state_t *usbvcp, usbvc_stream_if_t *strm_if,
3090 ASSERT(mutex_owned(&usbvcp->usbvc_mutex));
3096 USB_DPRINTF_L3(PRINT_MASK_IOCTL, usbvcp->usbvc_log_handle,
3107 USB_DPRINTF_L3(PRINT_MASK_IOCTL, usbvcp->usbvc_log_handle,
3110 mutex_exit(&usbvcp->usbvc_mutex);
3111 if ((req = usb_alloc_isoc_req(usbvcp->usbvc_dip, n_pkt,
3113 mutex_enter(&usbvcp->usbvc_mutex);
3132 usbvcp->usbvc_io_type = io_type;
3133 req->isoc_client_private = (usb_opaque_t)usbvcp;
3134 mutex_exit(&usbvcp->usbvc_mutex);
3136 mutex_enter(&usbvcp->usbvc_mutex);
3138 mutex_enter(&usbvcp->usbvc_mutex);
3139 USB_DPRINTF_L2(PRINT_MASK_IOCTL, usbvcp->usbvc_log_handle,
3151 USB_DPRINTF_L4(PRINT_MASK_IOCTL, usbvcp->usbvc_log_handle,
3164 usbvc_state_t *usbvcp =
3170 mutex_enter(&usbvcp->usbvc_mutex);
3172 USB_DPRINTF_L3(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3182 USB_DPRINTF_L3(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3193 usbvcp->usbvc_log_handle,
3198 if (usbvcp->usbvc_io_type == V4L2_MEMORY_MMAP) {
3199 bufgrp = &usbvcp->usbvc_curr_strm->buf_map;
3201 bufgrp = &usbvcp->usbvc_curr_strm->buf_read;
3205 if (usbvc_decode_stream_header(usbvcp, bufgrp, data,
3209 usbvcp->usbvc_log_handle, "decode error");
3221 if (usbvcp->usbvc_io_type == V4L2_MEMORY_MMAP) {
3222 cv_broadcast(&usbvcp->usbvc_mapio_cv);
3224 cv_broadcast(&usbvcp->usbvc_read_cv);
3231 mutex_exit(&usbvcp->usbvc_mutex);
3240 usbvc_state_t *usbvcp =
3246 ASSERT(!list_is_empty(&usbvcp->usbvc_stream_list));
3248 mutex_enter(&usbvcp->usbvc_mutex);
3251 strm_if = usbvcp->usbvc_curr_strm;
3255 USB_DPRINTF_L3(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3274 USB_DPRINTF_L2(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3276 mutex_exit(&usbvcp->usbvc_mutex);
3280 mutex_exit(&usbvcp->usbvc_mutex);
3282 USB_DPRINTF_L2(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3284 mutex_enter(&usbvcp->usbvc_mutex);
3288 USB_DPRINTF_L3(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3291 mutex_exit(&usbvcp->usbvc_mutex);
3305 usbvc_set_alt(usbvc_state_t *usbvcp, usbvc_stream_if_t *strm_if)
3315 ASSERT(mutex_owned(&usbvcp->usbvc_mutex));
3319 USB_DPRINTF_L2(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
3324 USB_DPRINTF_L3(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
3365 USB_DPRINTF_L2(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
3371 USB_DPRINTF_L3(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
3374 mutex_exit(&usbvcp->usbvc_mutex);
3375 if ((rval = usb_set_alt_if(usbvcp->usbvc_dip, if_num, strm_if->curr_alt,
3377 mutex_enter(&usbvcp->usbvc_mutex);
3378 USB_DPRINTF_L2(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
3384 mutex_enter(&usbvcp->usbvc_mutex);
3386 USB_DPRINTF_L4(PRINT_MASK_OPEN, usbvcp->usbvc_log_handle,
3400 usbvc_decode_stream_header(usbvc_state_t *usbvcp, usbvc_buf_grp_t *bufgrp,
3408 ASSERT(mutex_owned(&usbvcp->usbvc_mutex));
3409 USB_DPRINTF_L4(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3414 USB_DPRINTF_L2(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3422 USB_DPRINTF_L3(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3427 USB_DPRINTF_L2(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3438 USB_DPRINTF_L2(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3445 strm_if = usbvcp->usbvc_curr_strm;
3448 USB_DPRINTF_L3(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3459 USB_DPRINTF_L2(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3472 USB_DPRINTF_L3(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3487 USB_DPRINTF_L3(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3495 USB_DPRINTF_L3(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3503 USB_DPRINTF_L3(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3515 USB_DPRINTF_L2(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3525 USB_DPRINTF_L2(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3547 USB_DPRINTF_L4(PRINT_MASK_CB, usbvcp->usbvc_log_handle,
3559 * usbvcp - Pointer to usbvc state structure
3565 usbvc_serialize_access(usbvc_state_t *usbvcp, boolean_t waitsig)
3569 ASSERT(mutex_owned(&usbvcp->usbvc_mutex));
3571 while (usbvcp->usbvc_serial_inuse) {
3573 rval = cv_wait_sig(&usbvcp->usbvc_serial_cv,
3574 &usbvcp->usbvc_mutex);
3576 cv_wait(&usbvcp->usbvc_serial_cv,
3577 &usbvcp->usbvc_mutex);
3580 usbvcp->usbvc_serial_inuse = B_TRUE;
3591 usbvc_release_access(usbvc_state_t *usbvcp)
3593 ASSERT(mutex_owned(&usbvcp->usbvc_mutex));
3594 usbvcp->usbvc_serial_inuse = B_FALSE;
3595 cv_broadcast(&usbvcp->usbvc_serial_cv);
3601 usbvc_vc_get_ctrl(usbvc_state_t *usbvcp, uint8_t req_code, uint8_t entity_id,
3615 if (usb_pipe_ctrl_xfer_wait(usbvcp->usbvc_default_ph, &setup, &data,
3617 USB_DPRINTF_L2(PRINT_MASK_DEVCTRL, usbvcp->usbvc_log_handle,
3630 usbvc_vc_set_ctrl(usbvc_state_t *usbvcp, uint8_t req_code, uint8_t entity_id,
3644 if (usb_pipe_ctrl_xfer_wait(usbvcp->usbvc_default_ph, &setup, &data,
3646 USB_DPRINTF_L2(PRINT_MASK_DEVCTRL, usbvcp->usbvc_log_handle,
3659 usbvc_vs_set_probe_commit(usbvc_state_t *usbvcp, usbvc_stream_if_t *strm_if,
3678 setup.wLength = usbvcp->usbvc_vc_header->descr->bcdUVC[0] ? 34 : 26;
3681 USB_DPRINTF_L3(PRINT_MASK_DEVCTRL, usbvcp->usbvc_log_handle,
3686 USB_DPRINTF_L2(PRINT_MASK_DEVCTRL, usbvcp->usbvc_log_handle,
3695 if ((rval = usb_pipe_ctrl_xfer_wait(usbvcp->usbvc_default_ph, &setup,
3700 USB_DPRINTF_L2(PRINT_MASK_DEVCTRL, usbvcp->usbvc_log_handle,
3716 usbvc_vs_get_probe(usbvc_state_t *usbvcp, usbvc_stream_if_t *strm_if,
3730 setup.wLength = usbvcp->usbvc_vc_header->descr->bcdUVC[0] ? 34 : 26;
3734 if (usb_pipe_ctrl_xfer_wait(usbvcp->usbvc_default_ph, &setup, &data,
3739 USB_DPRINTF_L2(PRINT_MASK_DEVCTRL, usbvcp->usbvc_log_handle,
3756 usbvc_set_default_stream_fmt(usbvc_state_t *usbvcp)
3764 USB_DPRINTF_L4(PRINT_MASK_DEVCTRL, usbvcp->usbvc_log_handle,
3767 mutex_enter(&usbvcp->usbvc_mutex);
3768 if (list_is_empty(&usbvcp->usbvc_stream_list)) {
3769 USB_DPRINTF_L2(PRINT_MASK_DEVCTRL, usbvcp->usbvc_log_handle,
3771 mutex_exit(&usbvcp->usbvc_mutex);
3778 strm_if = usbvcp->usbvc_curr_strm;
3793 usbvcp->usbvc_log_handle,
3803 USB_DPRINTF_L2(PRINT_MASK_DEVCTRL, usbvcp->usbvc_log_handle,
3806 mutex_exit(&usbvcp->usbvc_mutex);
3820 mutex_exit(&usbvcp->usbvc_mutex);
3821 if (usbvc_vs_set_probe_commit(usbvcp, strm_if, &ctrl, VS_PROBE_CONTROL)
3826 if (usbvc_vs_get_probe(usbvcp, strm_if, &ctrl_get, GET_CUR)
3832 mutex_enter(&usbvcp->usbvc_mutex);
3834 USB_DPRINTF_L3(PRINT_MASK_DEVCTRL, usbvcp->usbvc_log_handle,
3837 mutex_exit(&usbvcp->usbvc_mutex);
3838 if (usbvc_vs_set_probe_commit(usbvcp, strm_if, &ctrl_get,
3844 mutex_enter(&usbvcp->usbvc_mutex);
3851 USB_DPRINTF_L2(PRINT_MASK_DEVCTRL, usbvcp->usbvc_log_handle,
3853 mutex_exit(&usbvcp->usbvc_mutex);
3864 USB_DPRINTF_L2(PRINT_MASK_DEVCTRL, usbvcp->usbvc_log_handle,
3866 mutex_exit(&usbvcp->usbvc_mutex);
3877 mutex_exit(&usbvcp->usbvc_mutex);