Home | History | Annotate | Download | only in DwUsb3Dxe

Lines Matching defs:ep

59 // Maxpacket size for any EP, defined by USB3 spec
406 IN usb3_pcd_ep_t *ep
412 /* If the EP is already enabled, skip to set it again. */
452 IN OUT usb3_pcd_ep_t *ep
456 if (ep->is_in) {
457 EpIdx = EP_IN_IDX (ep->num);
459 EpIdx = EP_OUT_IDX (ep->num);
462 /* Start a new configurate when enable the first EP. */
490 /* issue DEPCFG command to EP */
491 DepCfg0 = EPCFG0_EPTYPE (ep->type);
492 DepCfg0 |= EPCFG0_MPS (ep->maxpacket);
493 if (ep->is_in) {
494 DepCfg0 |= EPCFG0_TXFNUM (ep->tx_fifo_num);
496 DepCfg0 |= EPCFG0_BRSTSIZ (ep->maxburst);
497 DepCfg1 = EPCFG1_EP_NUM (ep->num);
498 if (ep->is_in) {
504 /* issue DEPSTRMCFG command to EP */
506 DwUsb3EnableEp (EpIdx, ep);
507 ep->active = 1;
635 usb3_pcd_ep_t *ep;
640 ep = &pcd->ep0;
641 ep->pcd = pcd;
642 ep->stopped = 1;
643 ep->is_in = 0;
644 ep->active = 0;
645 ep->phys = 0;
646 ep->num = 0;
647 ep->tx_fifo_num = 0;
648 ep->type = EPTYPE_CONTROL;
649 ep->maxburst = 0;
650 ep->maxpacket = USB3_MAX_EP0_SIZE;
651 ep->send_zlp = 0;
652 ep->req.length = 0;
653 ep->req.actual = 0;
658 ep = &pcd->out_ep;
659 ep->pcd = pcd;
660 ep->stopped = 1;
661 ep->is_in = 0;
662 ep->active = 0;
663 ep->phys = USB3_BULK_OUT_EP << 1;
664 ep->num = 1;
665 ep->tx_fifo_num = 0;
666 // bulk ep is activated
667 ep->type = EPTYPE_BULK;
668 ep->maxburst = 0;
669 ep->maxpacket = USB3_MAX_PACKET_SIZE;
670 ep->send_zlp = 0;
671 ep->req.length = 0;
672 ep->req.actual = 0;
675 ep = &pcd->in_ep;
676 ep->stopped = 1;
677 ep->is_in = 1;
678 ep->active = 0;
679 ep->phys = (USB3_BULK_IN_EP << 1) | 1;
680 ep->num = 1;
681 ep->tx_fifo_num = USB3_BULK_IN_EP;
682 // bulk ep is activated
683 ep->type = EPTYPE_BULK;
684 ep->maxburst = 0;
685 ep->maxpacket = USB3_MAX_PACKET_SIZE;
686 ep->send_zlp = 0;
687 ep->req.length = 0;
688 ep->req.actual = 0;
715 usb3_pcd_ep_t *ep;
717 // clear stall on each EP
718 ep = &pcd->in_ep;
719 if (ep->xfer_started) {
720 if (ep->is_in) {
721 DwUsb3DepStopXfer (EP_IN_IDX (ep->num), ep->tri_in);
723 DwUsb3DepStopXfer (EP_OUT_IDX (ep->num), ep->tri_out);
726 if (ep->stopped) {
727 if (ep->is_in) {
728 DwUsb3DepClearStall (EP_IN_IDX (ep->num));
730 DwUsb3DepClearStall (EP_OUT_IDX (ep->num));
734 ep = &pcd->out_ep;
735 if (ep->xfer_started) {
736 if (ep->is_in) {
737 DwUsb3DepStopXfer (EP_IN_IDX (ep->num), ep->tri_in);
739 DwUsb3DepStopXfer (EP_OUT_IDX (ep->num), ep->tri_out);
742 if (ep->stopped) {
743 if (ep->is_in) {
744 DwUsb3DepClearStall (EP_IN_IDX (ep->num));
746 DwUsb3DepClearStall (EP_OUT_IDX (ep->num));
969 usb3_pcd_ep_t *ep = &pcd->ep0;
977 if (ep->is_in) {
993 IN usb3_pcd_ep_t *ep,
998 if (ep == &pcd->ep0) {
999 if (ep->is_in) {
1008 req->trb = ep->ep_desc;
1009 req->trbdma = (UINT64)ep->ep_desc;
1085 IN usb3_pcd_ep_t *ep
1088 usb3_pcd_req_t *req = &ep->req;
1094 DwUsb3OsGetTrb (pcd, ep, req);
1098 if (ep->is_in) {
1101 if (ep->xfer_started && !(desc->control & DSCCTL_HWO)) {
1103 ep->xfer_started = 0;
1108 len = (req->length + ep->maxpacket - 1) & ~(ep->maxpacket - 1);
1121 if (ep->is_in) {
1123 if (ep->xfer_started) {
1124 // issue DEPUPDTXFER command to EP
1125 DwUsb3DepUpdateXfer (EP_IN_IDX (ep->num), ep->tri_in);
1127 ep->tri_in = DwUsb3DepStartXfer (EP_IN_IDX (ep->num), desc_dma, 0);
1128 ep->xfer_started = 1;
1132 if (ep->xfer_started) {
1133 // issue DEPUPDTXFER command to EP
1134 DwUsb3DepUpdateXfer (EP_OUT_IDX (ep->num), ep->tri_out);
1136 ep->tri_out = DwUsb3DepStartXfer (EP_OUT_IDX (ep->num), desc_dma, 0);
1137 ep->xfer_started = 1;
1140 if (ep->is_in) {
1148 DEBUG ((DEBUG_INFO, "[%a]: ep%d transfer timeout!\n", __func__, ep->num));
1152 ep->xfer_started = 0;
1162 IN usb3_pcd_ep_t *ep
1165 if (ep->is_in) {
1166 DwUsb3DepStopXfer (EP_IN_IDX (ep->num), ep->tri_in);
1168 DwUsb3DepStopXfer (EP_OUT_IDX (ep->num), ep->tri_out);
1394 usb3_pcd_ep_t *ep;
1422 ep = Addr2EndPoint (pcd, ctrl->wIndex);
1423 *status = ep->stopped;
1440 IN usb3_pcd_ep_t *ep
1443 if (ep->is_in) {
1444 DwUsb3DepClearStall (EP_IN_IDX (ep->num));
1446 DwUsb3DepClearStall (EP_OUT_IDX (ep->num));
1448 if (ep->stopped) {
1449 ep->stopped = 0;
1457 IN usb3_pcd_ep_t *ep
1460 // activate the EP
1461 ep->stopped = 0;
1462 ep->xfer_started = 0;
1463 ep->ep_desc->control = 0;
1464 ep->ep_desc->status = 0;
1466 if (ep->type == EPTYPE_BULK) {
1467 ep->data_pid_start = 0;
1469 DwUsb3EpActivate (pcd, ep);
1479 usb3_pcd_ep_t *ep;
1522 ep = Addr2EndPoint (pcd, ctrl->wIndex);
1527 DoClearHalt (pcd, ep);
1544 usb3_pcd_ep_t *ep;
1593 ep = Addr2EndPoint (pcd, ctrl->wIndex);
1598 ep->stopped = 1;
1599 if (ep->is_in) {
1600 DwUsb3DepClearStall (EP_IN_IDX (ep->num));
1602 DwUsb3DepClearStall (EP_OUT_IDX (ep->num));
1651 usb3_pcd_ep_t *ep;
1665 ep = &pcd->in_ep;
1666 Usb3PcdEpEnable (pcd, ep);
1668 ep = &pcd->out_ep;
1669 Usb3PcdEpEnable (pcd, ep);
1723 usb3_pcd_ep_t *ep;
1737 ep = &pcd->in_ep;
1738 Usb3PcdEpEnable (pcd, ep);
1740 ep = &pcd->out_ep;
1741 Usb3PcdEpEnable (pcd, ep);
1751 usb3_pcd_ep_t *ep = &pcd->out_ep;
1752 usb3_pcd_req_t *req = &ep->req;
1771 DwUsb3EndPointXStartTransfer (pcd, ep);
2058 IN usb3_pcd_ep_t *ep,
2063 if (ep != &pcd->ep0) {
2069 if (!ep->is_in) {
2082 IN usb3_pcd_ep_t *ep,
2086 usb3_pcd_req_t *req = &ep->req;
2090 ep->send_zlp = 0;
2099 if (ep->is_in) {
2100 // IN ep
2105 ep->tri_in = 0;
2108 DwUsb3RequestDone (pcd, ep, req, 0);
2110 // OUT ep
2115 ep->tri_out = 0;
2119 DwUsb3RequestDone (pcd, ep, req, 0);
2122 usb3_pcd_ep_t *ep = &pcd->out_ep;
2123 usb3_pcd_req_t *req = &ep->req;
2142 DwUsb3EndPointXStartTransfer (pcd, ep);
2155 usb3_pcd_ep_t *ep;
2162 // Get the EP pointer
2164 ep = DwUsb3GetInEndPoint (pcd, epnum);
2166 ep = DwUsb3GetOutEndPoint (pcd, epnum);
2171 ep->xfer_started = 0;
2176 DwUsb3EndPointcompleteRequest (pcd, ep, event);
2317 usb3_pcd_ep_t *ep = &pcd->in_ep;
2318 usb3_pcd_req_t *req = &ep->req;
2323 DwUsb3EndPointXStartTransfer (pcd, ep);