| plan 9 kernel history: overview | file list | diff list |
2002/0606/bitsy/sdata.c (diff list | history)
| 2002/0217/sys/src/9/bitsy/sdata.c:368,374 – 2002/0606/sys/src/9/bitsy/sdata.c:368,374 (short | long | prev | next) | ||
| 2001/0908 | atadebug(0, 0, "ataready: %d 0x%2.2uX\n", micro, as); break; } | |
| 2002/0606 | microdelay(4); | |
| 2001/0908 | } atadebug(cmdport, ctlport, "ataready: timeout"); | |
| 2002/0217/sys/src/9/bitsy/sdata.c:431,437 – 2002/0606/sys/src/9/bitsy/sdata.c:431,437 | ||
| 2001/0908 | return 0; outb(cmdport+Count, rwm); outb(cmdport+Command, Csm); | |
| 2002/0606 | microdelay(4); | |
| 2001/0908 | as = ataready(cmdport, ctlport, 0, Bsy, Drdy|Df|Err, 1000); inb(cmdport+Status); if(as < 0 || (as & (Df|Err))) | |
| 2002/0217/sys/src/9/bitsy/sdata.c:482,488 – 2002/0606/sys/src/9/bitsy/sdata.c:482,488 | ||
| 2001/0908 | if(as < 0) return as; outb(cmdport+Command, command); | |
| 2002/0606 | microdelay(4); | |
| 2001/0908 | as = ataready(cmdport, ctlport, 0, Bsy, Drq|Err, 400*1000); if(as < 0) | |
| 2002/0217/sys/src/9/bitsy/sdata.c:600,610 – 2002/0606/sys/src/9/bitsy/sdata.c:600,610 | ||
| 2001/0908 | * Also, there will be problems here if overlapped commands * are ever supported. */ | |
| 2002/0606 | microdelay(20); | |
| 2001/0908 | outb(ctlport+Dc, Srst); | |
| 2002/0606 | microdelay(20); | |
| 2001/0908 | outb(ctlport+Dc, 0); | |
| 2002/0606 | microdelay(4*1000); | |
| 2001/0908 | } static SDev* | |
| 2002/0217/sys/src/9/bitsy/sdata.c:631,637 – 2002/0606/sys/src/9/bitsy/sdata.c:631,637 | ||
| 2001/0908 | dev = Dev0; if(inb(ctlport+As) & Bsy){ outb(cmdport+Dh, dev); | |
| 2002/0606 | microdelay(5); | |
| 2001/0908 | trydev1: atadebug(cmdport, ctlport, "ataprobe bsy"); outb(cmdport+Cyllo, 0xAA); | |
| 2002/0217/sys/src/9/bitsy/sdata.c:732,738 – 2002/0606/sys/src/9/bitsy/sdata.c:732,738 | ||
| 2001/0908 | } else{ outb(cmdport+Dh, Dev0); | |
| 2002/0606 | microdelay(1); | |
| 2001/0908 | } } #endif | |
| 2002/0217/sys/src/9/bitsy/sdata.c:846,858 – 2002/0606/sys/src/9/bitsy/sdata.c:846,858 | ||
| 2001/0908 | ctlr->command = Cnop; /* debugging */ outb(cmdport+Command, Cnop); | |
| 2002/0606 | microdelay(1); | |
| 2001/0908 | ctlport = ctlr->ctlport; for(timeo = 0; timeo < 1000; timeo++){ as = inb(ctlport+As); if(!(as & Bsy)) break; | |
| 2002/0606 | microdelay(1); | |
| 2001/0908 | } drive->error |= Abrt; } | |
| 2002/0217/sys/src/9/bitsy/sdata.c:1078,1084 – 2002/0606/sys/src/9/bitsy/sdata.c:1078,1084 | ||
| 2001/0908 | outb(cmdport+Command, Cpkt); if((drive->info[Iconfig] & 0x0060) != 0x0020){ | |
| 2002/0606 | microdelay(1); | |
| 2001/0908 | as = ataready(cmdport, ctlport, 0, Bsy, Drq|Chk, 4*1000); if(as < 0) r = SDtimeout; | |
| 2002/0217/sys/src/9/bitsy/sdata.c:1180,1186 – 2002/0606/sys/src/9/bitsy/sdata.c:1180,1186 | ||
| 2001/0908 | switch(drive->command){ case Cws: case Cwsm: | |
| 2002/0606 | microdelay(1); | |
| 2001/0908 | as = ataready(cmdport, ctlport, 0, Bsy, Drq|Err, 1000); if(as < 0 || (as & Err)){ iunlock(ctlr); | |