musb_ep 29 drivers/usb/musb/musb_core.h struct musb_ep; musb_ep 228 drivers/usb/musb/musb_core.h struct musb_ep ep_in; /* TX */ musb_ep 229 drivers/usb/musb/musb_core.h struct musb_ep ep_out; /* RX */ musb_ep 33 drivers/usb/musb/musb_gadget.c struct musb *musb, struct musb_ep *musb_ep) musb_ep 40 drivers/usb/musb/musb_gadget.c if (!is_dma_capable() || !musb_ep->dma) musb_ep 48 drivers/usb/musb/musb_gadget.c compatible = dma->is_compatible(musb_ep->dma, musb_ep 49 drivers/usb/musb/musb_gadget.c musb_ep->packet_sz, request->request.buf, musb_ep 86 drivers/usb/musb/musb_gadget.c struct musb_ep *musb_ep = request->ep; musb_ep 88 drivers/usb/musb/musb_gadget.c if (!is_buffer_mapped(request) || !musb_ep->dma) musb_ep 123 drivers/usb/musb/musb_gadget.c struct musb_ep *ep, musb_ep 158 drivers/usb/musb/musb_gadget.c static void nuke(struct musb_ep *ep, const int status) musb_ep 208 drivers/usb/musb/musb_gadget.c static inline int max_ep_writesize(struct musb *musb, struct musb_ep *ep) musb_ep 226 drivers/usb/musb/musb_gadget.c struct musb_ep *musb_ep; musb_ep 232 drivers/usb/musb/musb_gadget.c musb_ep = req->ep; musb_ep 235 drivers/usb/musb/musb_gadget.c if (!musb_ep->desc) { musb_ep 237 drivers/usb/musb/musb_gadget.c musb_ep->end_point.name); musb_ep 242 drivers/usb/musb/musb_gadget.c if (dma_channel_status(musb_ep->dma) == MUSB_DMA_STATUS_BUSY) { musb_ep 251 drivers/usb/musb/musb_gadget.c fifo_count = min(max_ep_writesize(musb, musb_ep), musb_ep 256 drivers/usb/musb/musb_gadget.c musb_ep->end_point.name, csr); musb_ep 262 drivers/usb/musb/musb_gadget.c musb_ep->end_point.name, csr); musb_ep 267 drivers/usb/musb/musb_gadget.c epnum, musb_ep->packet_sz, fifo_count, musb_ep 277 drivers/usb/musb/musb_gadget.c musb_ep->dma->max_len); musb_ep 284 drivers/usb/musb/musb_gadget.c if (request_size < musb_ep->packet_sz) musb_ep 285 drivers/usb/musb/musb_gadget.c musb_ep->dma->desired_mode = 0; musb_ep 287 drivers/usb/musb/musb_gadget.c musb_ep->dma->desired_mode = 1; musb_ep 290 drivers/usb/musb/musb_gadget.c musb_ep->dma, musb_ep->packet_sz, musb_ep 291 drivers/usb/musb/musb_gadget.c musb_ep->dma->desired_mode, musb_ep 294 drivers/usb/musb/musb_gadget.c if (musb_ep->dma->desired_mode == 0) { musb_ep 322 drivers/usb/musb/musb_gadget.c if (!musb_ep->hb_mult || musb_ep 324 drivers/usb/musb/musb_gadget.c musb_ep->type)) musb_ep 358 drivers/usb/musb/musb_gadget.c musb_ep->dma, musb_ep->packet_sz, musb_ep 363 drivers/usb/musb/musb_gadget.c c->channel_release(musb_ep->dma); musb_ep 364 drivers/usb/musb/musb_gadget.c musb_ep->dma = NULL; musb_ep 371 drivers/usb/musb/musb_gadget.c musb_ep->dma, musb_ep->packet_sz, musb_ep 385 drivers/usb/musb/musb_gadget.c musb_write_fifo(musb_ep->hw_ep, fifo_count, musb_ep 395 drivers/usb/musb/musb_gadget.c musb_ep->end_point.name, use_dma ? "dma" : "pio", musb_ep 412 drivers/usb/musb/musb_gadget.c struct musb_ep *musb_ep = &musb->endpoints[epnum].ep_in; musb_ep 417 drivers/usb/musb/musb_gadget.c req = next_request(musb_ep); musb_ep 421 drivers/usb/musb/musb_gadget.c musb_dbg(musb, "<== %s, txcsr %04x", musb_ep->end_point.name, csr); musb_ep 423 drivers/usb/musb/musb_gadget.c dma = is_dma_capable() ? musb_ep->dma : NULL; musb_ep 450 drivers/usb/musb/musb_gadget.c musb_dbg(musb, "%s dma still busy?", musb_ep->end_point.name); musb_ep 465 drivers/usb/musb/musb_gadget.c request->actual += musb_ep->dma->actual_len; musb_ep 467 drivers/usb/musb/musb_gadget.c epnum, csr, musb_ep->dma->actual_len, request); musb_ep 475 drivers/usb/musb/musb_gadget.c && (request->length % musb_ep->packet_sz == 0) musb_ep 491 drivers/usb/musb/musb_gadget.c musb_g_giveback(musb_ep, request, 0); musb_ep 501 drivers/usb/musb/musb_gadget.c req = musb_ep->desc ? next_request(musb_ep) : NULL; musb_ep 504 drivers/usb/musb/musb_gadget.c musb_ep->end_point.name); musb_ep 522 drivers/usb/musb/musb_gadget.c struct musb_ep *musb_ep; musb_ep 531 drivers/usb/musb/musb_gadget.c musb_ep = &hw_ep->ep_in; musb_ep 533 drivers/usb/musb/musb_gadget.c musb_ep = &hw_ep->ep_out; musb_ep 535 drivers/usb/musb/musb_gadget.c fifo_count = musb_ep->packet_sz; musb_ep 538 drivers/usb/musb/musb_gadget.c if (!musb_ep->desc) { musb_ep 540 drivers/usb/musb/musb_gadget.c musb_ep->end_point.name); musb_ep 545 drivers/usb/musb/musb_gadget.c if (dma_channel_status(musb_ep->dma) == MUSB_DMA_STATUS_BUSY) { musb_ep 552 drivers/usb/musb/musb_gadget.c musb_ep->end_point.name, csr); musb_ep 558 drivers/usb/musb/musb_gadget.c struct dma_channel *channel = musb_ep->dma; musb_ep 566 drivers/usb/musb/musb_gadget.c musb_ep->packet_sz, musb_ep 592 drivers/usb/musb/musb_gadget.c if (request->short_not_ok && fifo_count == musb_ep->packet_sz) musb_ep 608 drivers/usb/musb/musb_gadget.c channel = musb_ep->dma; musb_ep 651 drivers/usb/musb/musb_gadget.c musb_ep->dma->desired_mode = 1; musb_ep 653 drivers/usb/musb/musb_gadget.c if (!musb_ep->hb_mult && musb_ep 654 drivers/usb/musb/musb_gadget.c musb_ep->hw_ep->rx_double_buffered) musb_ep 661 drivers/usb/musb/musb_gadget.c musb_ep->dma->desired_mode = 0; musb_ep 666 drivers/usb/musb/musb_gadget.c musb_ep->packet_sz, musb_ep 684 drivers/usb/musb/musb_gadget.c channel = musb_ep->dma; musb_ep 687 drivers/usb/musb/musb_gadget.c if (fifo_count < musb_ep->packet_sz) musb_ep 706 drivers/usb/musb/musb_gadget.c if (transfer_size <= musb_ep->packet_sz) { musb_ep 707 drivers/usb/musb/musb_gadget.c musb_ep->dma->desired_mode = 0; musb_ep 709 drivers/usb/musb/musb_gadget.c musb_ep->dma->desired_mode = 1; musb_ep 716 drivers/usb/musb/musb_gadget.c musb_ep->packet_sz, musb_ep 727 drivers/usb/musb/musb_gadget.c musb_ep->end_point.name, musb_ep 729 drivers/usb/musb/musb_gadget.c musb_ep->packet_sz); musb_ep 735 drivers/usb/musb/musb_gadget.c struct dma_channel *channel = musb_ep->dma; musb_ep 740 drivers/usb/musb/musb_gadget.c musb_ep->packet_sz, musb_ep 763 drivers/usb/musb/musb_gadget.c musb_read_fifo(musb_ep->hw_ep, fifo_count, (u8 *) musb_ep 780 drivers/usb/musb/musb_gadget.c fifo_count < musb_ep->packet_sz) musb_ep 781 drivers/usb/musb/musb_gadget.c musb_g_giveback(musb_ep, request, 0); musb_ep 793 drivers/usb/musb/musb_gadget.c struct musb_ep *musb_ep; musb_ep 799 drivers/usb/musb/musb_gadget.c musb_ep = &hw_ep->ep_in; musb_ep 801 drivers/usb/musb/musb_gadget.c musb_ep = &hw_ep->ep_out; musb_ep 805 drivers/usb/musb/musb_gadget.c req = next_request(musb_ep); musb_ep 813 drivers/usb/musb/musb_gadget.c dma = is_dma_capable() ? musb_ep->dma : NULL; musb_ep 815 drivers/usb/musb/musb_gadget.c musb_dbg(musb, "<== %s, rxcsr %04x%s %p", musb_ep->end_point.name, musb_ep 830 drivers/usb/musb/musb_gadget.c musb_dbg(musb, "%s iso overrun on %p", musb_ep->name, request); musb_ep 836 drivers/usb/musb/musb_gadget.c musb_dbg(musb, "%s, incomprx", musb_ep->end_point.name); musb_ep 842 drivers/usb/musb/musb_gadget.c musb_ep->end_point.name, csr); musb_ep 853 drivers/usb/musb/musb_gadget.c request->actual += musb_ep->dma->actual_len; musb_ep 860 drivers/usb/musb/musb_gadget.c & (musb_ep->packet_sz - 1))) { musb_ep 868 drivers/usb/musb/musb_gadget.c && (musb_ep->dma->actual_len musb_ep 869 drivers/usb/musb/musb_gadget.c == musb_ep->packet_sz)) { musb_ep 880 drivers/usb/musb/musb_gadget.c musb_g_giveback(musb_ep, request, 0); musb_ep 891 drivers/usb/musb/musb_gadget.c req = next_request(musb_ep); musb_ep 909 drivers/usb/musb/musb_gadget.c struct musb_ep *musb_ep; musb_ep 922 drivers/usb/musb/musb_gadget.c musb_ep = to_musb_ep(ep); musb_ep 923 drivers/usb/musb/musb_gadget.c hw_ep = musb_ep->hw_ep; musb_ep 925 drivers/usb/musb/musb_gadget.c musb = musb_ep->musb; musb_ep 927 drivers/usb/musb/musb_gadget.c epnum = musb_ep->current_epnum; musb_ep 931 drivers/usb/musb/musb_gadget.c if (musb_ep->desc) { musb_ep 935 drivers/usb/musb/musb_gadget.c musb_ep->type = usb_endpoint_type(desc); musb_ep 955 drivers/usb/musb/musb_gadget.c musb_ep->hb_mult = tmp; musb_ep 957 drivers/usb/musb/musb_gadget.c musb_ep->hb_mult = 0; musb_ep 960 drivers/usb/musb/musb_gadget.c musb_ep->packet_sz = usb_endpoint_maxp(desc); musb_ep 961 drivers/usb/musb/musb_gadget.c tmp = musb_ep->packet_sz * (musb_ep->hb_mult + 1); musb_ep 970 drivers/usb/musb/musb_gadget.c musb_ep->is_in = 1; musb_ep 971 drivers/usb/musb/musb_gadget.c if (!musb_ep->is_in) musb_ep 988 drivers/usb/musb/musb_gadget.c if (can_bulk_split(musb, musb_ep->type)) musb_ep 989 drivers/usb/musb/musb_gadget.c musb_ep->hb_mult = (hw_ep->max_packet_sz_tx / musb_ep 990 drivers/usb/musb/musb_gadget.c musb_ep->packet_sz) - 1; musb_ep 991 drivers/usb/musb/musb_gadget.c musb_writew(regs, MUSB_TXMAXP, musb_ep->packet_sz musb_ep 992 drivers/usb/musb/musb_gadget.c | (musb_ep->hb_mult << 11)); musb_ep 998 drivers/usb/musb/musb_gadget.c if (musb_ep->type == USB_ENDPOINT_XFER_ISOC) musb_ep 1009 drivers/usb/musb/musb_gadget.c musb_ep->is_in = 0; musb_ep 1010 drivers/usb/musb/musb_gadget.c if (musb_ep->is_in) musb_ep 1027 drivers/usb/musb/musb_gadget.c musb_writew(regs, MUSB_RXMAXP, musb_ep->packet_sz musb_ep 1028 drivers/usb/musb/musb_gadget.c | (musb_ep->hb_mult << 11)); musb_ep 1038 drivers/usb/musb/musb_gadget.c if (musb_ep->type == USB_ENDPOINT_XFER_ISOC) musb_ep 1040 drivers/usb/musb/musb_gadget.c else if (musb_ep->type == USB_ENDPOINT_XFER_INT) musb_ep 1054 drivers/usb/musb/musb_gadget.c musb_ep->dma = c->channel_alloc(c, hw_ep, musb_ep 1057 drivers/usb/musb/musb_gadget.c musb_ep->dma = NULL; musb_ep 1059 drivers/usb/musb/musb_gadget.c musb_ep->desc = desc; musb_ep 1060 drivers/usb/musb/musb_gadget.c musb_ep->busy = 0; musb_ep 1061 drivers/usb/musb/musb_gadget.c musb_ep->wedged = 0; musb_ep 1065 drivers/usb/musb/musb_gadget.c musb_driver_name, musb_ep->end_point.name, musb_ep 1066 drivers/usb/musb/musb_gadget.c musb_ep_xfertype_string(musb_ep->type), musb_ep 1067 drivers/usb/musb/musb_gadget.c musb_ep->is_in ? "IN" : "OUT", musb_ep 1068 drivers/usb/musb/musb_gadget.c musb_ep->dma ? "dma, " : "", musb_ep 1069 drivers/usb/musb/musb_gadget.c musb_ep->packet_sz); musb_ep 1086 drivers/usb/musb/musb_gadget.c struct musb_ep *musb_ep; musb_ep 1090 drivers/usb/musb/musb_gadget.c musb_ep = to_musb_ep(ep); musb_ep 1091 drivers/usb/musb/musb_gadget.c musb = musb_ep->musb; musb_ep 1092 drivers/usb/musb/musb_gadget.c epnum = musb_ep->current_epnum; musb_ep 1099 drivers/usb/musb/musb_gadget.c if (musb_ep->is_in) { musb_ep 1110 drivers/usb/musb/musb_gadget.c nuke(musb_ep, -ESHUTDOWN); musb_ep 1112 drivers/usb/musb/musb_gadget.c musb_ep->desc = NULL; musb_ep 1113 drivers/usb/musb/musb_gadget.c musb_ep->end_point.desc = NULL; musb_ep 1119 drivers/usb/musb/musb_gadget.c musb_dbg(musb, "%s", musb_ep->end_point.name); musb_ep 1130 drivers/usb/musb/musb_gadget.c struct musb_ep *musb_ep = to_musb_ep(ep); musb_ep 1138 drivers/usb/musb/musb_gadget.c request->epnum = musb_ep->current_epnum; musb_ep 1139 drivers/usb/musb/musb_gadget.c request->ep = musb_ep; musb_ep 1191 drivers/usb/musb/musb_gadget.c struct musb_ep *musb_ep; musb_ep 1202 drivers/usb/musb/musb_gadget.c musb_ep = to_musb_ep(ep); musb_ep 1203 drivers/usb/musb/musb_gadget.c musb = musb_ep->musb; musb_ep 1208 drivers/usb/musb/musb_gadget.c if (request->ep != musb_ep) musb_ep 1227 drivers/usb/musb/musb_gadget.c request->epnum = musb_ep->current_epnum; musb_ep 1228 drivers/usb/musb/musb_gadget.c request->tx = musb_ep->is_in; musb_ep 1230 drivers/usb/musb/musb_gadget.c map_dma_buffer(request, musb, musb_ep); musb_ep 1235 drivers/usb/musb/musb_gadget.c if (!musb_ep->desc) { musb_ep 1244 drivers/usb/musb/musb_gadget.c list_add_tail(&request->list, &musb_ep->req_list); musb_ep 1247 drivers/usb/musb/musb_gadget.c if (!musb_ep->busy && &request->list == musb_ep->req_list.next) { musb_ep 1266 drivers/usb/musb/musb_gadget.c struct musb_ep *musb_ep = to_musb_ep(ep); musb_ep 1271 drivers/usb/musb/musb_gadget.c struct musb *musb = musb_ep->musb; musb_ep 1273 drivers/usb/musb/musb_gadget.c if (!ep || !request || req->ep != musb_ep) musb_ep 1280 drivers/usb/musb/musb_gadget.c list_for_each_entry(r, &musb_ep->req_list, list) { musb_ep 1292 drivers/usb/musb/musb_gadget.c if (musb_ep->req_list.next != &req->list || musb_ep->busy) musb_ep 1293 drivers/usb/musb/musb_gadget.c musb_g_giveback(musb_ep, request, -ECONNRESET); musb_ep 1296 drivers/usb/musb/musb_gadget.c else if (is_dma_capable() && musb_ep->dma) { musb_ep 1299 drivers/usb/musb/musb_gadget.c musb_ep_select(musb->mregs, musb_ep->current_epnum); musb_ep 1301 drivers/usb/musb/musb_gadget.c status = c->channel_abort(musb_ep->dma); musb_ep 1305 drivers/usb/musb/musb_gadget.c musb_g_giveback(musb_ep, request, -ECONNRESET); musb_ep 1310 drivers/usb/musb/musb_gadget.c musb_g_giveback(musb_ep, request, -ECONNRESET); musb_ep 1326 drivers/usb/musb/musb_gadget.c struct musb_ep *musb_ep = to_musb_ep(ep); musb_ep 1327 drivers/usb/musb/musb_gadget.c u8 epnum = musb_ep->current_epnum; musb_ep 1328 drivers/usb/musb/musb_gadget.c struct musb *musb = musb_ep->musb; musb_ep 1342 drivers/usb/musb/musb_gadget.c if ((USB_ENDPOINT_XFER_ISOC == musb_ep->type)) { musb_ep 1349 drivers/usb/musb/musb_gadget.c request = next_request(musb_ep); musb_ep 1358 drivers/usb/musb/musb_gadget.c if (musb_ep->is_in) { musb_ep 1368 drivers/usb/musb/musb_gadget.c musb_ep->wedged = 0; musb_ep 1372 drivers/usb/musb/musb_gadget.c if (musb_ep->is_in) { musb_ep 1397 drivers/usb/musb/musb_gadget.c if (!musb_ep->busy && !value && request) { musb_ep 1412 drivers/usb/musb/musb_gadget.c struct musb_ep *musb_ep = to_musb_ep(ep); musb_ep 1417 drivers/usb/musb/musb_gadget.c musb_ep->wedged = 1; musb_ep 1424 drivers/usb/musb/musb_gadget.c struct musb_ep *musb_ep = to_musb_ep(ep); musb_ep 1425 drivers/usb/musb/musb_gadget.c void __iomem *epio = musb_ep->hw_ep->regs; musb_ep 1428 drivers/usb/musb/musb_gadget.c if (musb_ep->desc && !musb_ep->is_in) { musb_ep 1429 drivers/usb/musb/musb_gadget.c struct musb *musb = musb_ep->musb; musb_ep 1430 drivers/usb/musb/musb_gadget.c int epnum = musb_ep->current_epnum; musb_ep 1447 drivers/usb/musb/musb_gadget.c struct musb_ep *musb_ep = to_musb_ep(ep); musb_ep 1448 drivers/usb/musb/musb_gadget.c struct musb *musb = musb_ep->musb; musb_ep 1449 drivers/usb/musb/musb_gadget.c u8 epnum = musb_ep->current_epnum; musb_ep 1463 drivers/usb/musb/musb_gadget.c if (musb_ep->is_in) { musb_ep 1691 drivers/usb/musb/musb_gadget.c init_peripheral_ep(struct musb *musb, struct musb_ep *ep, u8 epnum, int is_in) musb_ep 56 drivers/usb/musb/musb_gadget.h struct musb_ep *ep; musb_ep 99 drivers/usb/musb/musb_gadget.h #define to_musb_ep(ep) container_of((ep), struct musb_ep, end_point) musb_ep 101 drivers/usb/musb/musb_gadget.h static inline struct musb_request *next_request(struct musb_ep *ep) musb_ep 112 drivers/usb/musb/musb_gadget.h extern void musb_g_giveback(struct musb_ep *, struct usb_request *, int); musb_ep 81 drivers/usb/musb/musb_gadget_ep0.c struct musb_ep *ep; musb_ep 238 drivers/usb/musb/musb_gadget_ep0.c struct musb_ep *musb_ep; musb_ep 253 drivers/usb/musb/musb_gadget_ep0.c musb_ep = &ep->ep_in; musb_ep 255 drivers/usb/musb/musb_gadget_ep0.c musb_ep = &ep->ep_out; musb_ep 256 drivers/usb/musb/musb_gadget_ep0.c if (!musb_ep->desc) musb_ep 261 drivers/usb/musb/musb_gadget_ep0.c if (musb_ep->wedged) musb_ep 283 drivers/usb/musb/musb_gadget_ep0.c request = next_request(musb_ep); musb_ep 284 drivers/usb/musb/musb_gadget_ep0.c if (!musb_ep->busy && request) { musb_ep 403 drivers/usb/musb/musb_gadget_ep0.c struct musb_ep *musb_ep; musb_ep 417 drivers/usb/musb/musb_gadget_ep0.c musb_ep = &ep->ep_in; musb_ep 419 drivers/usb/musb/musb_gadget_ep0.c musb_ep = &ep->ep_out; musb_ep 420 drivers/usb/musb/musb_gadget_ep0.c if (!musb_ep->desc) musb_ep 909 drivers/usb/musb/musb_gadget_ep0.c struct musb_ep *ep; musb_ep 996 drivers/usb/musb/musb_gadget_ep0.c struct musb_ep *ep;