| plan 9 kernel history: overview | file list | diff list |
1999/1007/pc/devusb.c (diff list | history)
| 1999/1006/sys/src/9/pc/devusb.c:369,377 – 1999/1007/sys/src/9/pc/devusb.c:369,377 (short | long | prev | next) | ||
| 1999/1005 | if(t->status & LowSpeed) *s++ = 'L'; *s = 0; | |
| 1999/1007 | XPRINT("td %8.8lux: l=%8.8lux s=%8.8lux d=%8.8lux b=%8.8lux %8.8lux f=%8.8lux\n", | |
| 1999/1005 | t, t->link, t->status, t->dev, t->buffer, t->bp?(ulong)t->bp->rp:0, t->flags); | |
| 1999/1007 | XPRINT("\ts=%s,ep=%ld,d=%ld,D=%ld\n", buf, (t->dev>>15)&0xF, (t->dev>>8)&0xFF, (t->dev>>19)&1); | |
| 1999/1005 | if(t->bp) dumpdata(t->bp, n); if(!follow || t->link & Terminate || t->link & IsQH) | |
| 1999/1006/sys/src/9/pc/devusb.c:401,444 – 1999/1007/sys/src/9/pc/devusb.c:401,406 | ||
| 1999/1005 | return t; } | |
| 1999/1006/sys/src/9/pc/devusb.c:475,487 – 1999/1007/sys/src/9/pc/devusb.c:437,449 | ||
| 1999/1005 | q0 = q; for(i = 0; q != nil && i < 10; i++){ | |
| 1999/1007 | XPRINT("qh %8.8lux: %8.8lux %8.8lux\n", q, q->head, q->entries); | |
| 1999/1005 | if((q->entries & Terminate) == 0) dumptd(TFOL(q->entries), 1); if(q->head & Terminate) break; if((q->head & IsQH) == 0){ | |
| 1999/1007 | XPRINT("head:"); | |
| 1999/1005 | dumptd(TFOL(q->head), 1); break; } | |
| 1999/1006/sys/src/9/pc/devusb.c:525,531 – 1999/1007/sys/src/9/pc/devusb.c:487,493 | ||
| 1999/1005 | err = t->status & (AnyError&~NAKed); /* TO DO: on t->status&AnyError, q->entries will not have advanced */ if (err) | |
| 1999/1007 | XPRINT("cleanTD: Error %8.8lux %8.8lux %8.8lux %8.8lux\n", t->link, t->status, t->dev, t->buffer); | |
| 1999/1005 | switch(t->dev&0xFF){ case TokIN: if(discard || (t->flags & CancelTD) || t->ep == nil || t->ep->x!=0&&err){ | |
| 1999/1006/sys/src/9/pc/devusb.c:624,630 – 1999/1007/sys/src/9/pc/devusb.c:586,592 | ||
| 1999/1005 | if(t->ep == e) t->flags |= CancelTD; iunlock(ub); | |
| 1999/1007 | XPRINT("cancel:\n"); | |
| 1999/1005 | dumpqh(q); } } | |
| 1999/1006/sys/src/9/pc/devusb.c:805,811 – 1999/1007/sys/src/9/pc/devusb.c:767,773 | ||
| 1999/1005 | o |= 1; } if(leaf0+o >= n){ | |
| 1999/1007 | XPRINT("leaf0=%d o=%d i=%d n=%d\n", leaf0, o, i, n); | |
| 1999/1005 | break; } frame[i] = PADDR(&tree[leaf0+o]) | IsQH; | |
| 1999/1006/sys/src/9/pc/devusb.c:828,841 – 1999/1007/sys/src/9/pc/devusb.c:790,803 | ||
| 1999/1005 | if(t < 0) t = 32; for(i=f; i<t; i++){ | |
| 1999/1007 | XPRINT("F%.2d %8.8lux %8.8lux\n", i, frame[i], QFOL(frame[i])->head); | |
| 1999/1005 | for(p=frame[i]; (p & IsQH) && (p &Terminate) == 0; p = q->head){ q = QFOL(p); if(!(q >= tree && q < &tree[n])){ | |
| 1999/1007 | XPRINT("Q: p=%8.8lux out of range\n", p); | |
| 1999/1005 | break; } | |
| 1999/1007 | XPRINT(" -> %8.8lux h=%8.8lux e=%8.8lux\n", p, q->head, q->entries); | |
| 1999/1005 | } } } | |
| 1999/1006/sys/src/9/pc/devusb.c:1104,1112 – 1999/1007/sys/src/9/pc/devusb.c:1066,1074 | ||
| 1999/1005 | ub = a; s = IN(Status); if (s & 0x1a) { | |
| 1999/1007 | XPRINT("usbint: #%x f%d\n", s, IN(Frnum)); XPRINT("cmd #%x sofmod #%x\n", IN(Cmd), inb(ub->io+SOFMod)); XPRINT("sc0 #%x sc1 #%x\n", IN(Portsc0), IN(Portsc1)); | |
| 1999/1005 | } OUT(Status, s); | |
| 1999/1006/sys/src/9/pc/devusb.c:1570,1576 – 1999/1007/sys/src/9/pc/devusb.c:1532,1538 | ||
| 1999/1005 | p = a; do { if(e->eof) { | |
| 1999/1007 | XPRINT("e->eof\n"); | |
| 1999/1005 | break; } if(e->err) | |
| 1999/1006/sys/src/9/pc/devusb.c:1583,1589 – 1999/1007/sys/src/9/pc/devusb.c:1545,1551 | ||
| 1999/1005 | error(e->err); b = qget(e->rq); /* TO DO */ if(b == nil) { | |
| 1999/1007 | XPRINT("b == nil\n"); | |
| 1999/1005 | break; } if(waserror()){ | |
| 1999/1006/sys/src/9/pc/devusb.c:1846,1852 – 1999/1007/sys/src/9/pc/devusb.c:1808,1814 | ||
| 1999/1005 | /* ep n maxpkt mode poll nbuf */ i = strtoul(fields[1], nil, 0); | |
| 1999/1006 | if(i < 0 || i >= nelem(d->ep)) { | |
| 1999/1007 | XPRINT("field 1: 0 <= %d < %d\n", i, nelem(d->ep)); | |
| 1999/1005 | error(Ebadarg); | |
| 1999/1006 | } | |
| 1999/1005 | if(d->ep[i] != nil) | |
| 1999/1006/sys/src/9/pc/devusb.c:1869,1875 – 1999/1007/sys/src/9/pc/devusb.c:1831,1837 | ||
| 1999/1005 | if(i > 0 && i <= 1000) e->pollms = i; | |
| 1999/1006 | else { | |
| 1999/1007 | XPRINT("field 4: 0 <= %d <= 1000\n", i); | |
| 1999/1005 | error(Ebadarg); | |
| 1999/1006 | } | |
| 1999/1005 | } | |
| 1999/1006/sys/src/9/pc/devusb.c:1878,1884 – 1999/1007/sys/src/9/pc/devusb.c:1840,1846 | ||
| 1999/1005 | e->nbuf = i; poperror(); | |
| 1999/1006 | }else { | |
| 1999/1007 | XPRINT("command %s, fields %d\n", fields[0], nf); | |
| 1999/1005 | error(Ebadarg); | |
| 1999/1006 | } | |
| 1999/1005 | return n; | |