Lines Matching refs:ep

718 static enum usb_status dwc3_ep_start_xfer(dwc3_handle_t *dwc3_handle, struct usbd_ep *ep)  in dwc3_ep_start_xfer()  argument
724 usb_dwc3_endpoint_t *dwc3_ep = ((ep->is_in) ? &dwc3_handle->IN_ep[ep->num] : in dwc3_ep_start_xfer()
725 &dwc3_handle->OUT_ep[ep->num]); in dwc3_ep_start_xfer()
730 if ((ep->type == EP_TYPE_ISOC) && in dwc3_ep_start_xfer()
738 if ((ep->type == EP_TYPE_ISOC) && in dwc3_ep_start_xfer()
745 dwc3_ep->trb_addr->size = DWC3_TRB_SIZE_LENGTH(ep->xfer_len); in dwc3_ep_start_xfer()
749 dwc3_ep->trb_addr->ctrl |= ((ep->num == 0U) ? DWC3_TRB_CTRL_ISP_IMI : 0U); in dwc3_ep_start_xfer()
753 if ((ep->type == EP_TYPE_ISOC) && ((dwc3_ep->flags & USB_DWC3_EP_ISOC_STARTED) != 0U)) { in dwc3_ep_start_xfer()
759 if (ep->type != EP_TYPE_ISOC) { in dwc3_ep_start_xfer()
773 if ((ep->type == EP_TYPE_ISOC) && in dwc3_ep_start_xfer()
779 ep->num, ep->is_in ? "IN" : "OUT", dwc3_ep->trb_addr, in dwc3_ep_start_xfer()
782 ep->xfer_len, dwc3_ep->flags); in dwc3_ep_start_xfer()
787 if ((ep->type == EP_TYPE_ISOC) && in dwc3_ep_start_xfer()
803 static enum usb_status usb_dwc3_ep_start_xfer(void *handle, struct usbd_ep *ep) in usb_dwc3_ep_start_xfer() argument
806 usb_dwc3_endpoint_t *dwc3_ep = ((ep->is_in) ? &dwc3_handle->IN_ep[ep->num] : in usb_dwc3_ep_start_xfer()
807 &dwc3_handle->OUT_ep[ep->num]); in usb_dwc3_ep_start_xfer()
808 uint32_t len = ep->xfer_len; in usb_dwc3_ep_start_xfer()
810 if (!dwc3_is_ep_enabled(dwc3_handle, dwc3_ep->phy_epnum) && ep->num != 0U) { in usb_dwc3_ep_start_xfer()
814 if (!ep->is_in) { in usb_dwc3_ep_start_xfer()
815 if ((len > ep->maxpacket) && !IS_MULTIPLE(len, ep->maxpacket)) { in usb_dwc3_ep_start_xfer()
820 if ((len != 0U) && (len < ep->maxpacket)) { in usb_dwc3_ep_start_xfer()
821 dwc3_ep->xfer_dest_buff = ep->xfer_buff; in usb_dwc3_ep_start_xfer()
822 dwc3_ep->xfer_dest_len = ep->xfer_len; in usb_dwc3_ep_start_xfer()
823 ep->xfer_buff = dwc3_ep->bounce_buf; in usb_dwc3_ep_start_xfer()
824 ep->xfer_len = ALIGN_MULTIPLE(len, ep->maxpacket); in usb_dwc3_ep_start_xfer()
827 ep->xfer_len = ALIGN_MULTIPLE(len, ep->maxpacket); in usb_dwc3_ep_start_xfer()
831 dwc3_ep->dma_addr = ((ep->xfer_buff != 0) ? in usb_dwc3_ep_start_xfer()
832 api_mapdmaaddr(ep->xfer_buff, ep->xfer_len, ep->is_in ? 1 : 0) : in usb_dwc3_ep_start_xfer()
835 if (ep->num == 0U) { in usb_dwc3_ep_start_xfer()
849 if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) { in usb_dwc3_ep_start_xfer()
856 return dwc3_ep_start_xfer(dwc3_handle, ep); in usb_dwc3_ep_start_xfer()
908 static enum usb_status dwc3_ep_stop_xfer(dwc3_handle_t *dwc3_handle, struct usbd_ep *ep) in dwc3_ep_stop_xfer() argument
910 usb_dwc3_endpoint_t *dwc3_ep = ((ep->is_in) ? &dwc3_handle->IN_ep[ep->num] : in dwc3_ep_stop_xfer()
911 &dwc3_handle->OUT_ep[ep->num]); in dwc3_ep_stop_xfer()
919 if (ep->type == EP_TYPE_ISOC) { in dwc3_ep_stop_xfer()
935 ep->xfer_count = ep->xfer_len - (dwc3_ep->trb_addr->size & DWC3_TRB_SIZE_MASK); in dwc3_ep_stop_xfer()
939 if ((!ep->is_in) && (ep->num == 0U)) { in dwc3_ep_stop_xfer()
1037 static enum usb_status usb_dwc3_ep0_start_xfer(void *handle, struct usbd_ep *ep) in usb_dwc3_ep0_start_xfer() argument
1039 return usb_dwc3_ep_start_xfer(handle, ep); in usb_dwc3_ep0_start_xfer()
1042 static enum usb_status usb_dwc3_ep_set_stall(void *handle, struct usbd_ep *ep) in usb_dwc3_ep_set_stall() argument
1045 usb_dwc3_endpoint_t *dwc3_ep = ((ep->is_in) ? &dwc3_handle->IN_ep[ep->num] : in usb_dwc3_ep_set_stall()
1046 &dwc3_handle->OUT_ep[ep->num]); in usb_dwc3_ep_set_stall()
1114 struct usbd_ep *ep; in dwc3_epaddr_set_stall() local
1119 ep = &dwc3_handle->pcd_handle->in_ep[ep_addr & ADDRESS_MASK]; in dwc3_epaddr_set_stall()
1122 ep = &dwc3_handle->pcd_handle->out_ep[ep_addr]; in dwc3_epaddr_set_stall()
1140 ep->num = ep_addr & ADDRESS_MASK; in dwc3_epaddr_set_stall()
1141 ep->is_in = ((ep_addr & EP_DIR_MASK) == EP_DIR_IN); in dwc3_epaddr_set_stall()
1156 static uint32_t dwc3_get_ep_trblen(usb_dwc3_endpoint_t *ep) in dwc3_get_ep_trblen() argument
1158 return DWC3_TRB_SIZE_LENGTH(ep->trb_addr->size); in dwc3_get_ep_trblen()
1161 static uint32_t dwc3_get_ep_trbstatus(usb_dwc3_endpoint_t *ep) in dwc3_get_ep_trbstatus() argument
1163 return DWC3_TRB_SIZE_TRBSTS(ep->trb_addr->size); in dwc3_get_ep_trbstatus()
1259 struct usbd_ep *ep; in dwc3_handle_ep_event() local
1267 ep = &dwc3_handle->pcd_handle->in_ep[ep_num]; in dwc3_handle_ep_event()
1270 ep = &dwc3_handle->pcd_handle->out_ep[ep_num]; in dwc3_handle_ep_event()
1277 ep->is_in ? "IN" : "OUT", event); in dwc3_handle_ep_event()
1279 if (ep->type == EP_TYPE_ISOC) { in dwc3_handle_ep_event()
1281 ep->is_in ? "IN" : "OUT"); in dwc3_handle_ep_event()
1291 ep->is_in ? "IN" : "OUT"); in dwc3_handle_ep_event()
1295 ep_num, ep->is_in ? "IN" : "OUT", dwc3_ep->trb_addr, in dwc3_handle_ep_event()
1301 ep->xfer_count = ep->xfer_len - dwc3_get_ep_trblen(dwc3_ep); in dwc3_handle_ep_event()
1305 if (ep->xfer_buff != NULL) { in dwc3_handle_ep_event()
1306 api_unmapdmaaddr(dwc3_ep->dma_addr, ep->xfer_len, 1); in dwc3_handle_ep_event()
1313 if ((ep_num == 0U) && (ep->xfer_len != ep->xfer_count)) { in dwc3_handle_ep_event()
1324 if ((ep_num != 0U) || (ep->xfer_len == 0U)) { in dwc3_handle_ep_event()
1330 if ((ep_num == 0U) && (ep->xfer_len == 0U)) { in dwc3_handle_ep_event()
1341 ep->xfer_count = ep->xfer_len - dwc3_get_ep_trblen(dwc3_ep); in dwc3_handle_ep_event()
1352 ep_num, ep->is_in ? "IN" : "OUT", in dwc3_handle_ep_event()
1367 if (ep->xfer_buff != NULL) { in dwc3_handle_ep_event()
1368 api_unmapdmaaddr(dwc3_ep->dma_addr, ep->xfer_len, 0); in dwc3_handle_ep_event()
1371 if (ep->xfer_buff == dwc3_ep->bounce_buf) { in dwc3_handle_ep_event()
1372 api_memcpy(dwc3_ep->xfer_dest_buff, ep->xfer_buff, in dwc3_handle_ep_event()
1373 ep->xfer_count); in dwc3_handle_ep_event()
1374 ep->xfer_buff = dwc3_ep->xfer_dest_buff; in dwc3_handle_ep_event()
1381 if ((ep_num != 0U) || (ep->xfer_len == 0U)) { in dwc3_handle_ep_event()
1387 if ((ep_num == 0U) && (ep->xfer_len == 0U)) { in dwc3_handle_ep_event()
1405 ep->is_in ? "IN" : "OUT", dwc3_handle->intbuffers.evtbufferpos[0], in dwc3_handle_ep_event()
1421 if (ep->type != EP_TYPE_ISOC) { in dwc3_handle_ep_event()
1429 ep->is_in ? "IN" : "OUT", event); in dwc3_handle_ep_event()
1458 if (ep->type != EP_TYPE_ISOC) { in dwc3_handle_ep_event()
1470 ep->is_in ? "IN" : "OUT", event); in dwc3_handle_ep_event()
1728 usb_dwc3_endpoint_t *ep = &dwc3_handle->IN_ep[i]; in dwc3_handle_dev_event() local
1730 if (!ep->is_stall) { in dwc3_handle_dev_event()
1734 ep->is_stall = false; in dwc3_handle_dev_event()
1736 ret = dwc3_ep_clear_stall(dwc3_handle, ep); in dwc3_handle_dev_event()
1747 usb_dwc3_endpoint_t *ep = &dwc3_handle->OUT_ep[i]; in dwc3_handle_dev_event() local
1749 if (!ep->is_stall) { in dwc3_handle_dev_event()
1753 ep->is_stall = false; in dwc3_handle_dev_event()
1757 ret = dwc3_ep_clear_stall(dwc3_handle, ep); in dwc3_handle_dev_event()