Lines Matching refs:chain
242 TAILQ_REMOVE(&sc->free_list, acb, chain);
265 TAILQ_INSERT_TAIL(&sc->ready_list, acb, chain);
364 for (acb = sc->ready_list.tqh_first; acb; acb = acb->chain.tqe_next) {
370 TAILQ_REMOVE(&sc->ready_list, acb, chain);
443 } else if (sc->ready_list.tqh_last == &acb->chain.tqe_next) {
444 TAILQ_REMOVE(&sc->ready_list, acb, chain);
449 acb2 = acb2->chain.tqe_next)
451 TAILQ_REMOVE(&sc->nexus_list, acb, chain);
459 else if (acb->chain.tqe_next) {
460 TAILQ_REMOVE(&sc->ready_list, acb, chain);
473 TAILQ_INSERT_HEAD(&sc->free_list, acb, chain);
727 TAILQ_INSERT_TAIL(&sc->free_list, acb, chain);
808 memset(&acb->ds.chain, 0, sizeof (acb->ds.chain));
880 acb->ds.chain[nchain].databuf = (char *) kvtop (addr);
885 printf("chain[%d]: count %d tcount %d vaddr %p paddr %p\n",
887 acb->ds.chain[nchain].databuf);
889 acb->ds.chain[nchain].datalen = tcount;
892 if (acb->ds.chain[nchain].databuf == dmaend) {
893 dmaend += acb->ds.chain[nchain].datalen;
894 acb->ds.chain[nchain].datalen = 0;
895 acb->ds.chain[--nchain].datalen += tcount;
901 dmaend = acb->ds.chain[nchain].databuf +
902 acb->ds.chain[nchain].datalen;
903 acb->ds.chain[nchain].datalen = tcount;
915 printf (" [%d] %8p %lx\n", i, acb->ds.chain[i].databuf,
916 acb->ds.chain[i].datalen);
1194 if (acb->ds.chain[1].datalen) {
1195 for (i = 0; acb->ds.chain[i].datalen; ++i)
1196 printf("chain[%d] addr %p len %lx\n",
1197 i, acb->ds.chain[i].databuf,
1198 acb->ds.chain[i].datalen);
1299 acb->ds.chain[0].databuf, acb->ds.chain[0].datalen, dfifo, dbc, sstat1, siopngstarts, acb);
1317 if (acb->iob_curlen && acb->iob_curlen != acb->ds.chain[0].datalen)
1318 printf("%s: iob_curbuf/len already set? n %x iob %lx/%lx chain[0] %p/%lx\n",
1320 acb->ds.chain[0].databuf, acb->ds.chain[0].datalen);
1328 acb->iob_curbuf = (u_long)acb->ds.chain[n].databuf;
1329 acb->iob_curlen = acb->ds.chain[n].datalen;
1342 * Adjust the DMA chain so that the data transfer begins
1351 printf ("%s: adjusting DMA chain\n",
1358 if (acb->ds.chain[i].datalen == 0)
1360 if (acb->iob_curbuf >= (long)acb->ds.chain[i].databuf &&
1361 acb->iob_curbuf < (long)(acb->ds.chain[i].databuf +
1362 acb->ds.chain[i].datalen))
1365 if (i >= DMAMAXIO || acb->ds.chain[i].datalen == 0) {
1375 printf(" chain[0]: %p/%lx -> %lx/%lx\n",
1376 acb->ds.chain[0].databuf,
1377 acb->ds.chain[0].datalen,
1381 acb->ds.chain[0].databuf = (char *)acb->iob_curbuf;
1382 acb->ds.chain[0].datalen = acb->iob_curlen;
1383 for (j = 1, ++i; i < DMAMAXIO && acb->ds.chain[i].datalen; ++i, ++j) {
1386 printf(" chain[%d]: %p/%lx -> %p/%lx\n", j,
1387 acb->ds.chain[j].databuf,
1388 acb->ds.chain[j].datalen,
1389 acb->ds.chain[i].databuf,
1390 acb->ds.chain[i].datalen);
1392 acb->ds.chain[j].databuf = acb->ds.chain[i].databuf;
1393 acb->ds.chain[j].datalen = acb->ds.chain[i].datalen;
1396 acb->ds.chain[j].datalen = 0;
1397 DCIAS(kvtop((void *)&acb->ds.chain));
1406 TAILQ_INSERT_HEAD(&sc->nexus_list, acb, chain);
1442 TAILQ_INSERT_HEAD(&sc->ready_list, sc->sc_nexus, chain);
1452 acb = acb->chain.tqe_next) {
1456 TAILQ_REMOVE(&sc->nexus_list, acb, chain);
1860 acb = acb->chain.tqe_next;
1867 acb = acb->chain.tqe_next;
1874 acb = acb->chain.tqe_next;