Lines Matching refs:endpoint

55 static int udc_write_urb(struct usb_endpoint_instance *endpoint)  in udc_write_urb()  argument
57 struct urb *urb = endpoint->tx_urb; in udc_write_urb()
58 int ep_num = endpoint->endpoint_address & USB_ENDPOINT_NUMBER_MASK; in udc_write_urb()
67 n = min_t(unsigned int, urb->actual_length - endpoint->sent, in udc_write_urb()
68 endpoint->tx_packetSize); in udc_write_urb()
77 endpoint->sent, endpoint->tx_packetSize, endpoint->last); in udc_write_urb()
80 is_short = n != endpoint->tx_packetSize; in udc_write_urb()
84 udc_dump_buffer("urb write", data8 + endpoint->sent, n); in udc_write_urb()
91 writel(data32[endpoint->sent / 4 + i], UDCDN(ep_num)); in udc_write_urb()
94 writeb(data8[endpoint->sent + w * 4 + i], UDCDN(ep_num)); in udc_write_urb()
110 endpoint->last = n; in udc_write_urb()
113 usbd_tx_complete(endpoint); in udc_write_urb()
115 endpoint->sent += n; in udc_write_urb()
116 endpoint->last -= n; in udc_write_urb()
119 if (endpoint->sent >= urb->actual_length) { in udc_write_urb()
121 endpoint->sent = 0; in udc_write_urb()
122 endpoint->last = 0; in udc_write_urb()
125 if ((endpoint->sent >= urb->actual_length) && (!ep_num)) { in udc_write_urb()
136 static int udc_read_urb(struct usb_endpoint_instance *endpoint) in udc_read_urb() argument
138 struct urb *urb = endpoint->rcv_urb; in udc_read_urb()
139 int ep_num = endpoint->endpoint_address & USB_ENDPOINT_NUMBER_MASK; in udc_read_urb()
148 endpoint->rcv_packetSize); in udc_read_urb()
156 usbdbg("n %d%s", n, n != endpoint->rcv_packetSize ? "-s" : ""); in udc_read_urb()
161 usbd_rcv_complete(endpoint, n, 0); in udc_read_urb()
203 static void udc_handle_ep0(struct usb_endpoint_instance *endpoint) in udc_handle_ep0() argument
293 endpoint->tx_urb = ep0_urb; in udc_handle_ep0()
294 endpoint->sent = 0; in udc_handle_ep0()
297 if (udc_write_urb(endpoint) < 0) in udc_handle_ep0()
353 if (udc_write_urb(endpoint) < 0) { in udc_handle_ep0()
371 static void udc_handle_ep(struct usb_endpoint_instance *endpoint) in udc_handle_ep() argument
373 int ep_addr = endpoint->endpoint_address; in udc_handle_ep()
382 udc_read_urb(endpoint); in udc_handle_ep()
384 udc_write_urb(endpoint); in udc_handle_ep()
406 struct usb_endpoint_instance *endpoint; in udc_irq() local
452 endpoint = udc_device->bus->endpoint_array; in udc_irq()
454 ep_num = (endpoint[i].endpoint_address) & in udc_irq()
463 udc_handle_ep(&endpoint[i]); in udc_irq()
518 int udc_endpoint_write(struct usb_endpoint_instance *endpoint) in udc_endpoint_write() argument
520 return udc_write_urb(endpoint); in udc_endpoint_write()
525 struct usb_endpoint_instance *endpoint) in udc_setup_ep() argument
533 if (!endpoint) { in udc_setup_ep()
538 ep_num = endpoint->endpoint_address & USB_ENDPOINT_NUMBER_MASK; in udc_setup_ep()
557 ep_addr = endpoint->endpoint_address; in udc_setup_ep()
560 ep_type = ep_isout ? endpoint->rcv_attributes : endpoint->tx_attributes; in udc_setup_ep()
561 ep_size = ep_isout ? endpoint->rcv_packetSize : endpoint->tx_packetSize; in udc_setup_ep()