hs_ep 116 drivers/usb/dwc2/gadget.c static inline void dwc2_gadget_incr_frame_num(struct dwc2_hsotg_ep *hs_ep) hs_ep 118 drivers/usb/dwc2/gadget.c hs_ep->target_frame += hs_ep->interval; hs_ep 119 drivers/usb/dwc2/gadget.c if (hs_ep->target_frame > DSTS_SOFFN_LIMIT) { hs_ep 120 drivers/usb/dwc2/gadget.c hs_ep->frame_overrun = true; hs_ep 121 drivers/usb/dwc2/gadget.c hs_ep->target_frame &= DSTS_SOFFN_LIMIT; hs_ep 123 drivers/usb/dwc2/gadget.c hs_ep->frame_overrun = false; hs_ep 137 drivers/usb/dwc2/gadget.c static inline void dwc2_gadget_dec_frame_num_by_one(struct dwc2_hsotg_ep *hs_ep) hs_ep 139 drivers/usb/dwc2/gadget.c if (hs_ep->target_frame) hs_ep 140 drivers/usb/dwc2/gadget.c hs_ep->target_frame -= 1; hs_ep 142 drivers/usb/dwc2/gadget.c hs_ep->target_frame = DSTS_SOFFN_LIMIT; hs_ep 404 drivers/usb/dwc2/gadget.c static inline int is_ep_periodic(struct dwc2_hsotg_ep *hs_ep) hs_ep 406 drivers/usb/dwc2/gadget.c return hs_ep->periodic; hs_ep 419 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep, hs_ep 424 drivers/usb/dwc2/gadget.c usb_gadget_unmap_request(&hsotg->gadget, req, hs_ep->dir_in); hs_ep 492 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep, hs_ep 495 drivers/usb/dwc2/gadget.c bool periodic = is_ep_periodic(hs_ep); hs_ep 498 drivers/usb/dwc2/gadget.c int to_write = hs_ep->size_loaded; hs_ep 504 drivers/usb/dwc2/gadget.c to_write -= (buf_pos - hs_ep->last_load); hs_ep 511 drivers/usb/dwc2/gadget.c u32 epsize = dwc2_readl(hsotg, DIEPTSIZ(hs_ep->index)); hs_ep 526 drivers/usb/dwc2/gadget.c if (hs_ep->fifo_load != 0) { hs_ep 533 drivers/usb/dwc2/gadget.c hs_ep->size_loaded, hs_ep->fifo_load, hs_ep->fifo_size); hs_ep 536 drivers/usb/dwc2/gadget.c size_done = hs_ep->size_loaded - size_left; hs_ep 539 drivers/usb/dwc2/gadget.c can_write = hs_ep->fifo_load - size_done; hs_ep 543 drivers/usb/dwc2/gadget.c can_write = hs_ep->fifo_size - can_write; hs_ep 551 drivers/usb/dwc2/gadget.c } else if (hsotg->dedicated_fifos && hs_ep->index != 0) { hs_ep 553 drivers/usb/dwc2/gadget.c DTXFSTS(hs_ep->fifo_index)); hs_ep 571 drivers/usb/dwc2/gadget.c max_transfer = hs_ep->ep.maxpacket * hs_ep->mc; hs_ep 635 drivers/usb/dwc2/gadget.c hs_ep->total_data += to_write; hs_ep 638 drivers/usb/dwc2/gadget.c hs_ep->fifo_load += to_write; hs_ep 643 drivers/usb/dwc2/gadget.c dwc2_writel_rep(hsotg, EPFIFO(hs_ep->index), data, to_write); hs_ep 655 drivers/usb/dwc2/gadget.c static unsigned int get_ep_limit(struct dwc2_hsotg_ep *hs_ep) hs_ep 657 drivers/usb/dwc2/gadget.c int index = hs_ep->index; hs_ep 666 drivers/usb/dwc2/gadget.c if (hs_ep->dir_in) hs_ep 681 drivers/usb/dwc2/gadget.c if ((maxpkt * hs_ep->ep.maxpacket) < maxsize) hs_ep 682 drivers/usb/dwc2/gadget.c maxsize = maxpkt * hs_ep->ep.maxpacket; hs_ep 713 drivers/usb/dwc2/gadget.c static unsigned int dwc2_gadget_get_chain_limit(struct dwc2_hsotg_ep *hs_ep) hs_ep 715 drivers/usb/dwc2/gadget.c int is_isoc = hs_ep->isochronous; hs_ep 719 drivers/usb/dwc2/gadget.c maxsize = (hs_ep->dir_in ? DEV_DMA_ISOC_TX_NBYTES_LIMIT : hs_ep 743 drivers/usb/dwc2/gadget.c static u32 dwc2_gadget_get_desc_params(struct dwc2_hsotg_ep *hs_ep, u32 *mask) hs_ep 745 drivers/usb/dwc2/gadget.c u32 mps = hs_ep->ep.maxpacket; hs_ep 746 drivers/usb/dwc2/gadget.c int dir_in = hs_ep->dir_in; hs_ep 749 drivers/usb/dwc2/gadget.c if (!hs_ep->index && !dir_in) { hs_ep 752 drivers/usb/dwc2/gadget.c } else if (hs_ep->isochronous) { hs_ep 771 drivers/usb/dwc2/gadget.c static void dwc2_gadget_fill_nonisoc_xfer_ddma_one(struct dwc2_hsotg_ep *hs_ep, hs_ep 777 drivers/usb/dwc2/gadget.c int dir_in = hs_ep->dir_in; hs_ep 778 drivers/usb/dwc2/gadget.c u32 mps = hs_ep->ep.maxpacket; hs_ep 784 drivers/usb/dwc2/gadget.c maxsize = dwc2_gadget_get_desc_params(hs_ep, &mask); hs_ep 786 drivers/usb/dwc2/gadget.c hs_ep->desc_count = (len / maxsize) + hs_ep 789 drivers/usb/dwc2/gadget.c hs_ep->desc_count = 1; hs_ep 791 drivers/usb/dwc2/gadget.c for (i = 0; i < hs_ep->desc_count; ++i) { hs_ep 797 drivers/usb/dwc2/gadget.c if (!hs_ep->index && !dir_in) hs_ep 812 drivers/usb/dwc2/gadget.c ((hs_ep->send_zlp && true_last) ? hs_ep 837 drivers/usb/dwc2/gadget.c static void dwc2_gadget_config_nonisoc_xfer_ddma(struct dwc2_hsotg_ep *hs_ep, hs_ep 842 drivers/usb/dwc2/gadget.c struct dwc2_dma_desc *desc = hs_ep->desc_list; hs_ep 847 drivers/usb/dwc2/gadget.c if (hs_ep->req) hs_ep 848 drivers/usb/dwc2/gadget.c ureq = &hs_ep->req->req; hs_ep 852 drivers/usb/dwc2/gadget.c dwc2_gadget_fill_nonisoc_xfer_ddma_one(hs_ep, &desc, hs_ep 859 drivers/usb/dwc2/gadget.c dwc2_gadget_fill_nonisoc_xfer_ddma_one(hs_ep, &desc, hs_ep 862 drivers/usb/dwc2/gadget.c desc_count += hs_ep->desc_count; hs_ep 865 drivers/usb/dwc2/gadget.c hs_ep->desc_count = desc_count; hs_ep 879 drivers/usb/dwc2/gadget.c static int dwc2_gadget_fill_isoc_desc(struct dwc2_hsotg_ep *hs_ep, hs_ep 883 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hsotg = hs_ep->parent; hs_ep 889 drivers/usb/dwc2/gadget.c maxsize = dwc2_gadget_get_desc_params(hs_ep, &mask); hs_ep 891 drivers/usb/dwc2/gadget.c index = hs_ep->next_desc; hs_ep 892 drivers/usb/dwc2/gadget.c desc = &hs_ep->desc_list[index]; hs_ep 902 drivers/usb/dwc2/gadget.c if (hs_ep->next_desc) hs_ep 903 drivers/usb/dwc2/gadget.c hs_ep->desc_list[index - 1].status &= ~DEV_DMA_L; hs_ep 906 drivers/usb/dwc2/gadget.c __func__, hs_ep->index, hs_ep->dir_in ? "in" : "out", index); hs_ep 915 drivers/usb/dwc2/gadget.c if (hs_ep->dir_in) { hs_ep 917 drivers/usb/dwc2/gadget.c pid = DIV_ROUND_UP(len, hs_ep->ep.maxpacket); hs_ep 922 drivers/usb/dwc2/gadget.c ((len % hs_ep->ep.maxpacket) ? hs_ep 924 drivers/usb/dwc2/gadget.c ((hs_ep->target_frame << hs_ep 933 drivers/usb/dwc2/gadget.c if (hs_ep->dir_in) hs_ep 934 drivers/usb/dwc2/gadget.c dwc2_gadget_incr_frame_num(hs_ep); hs_ep 937 drivers/usb/dwc2/gadget.c hs_ep->next_desc++; hs_ep 938 drivers/usb/dwc2/gadget.c if (hs_ep->next_desc >= MAX_DMA_DESC_NUM_HS_ISOC) hs_ep 939 drivers/usb/dwc2/gadget.c hs_ep->next_desc = 0; hs_ep 951 drivers/usb/dwc2/gadget.c static void dwc2_gadget_start_isoc_ddma(struct dwc2_hsotg_ep *hs_ep) hs_ep 953 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hsotg = hs_ep->parent; hs_ep 955 drivers/usb/dwc2/gadget.c int index = hs_ep->index; hs_ep 963 drivers/usb/dwc2/gadget.c if (list_empty(&hs_ep->queue)) { hs_ep 964 drivers/usb/dwc2/gadget.c hs_ep->target_frame = TARGET_FRAME_INITIAL; hs_ep 971 drivers/usb/dwc2/gadget.c desc = &hs_ep->desc_list[i]; hs_ep 977 drivers/usb/dwc2/gadget.c hs_ep->next_desc = 0; hs_ep 978 drivers/usb/dwc2/gadget.c list_for_each_entry_safe(hs_req, treq, &hs_ep->queue, queue) { hs_ep 985 drivers/usb/dwc2/gadget.c ret = dwc2_gadget_fill_isoc_desc(hs_ep, dma_addr, hs_ep 991 drivers/usb/dwc2/gadget.c hs_ep->compl_desc = 0; hs_ep 992 drivers/usb/dwc2/gadget.c depctl = hs_ep->dir_in ? DIEPCTL(index) : DOEPCTL(index); hs_ep 993 drivers/usb/dwc2/gadget.c dma_reg = hs_ep->dir_in ? DIEPDMA(index) : DOEPDMA(index); hs_ep 996 drivers/usb/dwc2/gadget.c dwc2_writel(hsotg, hs_ep->desc_list_dma, dma_reg); hs_ep 1014 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep, hs_ep 1019 drivers/usb/dwc2/gadget.c int index = hs_ep->index; hs_ep 1020 drivers/usb/dwc2/gadget.c int dir_in = hs_ep->dir_in; hs_ep 1031 drivers/usb/dwc2/gadget.c if (hs_ep->req && !continuing) { hs_ep 1035 drivers/usb/dwc2/gadget.c } else if (hs_ep->req != hs_req && continuing) { hs_ep 1049 drivers/usb/dwc2/gadget.c hs_ep->dir_in ? "in" : "out"); hs_ep 1064 drivers/usb/dwc2/gadget.c maxreq = get_ep_limit(hs_ep); hs_ep 1066 drivers/usb/dwc2/gadget.c maxreq = dwc2_gadget_get_chain_limit(hs_ep); hs_ep 1069 drivers/usb/dwc2/gadget.c int round = maxreq % hs_ep->ep.maxpacket; hs_ep 1082 drivers/usb/dwc2/gadget.c packets = DIV_ROUND_UP(length, hs_ep->ep.maxpacket); hs_ep 1087 drivers/usb/dwc2/gadget.c if (hs_ep->isochronous) hs_ep 1100 drivers/usb/dwc2/gadget.c if ((ureq->length >= hs_ep->ep.maxpacket) && hs_ep 1101 drivers/usb/dwc2/gadget.c !(ureq->length % hs_ep->ep.maxpacket)) hs_ep 1102 drivers/usb/dwc2/gadget.c hs_ep->send_zlp = 1; hs_ep 1112 drivers/usb/dwc2/gadget.c hs_ep->req = hs_req; hs_ep 1116 drivers/usb/dwc2/gadget.c u32 mps = hs_ep->ep.maxpacket; hs_ep 1136 drivers/usb/dwc2/gadget.c dwc2_gadget_config_nonisoc_xfer_ddma(hs_ep, ureq->dma + offset, hs_ep 1140 drivers/usb/dwc2/gadget.c dwc2_writel(hsotg, hs_ep->desc_list_dma, dma_reg); hs_ep 1143 drivers/usb/dwc2/gadget.c __func__, (u32)hs_ep->desc_list_dma, dma_reg); hs_ep 1161 drivers/usb/dwc2/gadget.c if (hs_ep->isochronous && hs_ep->interval == 1) { hs_ep 1162 drivers/usb/dwc2/gadget.c hs_ep->target_frame = dwc2_hsotg_read_frameno(hsotg); hs_ep 1163 drivers/usb/dwc2/gadget.c dwc2_gadget_incr_frame_num(hs_ep); hs_ep 1165 drivers/usb/dwc2/gadget.c if (hs_ep->target_frame & 0x1) hs_ep 1187 drivers/usb/dwc2/gadget.c hs_ep->size_loaded = length; hs_ep 1188 drivers/usb/dwc2/gadget.c hs_ep->last_load = ureq->actual; hs_ep 1192 drivers/usb/dwc2/gadget.c hs_ep->fifo_load = 0; hs_ep 1194 drivers/usb/dwc2/gadget.c dwc2_hsotg_write_fifo(hsotg, hs_ep, hs_req); hs_ep 1212 drivers/usb/dwc2/gadget.c dwc2_hsotg_ctrl_epint(hsotg, hs_ep->index, hs_ep->dir_in, 1); hs_ep 1228 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep, hs_ep 1233 drivers/usb/dwc2/gadget.c ret = usb_gadget_map_request(&hsotg->gadget, req, hs_ep->dir_in); hs_ep 1247 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep, hs_ep 1259 drivers/usb/dwc2/gadget.c hs_ep->ep.name, req_buf, hs_req->req.length); hs_ep 1273 drivers/usb/dwc2/gadget.c if (hs_ep->dir_in) hs_ep 1280 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep, hs_ep 1288 drivers/usb/dwc2/gadget.c hs_ep->ep.name, hs_req->req.status, hs_req->req.actual); hs_ep 1291 drivers/usb/dwc2/gadget.c if (!hs_ep->dir_in && !hs_req->req.status) hs_ep 1309 drivers/usb/dwc2/gadget.c static bool dwc2_gadget_target_frame_elapsed(struct dwc2_hsotg_ep *hs_ep) hs_ep 1311 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hsotg = hs_ep->parent; hs_ep 1312 drivers/usb/dwc2/gadget.c u32 target_frame = hs_ep->target_frame; hs_ep 1314 drivers/usb/dwc2/gadget.c bool frame_overrun = hs_ep->frame_overrun; hs_ep 1335 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep) hs_ep 1340 drivers/usb/dwc2/gadget.c hs_ep->desc_list = hsotg->setup_desc[0]; hs_ep 1341 drivers/usb/dwc2/gadget.c hs_ep->desc_list_dma = hsotg->setup_desc_dma[0]; hs_ep 1345 drivers/usb/dwc2/gadget.c hs_ep->desc_list = hsotg->ctrl_in_desc; hs_ep 1346 drivers/usb/dwc2/gadget.c hs_ep->desc_list_dma = hsotg->ctrl_in_desc_dma; hs_ep 1349 drivers/usb/dwc2/gadget.c hs_ep->desc_list = hsotg->ctrl_out_desc; hs_ep 1350 drivers/usb/dwc2/gadget.c hs_ep->desc_list_dma = hsotg->ctrl_out_desc_dma; hs_ep 1365 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep = our_ep(ep); hs_ep 1366 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hs = hs_ep->parent; hs_ep 1390 drivers/usb/dwc2/gadget.c if (hs_ep->isochronous && hs_ep 1391 drivers/usb/dwc2/gadget.c req->length > (hs_ep->mc * hs_ep->ep.maxpacket)) { hs_ep 1399 drivers/usb/dwc2/gadget.c if (using_desc_dma(hs) && hs_ep->isochronous) { hs_ep 1400 drivers/usb/dwc2/gadget.c maxsize = dwc2_gadget_get_desc_params(hs_ep, &mask); hs_ep 1401 drivers/usb/dwc2/gadget.c if (hs_ep->dir_in && req->length > maxsize) { hs_ep 1407 drivers/usb/dwc2/gadget.c if (!hs_ep->dir_in && req->length > hs_ep->ep.maxpacket) { hs_ep 1409 drivers/usb/dwc2/gadget.c req->length, hs_ep->ep.maxpacket); hs_ep 1414 drivers/usb/dwc2/gadget.c ret = dwc2_hsotg_handle_unaligned_buf_start(hs, hs_ep, hs_req); hs_ep 1420 drivers/usb/dwc2/gadget.c ret = dwc2_hsotg_map_dma(hs, hs_ep, req); hs_ep 1425 drivers/usb/dwc2/gadget.c if (using_desc_dma(hs) && !hs_ep->index) { hs_ep 1426 drivers/usb/dwc2/gadget.c ret = dwc2_gadget_set_ep0_desc_chain(hs, hs_ep); hs_ep 1431 drivers/usb/dwc2/gadget.c first = list_empty(&hs_ep->queue); hs_ep 1432 drivers/usb/dwc2/gadget.c list_add_tail(&hs_req->queue, &hs_ep->queue); hs_ep 1440 drivers/usb/dwc2/gadget.c if (using_desc_dma(hs) && hs_ep->isochronous) { hs_ep 1441 drivers/usb/dwc2/gadget.c if (hs_ep->target_frame != TARGET_FRAME_INITIAL) { hs_ep 1448 drivers/usb/dwc2/gadget.c dwc2_gadget_fill_isoc_desc(hs_ep, dma_addr, hs_ep 1455 drivers/usb/dwc2/gadget.c if (!hs_ep->index && !req->length && !hs_ep->dir_in && hs_ep 1457 drivers/usb/dwc2/gadget.c hs_ep->dir_in = 1; hs_ep 1460 drivers/usb/dwc2/gadget.c if (!hs_ep->isochronous) { hs_ep 1461 drivers/usb/dwc2/gadget.c dwc2_hsotg_start_req(hs, hs_ep, hs_req, false); hs_ep 1467 drivers/usb/dwc2/gadget.c while (dwc2_gadget_target_frame_elapsed(hs_ep)) { hs_ep 1468 drivers/usb/dwc2/gadget.c dwc2_gadget_incr_frame_num(hs_ep); hs_ep 1475 drivers/usb/dwc2/gadget.c if (hs_ep->target_frame != TARGET_FRAME_INITIAL) hs_ep 1476 drivers/usb/dwc2/gadget.c dwc2_hsotg_start_req(hs, hs_ep, hs_req, false); hs_ep 1484 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep = our_ep(ep); hs_ep 1485 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hs = hs_ep->parent; hs_ep 1515 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep = our_ep(ep); hs_ep 1516 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hsotg = hs_ep->parent; hs_ep 1692 drivers/usb/dwc2/gadget.c static struct dwc2_hsotg_req *get_ep_head(struct dwc2_hsotg_ep *hs_ep) hs_ep 1694 drivers/usb/dwc2/gadget.c return list_first_entry_or_null(&hs_ep->queue, struct dwc2_hsotg_req, hs_ep 1706 drivers/usb/dwc2/gadget.c static void dwc2_gadget_start_next_request(struct dwc2_hsotg_ep *hs_ep) hs_ep 1709 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hsotg = hs_ep->parent; hs_ep 1710 drivers/usb/dwc2/gadget.c int dir_in = hs_ep->dir_in; hs_ep 1714 drivers/usb/dwc2/gadget.c if (!list_empty(&hs_ep->queue)) { hs_ep 1715 drivers/usb/dwc2/gadget.c hs_req = get_ep_head(hs_ep); hs_ep 1716 drivers/usb/dwc2/gadget.c dwc2_hsotg_start_req(hsotg, hs_ep, hs_req, false); hs_ep 1719 drivers/usb/dwc2/gadget.c if (!hs_ep->isochronous) hs_ep 1979 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep = our_ep(ep); hs_ep 1980 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hsotg = hs_ep->parent; hs_ep 2035 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep) hs_ep 2038 drivers/usb/dwc2/gadget.c u8 index = hs_ep->index; hs_ep 2039 drivers/usb/dwc2/gadget.c u32 epctl_reg = hs_ep->dir_in ? DIEPCTL(index) : DOEPCTL(index); hs_ep 2040 drivers/usb/dwc2/gadget.c u32 epsiz_reg = hs_ep->dir_in ? DIEPTSIZ(index) : DOEPTSIZ(index); hs_ep 2042 drivers/usb/dwc2/gadget.c if (hs_ep->dir_in) hs_ep 2050 drivers/usb/dwc2/gadget.c dma_addr_t dma = hs_ep->desc_list_dma; hs_ep 2053 drivers/usb/dwc2/gadget.c dwc2_gadget_set_ep0_desc_chain(hsotg, hs_ep); hs_ep 2055 drivers/usb/dwc2/gadget.c dwc2_gadget_config_nonisoc_xfer_ddma(hs_ep, dma, 0); hs_ep 2083 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep, hs_ep 2093 drivers/usb/dwc2/gadget.c hs_ep, hs_ep->ep.name, hs_req, result, hs_req->req.complete); hs_ep 2104 drivers/usb/dwc2/gadget.c dwc2_hsotg_unmap_dma(hsotg, hs_ep, hs_req); hs_ep 2106 drivers/usb/dwc2/gadget.c dwc2_hsotg_handle_unaligned_buf_complete(hsotg, hs_ep, hs_req); hs_ep 2108 drivers/usb/dwc2/gadget.c hs_ep->req = NULL; hs_ep 2118 drivers/usb/dwc2/gadget.c usb_gadget_giveback_request(&hs_ep->ep, &hs_req->req); hs_ep 2123 drivers/usb/dwc2/gadget.c if (using_desc_dma(hsotg) && hs_ep->isochronous) hs_ep 2132 drivers/usb/dwc2/gadget.c if (!hs_ep->req && result >= 0) hs_ep 2133 drivers/usb/dwc2/gadget.c dwc2_gadget_start_next_request(hs_ep); hs_ep 2145 drivers/usb/dwc2/gadget.c static void dwc2_gadget_complete_isoc_request_ddma(struct dwc2_hsotg_ep *hs_ep) hs_ep 2147 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hsotg = hs_ep->parent; hs_ep 2153 drivers/usb/dwc2/gadget.c desc_sts = hs_ep->desc_list[hs_ep->compl_desc].status; hs_ep 2159 drivers/usb/dwc2/gadget.c hs_req = get_ep_head(hs_ep); hs_ep 2169 drivers/usb/dwc2/gadget.c mask = hs_ep->dir_in ? DEV_DMA_ISOC_TX_NBYTES_MASK : hs_ep 2177 drivers/usb/dwc2/gadget.c if (!hs_ep->dir_in && ureq->length & 0x3) hs_ep 2186 drivers/usb/dwc2/gadget.c dwc2_hsotg_complete_request(hsotg, hs_ep, hs_req, 0); hs_ep 2188 drivers/usb/dwc2/gadget.c hs_ep->compl_desc++; hs_ep 2189 drivers/usb/dwc2/gadget.c if (hs_ep->compl_desc > (MAX_DMA_DESC_NUM_HS_ISOC - 1)) hs_ep 2190 drivers/usb/dwc2/gadget.c hs_ep->compl_desc = 0; hs_ep 2191 drivers/usb/dwc2/gadget.c desc_sts = hs_ep->desc_list[hs_ep->compl_desc].status; hs_ep 2204 drivers/usb/dwc2/gadget.c static void dwc2_gadget_handle_isoc_bna(struct dwc2_hsotg_ep *hs_ep) hs_ep 2206 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hsotg = hs_ep->parent; hs_ep 2208 drivers/usb/dwc2/gadget.c if (!hs_ep->dir_in) hs_ep 2210 drivers/usb/dwc2/gadget.c dwc2_hsotg_complete_request(hsotg, hs_ep, get_ep_head(hs_ep), 0); hs_ep 2212 drivers/usb/dwc2/gadget.c hs_ep->target_frame = TARGET_FRAME_INITIAL; hs_ep 2213 drivers/usb/dwc2/gadget.c hs_ep->next_desc = 0; hs_ep 2214 drivers/usb/dwc2/gadget.c hs_ep->compl_desc = 0; hs_ep 2229 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep = hsotg->eps_out[ep_idx]; hs_ep 2230 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_req *hs_req = hs_ep->req; hs_ep 2267 drivers/usb/dwc2/gadget.c hs_ep->total_data += to_read; hs_ep 2320 drivers/usb/dwc2/gadget.c static unsigned int dwc2_gadget_get_xfersize_ddma(struct dwc2_hsotg_ep *hs_ep) hs_ep 2322 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hsotg = hs_ep->parent; hs_ep 2324 drivers/usb/dwc2/gadget.c struct dwc2_dma_desc *desc = hs_ep->desc_list; hs_ep 2331 drivers/usb/dwc2/gadget.c for (i = 0; i < hs_ep->desc_count; ++i) { hs_ep 2356 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep = hsotg->eps_out[epnum]; hs_ep 2357 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_req *hs_req = hs_ep->req; hs_ep 2369 drivers/usb/dwc2/gadget.c dwc2_hsotg_complete_request(hsotg, hs_ep, hs_req, 0); hs_ep 2375 drivers/usb/dwc2/gadget.c size_left = dwc2_gadget_get_xfersize_ddma(hs_ep); hs_ep 2389 drivers/usb/dwc2/gadget.c size_done = hs_ep->size_loaded - size_left; hs_ep 2390 drivers/usb/dwc2/gadget.c size_done += hs_ep->last_load; hs_ep 2397 drivers/usb/dwc2/gadget.c dwc2_hsotg_start_req(hsotg, hs_ep, hs_req, true); hs_ep 2424 drivers/usb/dwc2/gadget.c if (hs_ep->isochronous && hs_ep->interval == 1) hs_ep 2426 drivers/usb/dwc2/gadget.c else if (hs_ep->isochronous && hs_ep->interval > 1) hs_ep 2427 drivers/usb/dwc2/gadget.c dwc2_gadget_incr_frame_num(hs_ep); hs_ep 2431 drivers/usb/dwc2/gadget.c if (!using_desc_dma(hsotg) && hs_ep->isochronous) hs_ep 2434 drivers/usb/dwc2/gadget.c dwc2_hsotg_complete_request(hsotg, hs_ep, hs_req, result); hs_ep 2557 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep; hs_ep 2560 drivers/usb/dwc2/gadget.c hs_ep = index_to_ep(hsotg, ep, dir_in); hs_ep 2561 drivers/usb/dwc2/gadget.c if (!hs_ep) hs_ep 2571 drivers/usb/dwc2/gadget.c hs_ep->ep.maxpacket = mps_bytes; hs_ep 2572 drivers/usb/dwc2/gadget.c hs_ep->mc = 1; hs_ep 2576 drivers/usb/dwc2/gadget.c hs_ep->mc = mc; hs_ep 2579 drivers/usb/dwc2/gadget.c hs_ep->ep.maxpacket = mps; hs_ep 2625 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep) hs_ep 2627 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_req *hs_req = hs_ep->req; hs_ep 2629 drivers/usb/dwc2/gadget.c if (!hs_ep->dir_in || !hs_req) { hs_ep 2634 drivers/usb/dwc2/gadget.c if (hs_ep->index != 0) hs_ep 2635 drivers/usb/dwc2/gadget.c dwc2_hsotg_ctrl_epint(hsotg, hs_ep->index, hs_ep 2636 drivers/usb/dwc2/gadget.c hs_ep->dir_in, 0); hs_ep 2642 drivers/usb/dwc2/gadget.c hs_ep->index); hs_ep 2643 drivers/usb/dwc2/gadget.c return dwc2_hsotg_write_fifo(hsotg, hs_ep, hs_req); hs_ep 2658 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep) hs_ep 2660 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_req *hs_req = hs_ep->req; hs_ep 2661 drivers/usb/dwc2/gadget.c u32 epsize = dwc2_readl(hsotg, DIEPTSIZ(hs_ep->index)); hs_ep 2670 drivers/usb/dwc2/gadget.c if (hs_ep->index == 0 && hsotg->ep0_state == DWC2_EP0_STATUS_IN) { hs_ep 2677 drivers/usb/dwc2/gadget.c hs_ep->dir_in = 0; hs_ep 2679 drivers/usb/dwc2/gadget.c dwc2_hsotg_complete_request(hsotg, hs_ep, hs_req, 0); hs_ep 2705 drivers/usb/dwc2/gadget.c size_left = dwc2_gadget_get_xfersize_ddma(hs_ep); hs_ep 2713 drivers/usb/dwc2/gadget.c size_done = hs_ep->size_loaded - size_left; hs_ep 2714 drivers/usb/dwc2/gadget.c size_done += hs_ep->last_load; hs_ep 2726 drivers/usb/dwc2/gadget.c dwc2_hsotg_start_req(hsotg, hs_ep, hs_req, true); hs_ep 2731 drivers/usb/dwc2/gadget.c if (hs_ep->send_zlp) { hs_ep 2732 drivers/usb/dwc2/gadget.c dwc2_hsotg_program_zlp(hsotg, hs_ep); hs_ep 2733 drivers/usb/dwc2/gadget.c hs_ep->send_zlp = 0; hs_ep 2738 drivers/usb/dwc2/gadget.c if (hs_ep->index == 0 && hsotg->ep0_state == DWC2_EP0_DATA_IN) { hs_ep 2744 drivers/usb/dwc2/gadget.c dwc2_hsotg_complete_request(hsotg, hs_ep, hs_req, 0); hs_ep 2788 drivers/usb/dwc2/gadget.c static void dwc2_gadget_handle_ep_disabled(struct dwc2_hsotg_ep *hs_ep) hs_ep 2790 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hsotg = hs_ep->parent; hs_ep 2792 drivers/usb/dwc2/gadget.c unsigned char idx = hs_ep->index; hs_ep 2793 drivers/usb/dwc2/gadget.c int dir_in = hs_ep->dir_in; hs_ep 2802 drivers/usb/dwc2/gadget.c dwc2_hsotg_txfifo_flush(hsotg, hs_ep->fifo_index); hs_ep 2804 drivers/usb/dwc2/gadget.c if (hs_ep->isochronous) { hs_ep 2805 drivers/usb/dwc2/gadget.c dwc2_hsotg_complete_in(hsotg, hs_ep); hs_ep 2823 drivers/usb/dwc2/gadget.c if (!hs_ep->isochronous) hs_ep 2826 drivers/usb/dwc2/gadget.c if (list_empty(&hs_ep->queue)) { hs_ep 2828 drivers/usb/dwc2/gadget.c __func__, hs_ep); hs_ep 2833 drivers/usb/dwc2/gadget.c hs_req = get_ep_head(hs_ep); hs_ep 2835 drivers/usb/dwc2/gadget.c dwc2_hsotg_complete_request(hsotg, hs_ep, hs_req, hs_ep 2837 drivers/usb/dwc2/gadget.c dwc2_gadget_incr_frame_num(hs_ep); hs_ep 2840 drivers/usb/dwc2/gadget.c } while (dwc2_gadget_target_frame_elapsed(hs_ep)); hs_ep 2842 drivers/usb/dwc2/gadget.c dwc2_gadget_start_next_request(hs_ep); hs_ep 2910 drivers/usb/dwc2/gadget.c static void dwc2_gadget_handle_nak(struct dwc2_hsotg_ep *hs_ep) hs_ep 2912 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hsotg = hs_ep->parent; hs_ep 2913 drivers/usb/dwc2/gadget.c int dir_in = hs_ep->dir_in; hs_ep 2915 drivers/usb/dwc2/gadget.c if (!dir_in || !hs_ep->isochronous) hs_ep 2918 drivers/usb/dwc2/gadget.c if (hs_ep->target_frame == TARGET_FRAME_INITIAL) { hs_ep 2921 drivers/usb/dwc2/gadget.c hs_ep->target_frame = hsotg->frame_number; hs_ep 2922 drivers/usb/dwc2/gadget.c dwc2_gadget_incr_frame_num(hs_ep); hs_ep 2931 drivers/usb/dwc2/gadget.c hs_ep->target_frame &= ~hs_ep->interval + 1; hs_ep 2936 drivers/usb/dwc2/gadget.c dwc2_gadget_incr_frame_num(hs_ep); hs_ep 2937 drivers/usb/dwc2/gadget.c dwc2_gadget_dec_frame_num_by_one(hs_ep); hs_ep 2940 drivers/usb/dwc2/gadget.c dwc2_gadget_start_isoc_ddma(hs_ep); hs_ep 2944 drivers/usb/dwc2/gadget.c hs_ep->target_frame = hsotg->frame_number; hs_ep 2945 drivers/usb/dwc2/gadget.c if (hs_ep->interval > 1) { hs_ep 2947 drivers/usb/dwc2/gadget.c DIEPCTL(hs_ep->index)); hs_ep 2948 drivers/usb/dwc2/gadget.c if (hs_ep->target_frame & 0x1) hs_ep 2953 drivers/usb/dwc2/gadget.c dwc2_writel(hsotg, ctrl, DIEPCTL(hs_ep->index)); hs_ep 2956 drivers/usb/dwc2/gadget.c dwc2_hsotg_complete_request(hsotg, hs_ep, hs_ep 2957 drivers/usb/dwc2/gadget.c get_ep_head(hs_ep), 0); hs_ep 2961 drivers/usb/dwc2/gadget.c dwc2_gadget_incr_frame_num(hs_ep); hs_ep 2975 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep = index_to_ep(hsotg, idx, dir_in); hs_ep 2988 drivers/usb/dwc2/gadget.c if (!hs_ep) { hs_ep 3007 drivers/usb/dwc2/gadget.c if (using_desc_dma(hsotg) && idx == 0 && !hs_ep->dir_in && hs_ep 3018 drivers/usb/dwc2/gadget.c if (using_desc_dma(hsotg) && hs_ep->isochronous) { hs_ep 3021 drivers/usb/dwc2/gadget.c dwc2_gadget_complete_isoc_request_ddma(hs_ep); hs_ep 3028 drivers/usb/dwc2/gadget.c if (hs_ep->isochronous && hs_ep->interval > 1) hs_ep 3029 drivers/usb/dwc2/gadget.c dwc2_gadget_incr_frame_num(hs_ep); hs_ep 3031 drivers/usb/dwc2/gadget.c dwc2_hsotg_complete_in(hsotg, hs_ep); hs_ep 3035 drivers/usb/dwc2/gadget.c if (idx == 0 && !hs_ep->req) hs_ep 3042 drivers/usb/dwc2/gadget.c if (hs_ep->isochronous && hs_ep->interval > 1) hs_ep 3043 drivers/usb/dwc2/gadget.c dwc2_gadget_incr_frame_num(hs_ep); hs_ep 3050 drivers/usb/dwc2/gadget.c dwc2_gadget_handle_ep_disabled(hs_ep); hs_ep 3053 drivers/usb/dwc2/gadget.c dwc2_gadget_handle_out_token_ep_disabled(hs_ep); hs_ep 3056 drivers/usb/dwc2/gadget.c dwc2_gadget_handle_nak(hs_ep); hs_ep 3108 drivers/usb/dwc2/gadget.c if (hs_ep->isochronous) hs_ep 3109 drivers/usb/dwc2/gadget.c dwc2_gadget_handle_isoc_bna(hs_ep); hs_ep 3112 drivers/usb/dwc2/gadget.c if (dir_in && !hs_ep->isochronous) { hs_ep 3131 drivers/usb/dwc2/gadget.c dwc2_hsotg_trytx(hsotg, hs_ep); hs_ep 3561 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep; hs_ep 3571 drivers/usb/dwc2/gadget.c hs_ep = hsotg->eps_in[idx]; hs_ep 3573 drivers/usb/dwc2/gadget.c if ((BIT(idx) & ~daintmsk) || !hs_ep->isochronous) hs_ep 3578 drivers/usb/dwc2/gadget.c dwc2_gadget_target_frame_elapsed(hs_ep)) { hs_ep 3608 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep; hs_ep 3617 drivers/usb/dwc2/gadget.c hs_ep = hsotg->eps_out[idx]; hs_ep 3619 drivers/usb/dwc2/gadget.c if ((BIT(idx) & ~daintmsk) || !hs_ep->isochronous) hs_ep 3624 drivers/usb/dwc2/gadget.c dwc2_gadget_target_frame_elapsed(hs_ep)) { hs_ep 3780 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep; hs_ep 3791 drivers/usb/dwc2/gadget.c hs_ep = hsotg->eps_out[idx]; hs_ep 3793 drivers/usb/dwc2/gadget.c if ((BIT(idx) & ~daintmsk) || !hs_ep->isochronous) hs_ep 3840 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep) hs_ep 3845 drivers/usb/dwc2/gadget.c epctrl_reg = hs_ep->dir_in ? DIEPCTL(hs_ep->index) : hs_ep 3846 drivers/usb/dwc2/gadget.c DOEPCTL(hs_ep->index); hs_ep 3847 drivers/usb/dwc2/gadget.c epint_reg = hs_ep->dir_in ? DIEPINT(hs_ep->index) : hs_ep 3848 drivers/usb/dwc2/gadget.c DOEPINT(hs_ep->index); hs_ep 3851 drivers/usb/dwc2/gadget.c hs_ep->name); hs_ep 3853 drivers/usb/dwc2/gadget.c if (hs_ep->dir_in) { hs_ep 3854 drivers/usb/dwc2/gadget.c if (hsotg->dedicated_fifos || hs_ep->periodic) { hs_ep 3893 drivers/usb/dwc2/gadget.c if (hs_ep->dir_in) { hs_ep 3896 drivers/usb/dwc2/gadget.c if (hsotg->dedicated_fifos || hs_ep->periodic) hs_ep 3897 drivers/usb/dwc2/gadget.c fifo_index = hs_ep->fifo_index; hs_ep 3905 drivers/usb/dwc2/gadget.c if (!hsotg->dedicated_fifos && !hs_ep->periodic) hs_ep 3924 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep = our_ep(ep); hs_ep 3925 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hsotg = hs_ep->parent; hs_ep 3927 drivers/usb/dwc2/gadget.c unsigned int index = hs_ep->index; hs_ep 3951 drivers/usb/dwc2/gadget.c if (dir_in != hs_ep->dir_in) { hs_ep 3990 drivers/usb/dwc2/gadget.c if (using_desc_dma(hsotg) && !hs_ep->desc_list) { hs_ep 3991 drivers/usb/dwc2/gadget.c hs_ep->desc_list = dmam_alloc_coherent(hsotg->dev, hs_ep 3993 drivers/usb/dwc2/gadget.c &hs_ep->desc_list_dma, GFP_ATOMIC); hs_ep 3994 drivers/usb/dwc2/gadget.c if (!hs_ep->desc_list) { hs_ep 4012 drivers/usb/dwc2/gadget.c dwc2_hsotg_set_ep_maxpacket(hsotg, hs_ep->index, mps, mc, dir_in); hs_ep 4015 drivers/usb/dwc2/gadget.c hs_ep->isochronous = 0; hs_ep 4016 drivers/usb/dwc2/gadget.c hs_ep->periodic = 0; hs_ep 4017 drivers/usb/dwc2/gadget.c hs_ep->halted = 0; hs_ep 4018 drivers/usb/dwc2/gadget.c hs_ep->interval = desc->bInterval; hs_ep 4024 drivers/usb/dwc2/gadget.c hs_ep->isochronous = 1; hs_ep 4025 drivers/usb/dwc2/gadget.c hs_ep->interval = 1 << (desc->bInterval - 1); hs_ep 4026 drivers/usb/dwc2/gadget.c hs_ep->target_frame = TARGET_FRAME_INITIAL; hs_ep 4027 drivers/usb/dwc2/gadget.c hs_ep->next_desc = 0; hs_ep 4028 drivers/usb/dwc2/gadget.c hs_ep->compl_desc = 0; hs_ep 4030 drivers/usb/dwc2/gadget.c hs_ep->periodic = 1; hs_ep 4047 drivers/usb/dwc2/gadget.c hs_ep->periodic = 1; hs_ep 4050 drivers/usb/dwc2/gadget.c hs_ep->interval = 1 << (desc->bInterval - 1); hs_ep 4069 drivers/usb/dwc2/gadget.c size = hs_ep->ep.maxpacket * hs_ep->mc; hs_ep 4092 drivers/usb/dwc2/gadget.c hs_ep->fifo_index = fifo_index; hs_ep 4093 drivers/usb/dwc2/gadget.c hs_ep->fifo_size = fifo_size; hs_ep 4097 drivers/usb/dwc2/gadget.c if (index && !hs_ep->isochronous) hs_ep 4107 drivers/usb/dwc2/gadget.c hs_ep->isochronous && dir_in) { hs_ep 4135 drivers/usb/dwc2/gadget.c if (ret && using_desc_dma(hsotg) && hs_ep->desc_list) { hs_ep 4138 drivers/usb/dwc2/gadget.c hs_ep->desc_list, hs_ep->desc_list_dma); hs_ep 4139 drivers/usb/dwc2/gadget.c hs_ep->desc_list = NULL; hs_ep 4151 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep = our_ep(ep); hs_ep 4152 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hsotg = hs_ep->parent; hs_ep 4153 drivers/usb/dwc2/gadget.c int dir_in = hs_ep->dir_in; hs_ep 4154 drivers/usb/dwc2/gadget.c int index = hs_ep->index; hs_ep 4175 drivers/usb/dwc2/gadget.c dwc2_hsotg_ep_stop_xfr(hsotg, hs_ep); hs_ep 4185 drivers/usb/dwc2/gadget.c dwc2_hsotg_ctrl_epint(hsotg, hs_ep->index, hs_ep->dir_in, 0); hs_ep 4188 drivers/usb/dwc2/gadget.c kill_all_requests(hsotg, hs_ep, -ESHUTDOWN); hs_ep 4190 drivers/usb/dwc2/gadget.c hsotg->fifo_map &= ~(1 << hs_ep->fifo_index); hs_ep 4191 drivers/usb/dwc2/gadget.c hs_ep->fifo_index = 0; hs_ep 4192 drivers/usb/dwc2/gadget.c hs_ep->fifo_size = 0; hs_ep 4199 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep = our_ep(ep); hs_ep 4200 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hsotg = hs_ep->parent; hs_ep 4235 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep = our_ep(ep); hs_ep 4236 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hs = hs_ep->parent; hs_ep 4243 drivers/usb/dwc2/gadget.c if (!on_list(hs_ep, hs_req)) { hs_ep 4249 drivers/usb/dwc2/gadget.c if (req == &hs_ep->req->req) hs_ep 4250 drivers/usb/dwc2/gadget.c dwc2_hsotg_ep_stop_xfr(hs, hs_ep); hs_ep 4252 drivers/usb/dwc2/gadget.c dwc2_hsotg_complete_request(hs, hs_ep, hs_req, -ECONNRESET); hs_ep 4270 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep = our_ep(ep); hs_ep 4271 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hs = hs_ep->parent; hs_ep 4272 drivers/usb/dwc2/gadget.c int index = hs_ep->index; hs_ep 4288 drivers/usb/dwc2/gadget.c if (hs_ep->isochronous) { hs_ep 4293 drivers/usb/dwc2/gadget.c if (!now && value && !list_empty(&hs_ep->queue)) { hs_ep 4299 drivers/usb/dwc2/gadget.c if (hs_ep->dir_in) { hs_ep 4331 drivers/usb/dwc2/gadget.c hs_ep->halted = value; hs_ep 4343 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep = our_ep(ep); hs_ep 4344 drivers/usb/dwc2/gadget.c struct dwc2_hsotg *hs = hs_ep->parent; hs_ep 4628 drivers/usb/dwc2/gadget.c struct dwc2_hsotg_ep *hs_ep, hs_ep 4641 drivers/usb/dwc2/gadget.c hs_ep->dir_in = dir_in; hs_ep 4642 drivers/usb/dwc2/gadget.c hs_ep->index = epnum; hs_ep 4644 drivers/usb/dwc2/gadget.c snprintf(hs_ep->name, sizeof(hs_ep->name), "ep%d%s", epnum, dir); hs_ep 4646 drivers/usb/dwc2/gadget.c INIT_LIST_HEAD(&hs_ep->queue); hs_ep 4647 drivers/usb/dwc2/gadget.c INIT_LIST_HEAD(&hs_ep->ep.ep_list); hs_ep 4651 drivers/usb/dwc2/gadget.c list_add_tail(&hs_ep->ep.ep_list, &hsotg->gadget.ep_list); hs_ep 4653 drivers/usb/dwc2/gadget.c hs_ep->parent = hsotg; hs_ep 4654 drivers/usb/dwc2/gadget.c hs_ep->ep.name = hs_ep->name; hs_ep 4657 drivers/usb/dwc2/gadget.c usb_ep_set_maxpacket_limit(&hs_ep->ep, 8); hs_ep 4659 drivers/usb/dwc2/gadget.c usb_ep_set_maxpacket_limit(&hs_ep->ep, hs_ep 4661 drivers/usb/dwc2/gadget.c hs_ep->ep.ops = &dwc2_hsotg_ep_ops; hs_ep 4664 drivers/usb/dwc2/gadget.c hs_ep->ep.caps.type_control = true; hs_ep 4667 drivers/usb/dwc2/gadget.c hs_ep->ep.caps.type_iso = true; hs_ep 4668 drivers/usb/dwc2/gadget.c hs_ep->ep.caps.type_bulk = true; hs_ep 4670 drivers/usb/dwc2/gadget.c hs_ep->ep.caps.type_int = true; hs_ep 4674 drivers/usb/dwc2/gadget.c hs_ep->ep.caps.dir_in = true; hs_ep 4676 drivers/usb/dwc2/gadget.c hs_ep->ep.caps.dir_out = true;