Lines Matching defs:sqtd

624 		sqh->sqtd = NULL;
665 sqh->sqtd = NULL;
950 ehci_soft_qtd_t *sqtd, *fsqtd, *lsqtd;
984 for (sqtd = fsqtd; sqtd != lsqtd; sqtd = sqtd->nextqtd) {
985 usb_syncmem(&sqtd->dma,
986 sqtd->offs + offsetof(ehci_qtd_t, qtd_status),
987 sizeof(sqtd->qtd->qtd_status),
989 status = le32toh(sqtd->qtd->qtd_status);
990 usb_syncmem(&sqtd->dma,
991 sqtd->offs + offsetof(ehci_qtd_t, qtd_status),
992 sizeof(sqtd->qtd->qtd_status), BUS_DMASYNC_PREREAD);
1119 ehci_soft_qtd_t *sqtd, *fsqtd, *lsqtd;
1273 for (sqtd = fsqtd; sqtd != lsqtd->nextqtd; sqtd = sqtd->nextqtd) {
1274 usb_syncmem(&sqtd->dma, sqtd->offs, sizeof(*sqtd->qtd),
1276 nstatus = le32toh(sqtd->qtd->qtd_status);
1277 usb_syncmem(&sqtd->dma, sqtd->offs, sizeof(*sqtd->qtd),
1284 actlen += sqtd->len - EHCI_QTD_GET_BYTES(status);
1294 if ((sqtd != lsqtd->nextqtd || EHCI_QTD_GET_BYTES(status)) &&
1735 ehci_dump_sqtds(ehci_soft_qtd_t *sqtd)
1741 for (i = 0; sqtd && i < 20 && !stop; sqtd = sqtd->nextqtd, i++) {
1742 ehci_dump_sqtd(sqtd);
1743 usb_syncmem(&sqtd->dma,
1744 sqtd->offs + offsetof(ehci_qtd_t, qtd_next),
1745 sizeof(sqtd->qtd->qtd_next),
1747 stop = sqtd->qtd->qtd_next & htole32(EHCI_LINK_TERMINATE);
1748 usb_syncmem(&sqtd->dma,
1749 sqtd->offs + offsetof(ehci_qtd_t, qtd_next),
1750 sizeof(sqtd->qtd->qtd_next), BUS_DMASYNC_PREREAD);
1757 ehci_dump_sqtd(ehci_soft_qtd_t *sqtd)
1761 usb_syncmem(&sqtd->dma, sqtd->offs,
1762 sizeof(*sqtd->qtd), BUS_DMASYNC_POSTWRITE | BUS_DMASYNC_POSTREAD);
1764 DPRINTFN(10, "QTD(%#jx) at 0x%08jx:", (uintptr_t)sqtd, sqtd->physaddr,
1766 ehci_dump_qtd(sqtd->qtd);
1768 usb_syncmem(&sqtd->dma, sqtd->offs,
1769 sizeof(*sqtd->qtd), BUS_DMASYNC_PREREAD);
2225 ehci_set_qh_qtd(ehci_soft_qh_t *sqh, ehci_soft_qtd_t *sqtd)
2243 sqh->qh->qh_qtd.qtd_next = htole32(sqtd->physaddr);
2250 sqh->sqtd = sqtd;
2972 ehci_soft_qtd_t *sqtd = NULL;
2996 kmem_zalloc(sizeof(*sqtd) * EHCI_QTD_CHUNK, KM_SLEEP);
3005 sqtd = &sqtds[i];
3006 sqtd->qtd = KERNADDR(&dma, offs);
3007 sqtd->physaddr = BUS_ADDR_LO32(baddr);
3008 sqtd->dma = dma;
3009 sqtd->offs = offs;
3011 sqtd->nextqtd = sc->sc_freeqtds;
3012 sc->sc_freeqtds = sqtd;
3016 sqtd = sc->sc_freeqtds;
3017 sc->sc_freeqtds = sqtd->nextqtd;
3020 memset(sqtd->qtd, 0, sizeof(*sqtd->qtd));
3021 sqtd->nextqtd = NULL;
3022 sqtd->xfer = NULL;
3024 return sqtd;
3028 ehci_free_sqtd(ehci_softc_t *sc, ehci_soft_qtd_t *sqtd)
3032 sqtd->nextqtd = sc->sc_freeqtds;
3033 sc->sc_freeqtds = sqtd;
3071 DPRINTF("return sqtd=%#jx", (uintptr_t)*sp, 0, 0, 0);
3090 ehci_soft_qtd_t *sqtd = exfer->ex_sqtds[i];
3092 if (sqtd == NULL)
3095 sqtd->nextqtd = sc->sc_freeqtds;
3096 sc->sc_freeqtds = sqtd;
3102 ehci_append_sqtd(ehci_soft_qtd_t *sqtd, ehci_soft_qtd_t *prev)
3105 prev->nextqtd = sqtd;
3106 prev->qtd->qtd_next = htole32(sqtd->physaddr);
3120 ehci_soft_qtd_t *sqtd, *prev;
3138 sqtd = prev = NULL;
3141 for (; len != 0 && j < exfer->ex_nsqtd; prev = sqtd) {
3142 sqtd = exfer->ex_sqtds[j++];
3143 DPRINTF("sqtd[%jd]=%#jx prev %#jx", j, (uintptr_t)sqtd,
3165 sqtd->qtd->qtd_next = sqtd->qtd->qtd_altnext = EHCI_NULL;
3166 sqtd->qtd->qtd_status = htole32(
3178 sqtd->qtd->qtd_buffer[i] = htole32(BUS_ADDR_LO32(a));
3179 sqtd->qtd->qtd_buffer_hi[i] = htole32(BUS_ADDR_HI32(a));
3182 le32toh(sqtd->qtd->qtd_buffer_hi[i]),
3183 le32toh(sqtd->qtd->qtd_buffer[i]));
3186 sqtd->qtd->qtd_buffer[0] |= htole32(va_offs);
3188 usb_syncmem(&sqtd->dma, sqtd->offs, sizeof(*sqtd->qtd),
3191 sqtd->len = curlen;
3196 ehci_append_sqtd(sqtd, prev);
3215 prev = sqtd;
3216 sqtd = exfer->ex_sqtds[j++];
3217 memset(sqtd->qtd, 0, sizeof(*sqtd->qtd));
3218 sqtd->qtd->qtd_next = sqtd->qtd->qtd_altnext = EHCI_NULL;
3219 sqtd->qtd->qtd_status = htole32(
3224 usb_syncmem(&sqtd->dma, sqtd->offs, sizeof(*sqtd->qtd),
3227 ehci_append_sqtd(sqtd, prev);
3231 *lsqtd = sqtd;
3390 ehci_soft_qtd_t *sqtd, *fsqtd, *lsqtd;
3435 for (sqtd = fsqtd; ; sqtd = sqtd->nextqtd) {
3436 usb_syncmem(&sqtd->dma,
3437 sqtd->offs + offsetof(ehci_qtd_t, qtd_status),
3438 sizeof(sqtd->qtd->qtd_status),
3440 sqtd->qtd->qtd_status |= htole32(EHCI_QTD_HALTED);
3441 usb_syncmem(&sqtd->dma,
3442 sqtd->offs + offsetof(ehci_qtd_t, qtd_status),
3443 sizeof(sqtd->qtd->qtd_status),
3445 if (sqtd == lsqtd)
3469 for (sqtd = fsqtd; ; sqtd = sqtd->nextqtd) {
3470 hit |= cur == sqtd->physaddr;
3471 if (sqtd == lsqtd)
3474 sqtd = sqtd->nextqtd;
3476 if (hit && sqtd != NULL) {
3477 DPRINTF("cur=0x%08jx", sqtd->physaddr, 0, 0, 0);
3478 sqh->qh->qh_curqtd = htole32(sqtd->physaddr); /* unlink qTDs */