Lines Matching refs:uac2

1035 	struct f_uac2 *uac2 = func_to_uac2(fn);
1134 uac2->ac_intf = ret;
1135 uac2->ac_alt = 0;
1146 uac2->as_out_intf = ret;
1147 uac2->as_out_alt = 0;
1175 uac2->as_in_intf = ret;
1176 uac2->as_in_alt = 0;
1180 uac2->int_ep = usb_ep_autoconfig(gadget, &fs_ep_int_desc);
1181 if (!uac2->int_ep) {
1351 struct f_uac2 *uac2 = func_to_uac2(&agdev->func);
1353 atomic_dec(&uac2->int_count);
1361 struct f_uac2 *uac2 = func_to_uac2(&agdev->func);
1367 if (!uac2->int_ep->enabled)
1370 if (atomic_inc_return(&uac2->int_count) > UAC2_DEF_INT_REQ_NUM) {
1371 atomic_dec(&uac2->int_count);
1375 req = usb_ep_alloc_request(uac2->int_ep, GFP_ATOMIC);
1387 w_index = unit_id << 8 | uac2->ac_intf;
1400 ret = usb_ep_queue(uac2->int_ep, req, GFP_ATOMIC);
1410 usb_ep_free_request(uac2->int_ep, req);
1412 atomic_dec(&uac2->int_count);
1421 struct f_uac2 *uac2 = func_to_uac2(fn);
1433 if (intf == uac2->ac_intf) {
1441 if (uac2->int_ep) {
1442 usb_ep_disable(uac2->int_ep);
1443 config_ep_by_speed(gadget, &agdev->func, uac2->int_ep);
1444 usb_ep_enable(uac2->int_ep);
1450 if (intf == uac2->as_out_intf) {
1451 uac2->as_out_alt = alt;
1454 ret = u_audio_start_capture(&uac2->g_audio);
1456 u_audio_stop_capture(&uac2->g_audio);
1457 } else if (intf == uac2->as_in_intf) {
1458 uac2->as_in_alt = alt;
1461 ret = u_audio_start_playback(&uac2->g_audio);
1463 u_audio_stop_playback(&uac2->g_audio);
1475 struct f_uac2 *uac2 = func_to_uac2(fn);
1478 if (intf == uac2->ac_intf)
1479 return uac2->ac_alt;
1480 else if (intf == uac2->as_out_intf)
1481 return uac2->as_out_alt;
1482 else if (intf == uac2->as_in_intf)
1483 return uac2->as_in_alt;
1495 struct f_uac2 *uac2 = func_to_uac2(fn);
1497 uac2->as_in_alt = 0;
1498 uac2->as_out_alt = 0;
1499 u_audio_stop_capture(&uac2->g_audio);
1500 u_audio_stop_playback(&uac2->g_audio);
1501 if (uac2->int_ep)
1502 usb_ep_disable(uac2->int_ep);
1508 struct f_uac2 *uac2 = func_to_uac2(fn);
1510 u_audio_suspend(&uac2->g_audio);
1697 struct f_uac2 *uac2 = func_to_uac2(fn);
1705 if (uac2->clock_id == USB_IN_CLK_ID) {
1707 } else if (uac2->clock_id == USB_OUT_CLK_ID) {
1718 struct f_uac2 *uac2 = func_to_uac2(&agdev->func);
1719 struct usb_ctrlrequest *cr = &uac2->setup_cr;
1767 struct f_uac2 *uac2 = func_to_uac2(fn);
1780 uac2->clock_id = clock_id;
1786 memcpy(&uac2->setup_cr, cr, sizeof(*cr));
1802 struct f_uac2 *uac2 = func_to_uac2(fn);
1807 if (intf != uac2->ac_intf) {
2216 struct f_uac2 *uac2;
2219 uac2 = kzalloc(sizeof(*uac2), GFP_KERNEL);
2220 if (uac2 == NULL)
2228 uac2->g_audio.func.name = "uac2_func";
2229 uac2->g_audio.func.bind = afunc_bind;
2230 uac2->g_audio.func.unbind = afunc_unbind;
2231 uac2->g_audio.func.set_alt = afunc_set_alt;
2232 uac2->g_audio.func.get_alt = afunc_get_alt;
2233 uac2->g_audio.func.disable = afunc_disable;
2234 uac2->g_audio.func.suspend = afunc_suspend;
2235 uac2->g_audio.func.setup = afunc_setup;
2236 uac2->g_audio.func.free_func = afunc_free;
2238 return &uac2->g_audio.func;
2241 DECLARE_USB_FUNCTION_INIT(uac2, afunc_alloc_inst, afunc_alloc);