Lines Matching defs:uep
710 struct isp1760_ep *uep = ep_to_udc_ep(ep);
711 struct isp1760_udc *udc = uep->udc;
715 dev_dbg(uep->udc->isp->dev, "%s\n", __func__);
723 desc->bEndpointAddress != uep->addr ||
728 desc->bEndpointAddress, uep->addr,
752 uep->desc = desc;
753 uep->maxpacket = le16_to_cpu(desc->wMaxPacketSize);
754 uep->rx_pending = false;
755 uep->halted = false;
756 uep->wedged = false;
758 isp1760_udc_select_ep(uep);
759 isp1760_udc_write(udc, DC_EPMAXPKTSZ, uep->maxpacket);
760 isp1760_udc_write(udc, DC_BUFLEN, uep->maxpacket);
770 struct isp1760_ep *uep = ep_to_udc_ep(ep);
771 struct isp1760_udc *udc = uep->udc;
780 if (!uep->desc) {
786 uep->desc = NULL;
787 uep->maxpacket = 0;
789 isp1760_udc_select_ep(uep);
794 list_splice_init(&uep->queue, &req_list);
800 isp1760_udc_request_complete(uep, req, -ESHUTDOWN);
829 struct isp1760_ep *uep = ep_to_udc_ep(ep);
830 struct isp1760_udc *udc = uep->udc;
842 _req->length, _req->zero ? " (zlp)" : "", uep, uep->addr);
844 req->ep = uep;
846 if (uep->addr == 0) {
861 list_add_tail(&req->queue, &uep->queue);
862 isp1760_udc_transmit(uep, req);
866 list_add_tail(&req->queue, &uep->queue);
867 __isp1760_udc_select_ep(uep, USB_DIR_OUT);
881 } else if (uep->desc) {
882 bool empty = list_empty(&uep->queue);
884 list_add_tail(&req->queue, &uep->queue);
885 if ((uep->addr & USB_DIR_IN) && !uep->halted && empty)
886 isp1760_udc_transmit(uep, req);
887 else if (!(uep->addr & USB_DIR_IN) && uep->rx_pending)
888 complete = isp1760_udc_receive(uep, req);
892 __func__, uep->addr);
903 isp1760_udc_request_complete(uep, req, 0);
911 struct isp1760_ep *uep = ep_to_udc_ep(ep);
912 struct isp1760_udc *udc = uep->udc;
915 dev_dbg(uep->udc->isp->dev, "%s(ep%02x)\n", __func__, uep->addr);
919 if (req->ep != uep)
929 isp1760_udc_request_complete(uep, req, -ECONNRESET);
933 static int __isp1760_ep_set_halt(struct isp1760_ep *uep, bool stall, bool wedge)
935 struct isp1760_udc *udc = uep->udc;
938 if (!uep->addr) {
951 if (uep->addr && !uep->desc) {
953 uep->addr);
957 if (uep->addr & USB_DIR_IN) {
959 if (!list_empty(&uep->queue)) {
962 uep->addr);
967 ret = __isp1760_udc_set_halt(uep, stall);
971 if (!uep->addr) {
981 uep->wedged = true;
983 uep->wedged = false;
990 struct isp1760_ep *uep = ep_to_udc_ep(ep);
994 dev_dbg(uep->udc->isp->dev, "%s: %s halt on ep%02x\n", __func__,
995 value ? "set" : "clear", uep->addr);
997 spin_lock_irqsave(&uep->udc->lock, flags);
998 ret = __isp1760_ep_set_halt(uep, value, false);
999 spin_unlock_irqrestore(&uep->udc->lock, flags);
1006 struct isp1760_ep *uep = ep_to_udc_ep(ep);
1010 dev_dbg(uep->udc->isp->dev, "%s: set wedge on ep%02x)\n", __func__,
1011 uep->addr);
1013 spin_lock_irqsave(&uep->udc->lock, flags);
1014 ret = __isp1760_ep_set_halt(uep, true, true);
1015 spin_unlock_irqrestore(&uep->udc->lock, flags);
1022 struct isp1760_ep *uep = ep_to_udc_ep(ep);
1023 struct isp1760_udc *udc = uep->udc;
1028 isp1760_udc_select_ep(uep);