| plan 9 kernel history: overview | file list | diff list |
2002/0718/bitsy/sdata.c (diff list | history)
| 2002/0615/sys/src/9/bitsy/sdata.c:7,13 – 2002/0718/sys/src/9/bitsy/sdata.c:7,13 (short | long | prev | next) | ||
| 2001/0908 | #include "ureg.h" #include "../port/error.h" | |
| 2002/0718 | #include "sd.h" | |
| 2001/0908 | extern SDifc sdataifc; | |
| 2002/0615/sys/src/9/bitsy/sdata.c:353,369 – 2002/0718/sys/src/9/bitsy/sdata.c:353,368 | ||
| 2001/0908 | * can be used as a test for !Bsy. */ as = inb(ctlport+As); | |
| 2002/0718 | if((as & reset) == 0){ if(dev){ outb(cmdport+Dh, dev); dev = 0; } else if(ready == 0 || (as & ready)){ atadebug(0, 0, "ataready: %d 0x%2.2uX\n", micro, as); return as; } | |
| 2001/0908 | } | |
| 2002/0615/sys/src/9/bitsy/sdata.c:1581,1598 – 2002/0718/sys/src/9/bitsy/sdata.c:1580,1594 | ||
| 2001/0908 | ataid(SDev* sdev) { int i; | |
| 2002/0718 | snprint(sdev->name, KNAMELEN, "sd%c", sdev->idno); | |
| 2001/0908 | } sdev = sdev->next; } | |
| 2002/0615/sys/src/9/bitsy/sdata.c:1606,1612 – 2002/0718/sys/src/9/bitsy/sdata.c:1602,1608 | ||
| 2001/0908 | ataenable(SDev* sdev) { Ctlr *ctlr; | |
| 2002/0718 | char name[KNAMELEN]; | |
| 2001/0908 | ctlr = sdev->ctlr; | |
| 2002/0615/sys/src/9/bitsy/sdata.c:1613,1619 – 2002/0718/sys/src/9/bitsy/sdata.c:1609,1615 | ||
| 2001/0908 | if(ctlr->bmiba){ ctlr->prdt = xspanalloc(Nprd*sizeof(Prd), 4, 4*1024); } | |
| 2002/0718 | snprint(name, KNAMELEN, "%s (%s)", sdev->name, sdev->ifc->name); | |
| 2001/0908 | // intrenable(ctlr->irq, atainterrupt, ctlr, ctlr->tbdf, name); outb(ctlr->ctlport+Dc, 0); intrenable(ataitype, atairq, atainterrupt, ctlr, name); | |
| 2002/0615/sys/src/9/bitsy/sdata.c:2040,2048 – 2002/0718/sys/src/9/bitsy/sdata.c:2036,2043 | ||
| 2001/0908 | }; static SDev* | |
| 2002/0718 | ataconfig(int on, char *, DevConf *cf) | |
| 2001/0908 | { | |
| 2002/0615/sys/src/9/bitsy/sdata.c:2054,2063 – 2002/0718/sys/src/9/bitsy/sdata.c:2049,2058 | ||
| 2001/0908 | rc = nil; for (try = &tries[0]; try->p != 0 || try->c != 0; try++){ ataitype = cf->itype; | |
| 2002/0615 |
| |
| 2002/0718 | atairq = cf->irq; | |
| 2001/0908 | cmdport = cf->port + try->p; ctlport = cmdport + try->c; | |
| 2002/0615 |
| |
| 2002/0718 | irq = cf->irq; | |
| 2001/0908 | rc = ataprobe(cmdport, ctlport, irq); if (rc) break; | |