Symbol: musb_ep
drivers/usb/musb/musb_core.h
237
struct musb_ep ep_in; /* TX */
drivers/usb/musb/musb_core.h
238
struct musb_ep ep_out; /* RX */
drivers/usb/musb/musb_core.h
29
struct musb_ep;
drivers/usb/musb/musb_gadget.c
1002
if (musb_ep->type == USB_ENDPOINT_XFER_ISOC)
drivers/usb/musb/musb_gadget.c
1013
musb_ep->is_in = 0;
drivers/usb/musb/musb_gadget.c
1014
if (musb_ep->is_in)
drivers/usb/musb/musb_gadget.c
1031
musb_writew(regs, MUSB_RXMAXP, musb_ep->packet_sz
drivers/usb/musb/musb_gadget.c
1032
| (musb_ep->hb_mult << 11));
drivers/usb/musb/musb_gadget.c
1042
if (musb_ep->type == USB_ENDPOINT_XFER_ISOC)
drivers/usb/musb/musb_gadget.c
1044
else if (musb_ep->type == USB_ENDPOINT_XFER_INT)
drivers/usb/musb/musb_gadget.c
1058
musb_ep->dma = c->channel_alloc(c, hw_ep,
drivers/usb/musb/musb_gadget.c
1061
musb_ep->dma = NULL;
drivers/usb/musb/musb_gadget.c
1063
musb_ep->desc = desc;
drivers/usb/musb/musb_gadget.c
1064
musb_ep->busy = 0;
drivers/usb/musb/musb_gadget.c
1065
musb_ep->wedged = 0;
drivers/usb/musb/musb_gadget.c
1069
musb_driver_name, musb_ep->end_point.name,
drivers/usb/musb/musb_gadget.c
1070
musb_ep_xfertype_string(musb_ep->type),
drivers/usb/musb/musb_gadget.c
1071
musb_ep->is_in ? "IN" : "OUT",
drivers/usb/musb/musb_gadget.c
1072
musb_ep->dma ? "dma, " : "",
drivers/usb/musb/musb_gadget.c
1073
musb_ep->packet_sz);
drivers/usb/musb/musb_gadget.c
1090
struct musb_ep *musb_ep;
drivers/usb/musb/musb_gadget.c
1093
musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
1094
musb = musb_ep->musb;
drivers/usb/musb/musb_gadget.c
1095
epnum = musb_ep->current_epnum;
drivers/usb/musb/musb_gadget.c
1102
if (musb_ep->is_in) {
drivers/usb/musb/musb_gadget.c
1113
nuke(musb_ep, -ESHUTDOWN);
drivers/usb/musb/musb_gadget.c
1115
musb_ep->desc = NULL;
drivers/usb/musb/musb_gadget.c
1116
musb_ep->end_point.desc = NULL;
drivers/usb/musb/musb_gadget.c
1122
musb_dbg(musb, "%s", musb_ep->end_point.name);
drivers/usb/musb/musb_gadget.c
1133
struct musb_ep *musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
1141
request->epnum = musb_ep->current_epnum;
drivers/usb/musb/musb_gadget.c
1142
request->ep = musb_ep;
drivers/usb/musb/musb_gadget.c
1192
struct musb_ep *musb_ep;
drivers/usb/musb/musb_gadget.c
1203
musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
1204
musb = musb_ep->musb;
drivers/usb/musb/musb_gadget.c
1209
if (request->ep != musb_ep)
drivers/usb/musb/musb_gadget.c
1228
request->epnum = musb_ep->current_epnum;
drivers/usb/musb/musb_gadget.c
1229
request->tx = musb_ep->is_in;
drivers/usb/musb/musb_gadget.c
1231
map_dma_buffer(request, musb, musb_ep);
drivers/usb/musb/musb_gadget.c
1236
if (!musb_ep->desc) {
drivers/usb/musb/musb_gadget.c
124
struct musb_ep *ep,
drivers/usb/musb/musb_gadget.c
1245
list_add_tail(&request->list, &musb_ep->req_list);
drivers/usb/musb/musb_gadget.c
1248
if (!musb_ep->busy && &request->list == musb_ep->req_list.next) {
drivers/usb/musb/musb_gadget.c
1268
struct musb_ep *musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
1273
struct musb *musb = musb_ep->musb;
drivers/usb/musb/musb_gadget.c
1275
if (!ep || !request || req->ep != musb_ep)
drivers/usb/musb/musb_gadget.c
1282
list_for_each_entry(r, &musb_ep->req_list, list) {
drivers/usb/musb/musb_gadget.c
1294
if (musb_ep->req_list.next != &req->list || musb_ep->busy)
drivers/usb/musb/musb_gadget.c
1295
musb_g_giveback(musb_ep, request, -ECONNRESET);
drivers/usb/musb/musb_gadget.c
1298
else if (is_dma_capable() && musb_ep->dma) {
drivers/usb/musb/musb_gadget.c
1301
musb_ep_select(musb->mregs, musb_ep->current_epnum);
drivers/usb/musb/musb_gadget.c
1303
status = c->channel_abort(musb_ep->dma);
drivers/usb/musb/musb_gadget.c
1307
musb_g_giveback(musb_ep, request, -ECONNRESET);
drivers/usb/musb/musb_gadget.c
1312
musb_g_giveback(musb_ep, request, -ECONNRESET);
drivers/usb/musb/musb_gadget.c
1328
struct musb_ep *musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
1329
u8 epnum = musb_ep->current_epnum;
drivers/usb/musb/musb_gadget.c
1330
struct musb *musb = musb_ep->musb;
drivers/usb/musb/musb_gadget.c
1344
if ((USB_ENDPOINT_XFER_ISOC == musb_ep->type)) {
drivers/usb/musb/musb_gadget.c
1351
request = next_request(musb_ep);
drivers/usb/musb/musb_gadget.c
1360
if (musb_ep->is_in) {
drivers/usb/musb/musb_gadget.c
1370
musb_ep->wedged = 0;
drivers/usb/musb/musb_gadget.c
1374
if (musb_ep->is_in) {
drivers/usb/musb/musb_gadget.c
1399
if (!musb_ep->busy && !value && request) {
drivers/usb/musb/musb_gadget.c
1414
struct musb_ep *musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
1419
musb_ep->wedged = 1;
drivers/usb/musb/musb_gadget.c
1426
struct musb_ep *musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
1427
void __iomem *epio = musb_ep->hw_ep->regs;
drivers/usb/musb/musb_gadget.c
1430
if (musb_ep->desc && !musb_ep->is_in) {
drivers/usb/musb/musb_gadget.c
1431
struct musb *musb = musb_ep->musb;
drivers/usb/musb/musb_gadget.c
1432
int epnum = musb_ep->current_epnum;
drivers/usb/musb/musb_gadget.c
1449
struct musb_ep *musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
1450
struct musb *musb = musb_ep->musb;
drivers/usb/musb/musb_gadget.c
1451
u8 epnum = musb_ep->current_epnum;
drivers/usb/musb/musb_gadget.c
1465
if (musb_ep->is_in) {
drivers/usb/musb/musb_gadget.c
159
static void nuke(struct musb_ep *ep, const int status)
drivers/usb/musb/musb_gadget.c
1692
init_peripheral_ep(struct musb *musb, struct musb_ep *ep, u8 epnum, int is_in)
drivers/usb/musb/musb_gadget.c
209
static inline int max_ep_writesize(struct musb *musb, struct musb_ep *ep)
drivers/usb/musb/musb_gadget.c
227
struct musb_ep *musb_ep;
drivers/usb/musb/musb_gadget.c
233
musb_ep = req->ep;
drivers/usb/musb/musb_gadget.c
236
if (!musb_ep->desc) {
drivers/usb/musb/musb_gadget.c
238
musb_ep->end_point.name);
drivers/usb/musb/musb_gadget.c
243
if (dma_channel_status(musb_ep->dma) == MUSB_DMA_STATUS_BUSY) {
drivers/usb/musb/musb_gadget.c
252
fifo_count = min(max_ep_writesize(musb, musb_ep),
drivers/usb/musb/musb_gadget.c
257
musb_ep->end_point.name, csr);
drivers/usb/musb/musb_gadget.c
263
musb_ep->end_point.name, csr);
drivers/usb/musb/musb_gadget.c
268
epnum, musb_ep->packet_sz, fifo_count,
drivers/usb/musb/musb_gadget.c
278
musb_ep->dma->max_len);
drivers/usb/musb/musb_gadget.c
285
if (request_size < musb_ep->packet_sz)
drivers/usb/musb/musb_gadget.c
286
musb_ep->dma->desired_mode = 0;
drivers/usb/musb/musb_gadget.c
288
musb_ep->dma->desired_mode = 1;
drivers/usb/musb/musb_gadget.c
291
musb_ep->dma, musb_ep->packet_sz,
drivers/usb/musb/musb_gadget.c
292
musb_ep->dma->desired_mode,
drivers/usb/musb/musb_gadget.c
295
if (musb_ep->dma->desired_mode == 0) {
drivers/usb/musb/musb_gadget.c
323
if (!musb_ep->hb_mult ||
drivers/usb/musb/musb_gadget.c
325
musb_ep->type))
drivers/usb/musb/musb_gadget.c
34
struct musb *musb, struct musb_ep *musb_ep)
drivers/usb/musb/musb_gadget.c
359
musb_ep->dma, musb_ep->packet_sz,
drivers/usb/musb/musb_gadget.c
364
c->channel_release(musb_ep->dma);
drivers/usb/musb/musb_gadget.c
365
musb_ep->dma = NULL;
drivers/usb/musb/musb_gadget.c
372
musb_ep->dma, musb_ep->packet_sz,
drivers/usb/musb/musb_gadget.c
386
musb_write_fifo(musb_ep->hw_ep, fifo_count,
drivers/usb/musb/musb_gadget.c
396
musb_ep->end_point.name, use_dma ? "dma" : "pio",
drivers/usb/musb/musb_gadget.c
41
if (!is_dma_capable() || !musb_ep->dma)
drivers/usb/musb/musb_gadget.c
413
struct musb_ep *musb_ep = &musb->endpoints[epnum].ep_in;
drivers/usb/musb/musb_gadget.c
418
req = next_request(musb_ep);
drivers/usb/musb/musb_gadget.c
422
musb_dbg(musb, "<== %s, txcsr %04x", musb_ep->end_point.name, csr);
drivers/usb/musb/musb_gadget.c
424
dma = is_dma_capable() ? musb_ep->dma : NULL;
drivers/usb/musb/musb_gadget.c
451
musb_dbg(musb, "%s dma still busy?", musb_ep->end_point.name);
drivers/usb/musb/musb_gadget.c
466
request->actual += musb_ep->dma->actual_len;
drivers/usb/musb/musb_gadget.c
468
epnum, csr, musb_ep->dma->actual_len, request);
drivers/usb/musb/musb_gadget.c
476
&& (request->length % musb_ep->packet_sz == 0)
drivers/usb/musb/musb_gadget.c
49
compatible = dma->is_compatible(musb_ep->dma,
drivers/usb/musb/musb_gadget.c
492
musb_g_giveback(musb_ep, request, 0);
drivers/usb/musb/musb_gadget.c
50
musb_ep->packet_sz, request->request.buf,
drivers/usb/musb/musb_gadget.c
502
req = musb_ep->desc ? next_request(musb_ep) : NULL;
drivers/usb/musb/musb_gadget.c
505
musb_ep->end_point.name);
drivers/usb/musb/musb_gadget.c
523
struct musb_ep *musb_ep;
drivers/usb/musb/musb_gadget.c
532
musb_ep = &hw_ep->ep_in;
drivers/usb/musb/musb_gadget.c
534
musb_ep = &hw_ep->ep_out;
drivers/usb/musb/musb_gadget.c
536
fifo_count = musb_ep->packet_sz;
drivers/usb/musb/musb_gadget.c
539
if (!musb_ep->desc) {
drivers/usb/musb/musb_gadget.c
541
musb_ep->end_point.name);
drivers/usb/musb/musb_gadget.c
546
if (dma_channel_status(musb_ep->dma) == MUSB_DMA_STATUS_BUSY) {
drivers/usb/musb/musb_gadget.c
553
musb_ep->end_point.name, csr);
drivers/usb/musb/musb_gadget.c
559
struct dma_channel *channel = musb_ep->dma;
drivers/usb/musb/musb_gadget.c
567
musb_ep->packet_sz,
drivers/usb/musb/musb_gadget.c
593
if (request->short_not_ok && fifo_count == musb_ep->packet_sz)
drivers/usb/musb/musb_gadget.c
609
channel = musb_ep->dma;
drivers/usb/musb/musb_gadget.c
652
musb_ep->dma->desired_mode = 1;
drivers/usb/musb/musb_gadget.c
654
if (!musb_ep->hb_mult &&
drivers/usb/musb/musb_gadget.c
655
musb_ep->hw_ep->rx_double_buffered)
drivers/usb/musb/musb_gadget.c
662
musb_ep->dma->desired_mode = 0;
drivers/usb/musb/musb_gadget.c
667
musb_ep->packet_sz,
drivers/usb/musb/musb_gadget.c
685
channel = musb_ep->dma;
drivers/usb/musb/musb_gadget.c
688
if (fifo_count < musb_ep->packet_sz)
drivers/usb/musb/musb_gadget.c
707
if (transfer_size <= musb_ep->packet_sz) {
drivers/usb/musb/musb_gadget.c
708
musb_ep->dma->desired_mode = 0;
drivers/usb/musb/musb_gadget.c
710
musb_ep->dma->desired_mode = 1;
drivers/usb/musb/musb_gadget.c
717
musb_ep->packet_sz,
drivers/usb/musb/musb_gadget.c
728
musb_ep->end_point.name,
drivers/usb/musb/musb_gadget.c
730
musb_ep->packet_sz);
drivers/usb/musb/musb_gadget.c
736
struct dma_channel *channel = musb_ep->dma;
drivers/usb/musb/musb_gadget.c
741
musb_ep->packet_sz,
drivers/usb/musb/musb_gadget.c
767
musb_read_fifo(musb_ep->hw_ep, fifo_count, (u8 *)
drivers/usb/musb/musb_gadget.c
784
fifo_count < musb_ep->packet_sz)
drivers/usb/musb/musb_gadget.c
785
musb_g_giveback(musb_ep, request, 0);
drivers/usb/musb/musb_gadget.c
797
struct musb_ep *musb_ep;
drivers/usb/musb/musb_gadget.c
803
musb_ep = &hw_ep->ep_in;
drivers/usb/musb/musb_gadget.c
805
musb_ep = &hw_ep->ep_out;
drivers/usb/musb/musb_gadget.c
809
req = next_request(musb_ep);
drivers/usb/musb/musb_gadget.c
817
dma = is_dma_capable() ? musb_ep->dma : NULL;
drivers/usb/musb/musb_gadget.c
819
musb_dbg(musb, "<== %s, rxcsr %04x%s %p", musb_ep->end_point.name,
drivers/usb/musb/musb_gadget.c
834
musb_dbg(musb, "%s iso overrun on %p", musb_ep->name, request);
drivers/usb/musb/musb_gadget.c
840
musb_dbg(musb, "%s, incomprx", musb_ep->end_point.name);
drivers/usb/musb/musb_gadget.c
846
musb_ep->end_point.name, csr);
drivers/usb/musb/musb_gadget.c
857
request->actual += musb_ep->dma->actual_len;
drivers/usb/musb/musb_gadget.c
864
& (musb_ep->packet_sz - 1))) {
drivers/usb/musb/musb_gadget.c
87
struct musb_ep *musb_ep = request->ep;
drivers/usb/musb/musb_gadget.c
872
&& (musb_ep->dma->actual_len
drivers/usb/musb/musb_gadget.c
873
== musb_ep->packet_sz)) {
drivers/usb/musb/musb_gadget.c
884
musb_g_giveback(musb_ep, request, 0);
drivers/usb/musb/musb_gadget.c
89
if (!is_buffer_mapped(request) || !musb_ep->dma)
drivers/usb/musb/musb_gadget.c
895
req = next_request(musb_ep);
drivers/usb/musb/musb_gadget.c
913
struct musb_ep *musb_ep;
drivers/usb/musb/musb_gadget.c
926
musb_ep = to_musb_ep(ep);
drivers/usb/musb/musb_gadget.c
927
hw_ep = musb_ep->hw_ep;
drivers/usb/musb/musb_gadget.c
929
musb = musb_ep->musb;
drivers/usb/musb/musb_gadget.c
931
epnum = musb_ep->current_epnum;
drivers/usb/musb/musb_gadget.c
935
if (musb_ep->desc) {
drivers/usb/musb/musb_gadget.c
939
musb_ep->type = usb_endpoint_type(desc);
drivers/usb/musb/musb_gadget.c
959
musb_ep->hb_mult = tmp;
drivers/usb/musb/musb_gadget.c
961
musb_ep->hb_mult = 0;
drivers/usb/musb/musb_gadget.c
964
musb_ep->packet_sz = usb_endpoint_maxp(desc);
drivers/usb/musb/musb_gadget.c
965
tmp = musb_ep->packet_sz * (musb_ep->hb_mult + 1);
drivers/usb/musb/musb_gadget.c
974
musb_ep->is_in = 1;
drivers/usb/musb/musb_gadget.c
975
if (!musb_ep->is_in)
drivers/usb/musb/musb_gadget.c
992
if (can_bulk_split(musb, musb_ep->type))
drivers/usb/musb/musb_gadget.c
993
musb_ep->hb_mult = (hw_ep->max_packet_sz_tx /
drivers/usb/musb/musb_gadget.c
994
musb_ep->packet_sz) - 1;
drivers/usb/musb/musb_gadget.c
995
musb_writew(regs, MUSB_TXMAXP, musb_ep->packet_sz
drivers/usb/musb/musb_gadget.c
996
| (musb_ep->hb_mult << 11));
drivers/usb/musb/musb_gadget.h
101
static inline struct musb_request *next_request(struct musb_ep *ep)
drivers/usb/musb/musb_gadget.h
112
extern void musb_g_giveback(struct musb_ep *, struct usb_request *, int);
drivers/usb/musb/musb_gadget.h
56
struct musb_ep *ep;
drivers/usb/musb/musb_gadget.h
99
#define to_musb_ep(ep) container_of((ep), struct musb_ep, end_point)
drivers/usb/musb/musb_gadget_ep0.c
238
struct musb_ep *musb_ep;
drivers/usb/musb/musb_gadget_ep0.c
253
musb_ep = &ep->ep_in;
drivers/usb/musb/musb_gadget_ep0.c
255
musb_ep = &ep->ep_out;
drivers/usb/musb/musb_gadget_ep0.c
256
if (!musb_ep->desc)
drivers/usb/musb/musb_gadget_ep0.c
261
if (musb_ep->wedged)
drivers/usb/musb/musb_gadget_ep0.c
283
request = next_request(musb_ep);
drivers/usb/musb/musb_gadget_ep0.c
284
if (!musb_ep->busy && request) {
drivers/usb/musb/musb_gadget_ep0.c
399
struct musb_ep *musb_ep;
drivers/usb/musb/musb_gadget_ep0.c
413
musb_ep = &ep->ep_in;
drivers/usb/musb/musb_gadget_ep0.c
415
musb_ep = &ep->ep_out;
drivers/usb/musb/musb_gadget_ep0.c
416
if (!musb_ep->desc)
drivers/usb/musb/musb_gadget_ep0.c
81
struct musb_ep *ep;
drivers/usb/musb/musb_gadget_ep0.c
905
struct musb_ep *ep;
drivers/usb/musb/musb_gadget_ep0.c
992
struct musb_ep *ep;