Lines Matching defs:std
438 uhci_soft_td_t *std;
476 std = uhci_alloc_std(sc);
477 if (std == NULL)
479 std->link.std = NULL;
480 std->td.td_link = htole32(UHCI_PTR_T);
481 std->td.td_status = htole32(0); /* inactive */
482 std->td.td_token = htole32(0);
483 std->td.td_buffer = htole32(0);
484 usb_syncmem(&std->dma, std->offs, sizeof(std->td),
493 lsqh->elink = std;
494 lsqh->qh.qh_elink = htole32(std->physaddr | UHCI_PTR_TD);
541 std = uhci_alloc_std(sc);
543 if (std == NULL || sqh == NULL)
545 std->link.sqh = sqh;
546 std->td.td_link = htole32(sqh->physaddr | UHCI_PTR_QH);
547 std->td.td_status = htole32(UHCI_TD_IOS); /* iso, inactive */
548 std->td.td_token = htole32(0);
549 std->td.td_buffer = htole32(0);
550 usb_syncmem(&std->dma, std->offs, sizeof(std->td),
558 sc->sc_vframes[i].htd = std;
559 sc->sc_vframes[i].etd = std;
565 sc->sc_pframes[j] = htole32(std->physaddr);
602 uhci_free_std(sc, std);
913 uhci_dump_tds(uhci_soft_td_t *std)
918 for (td = std; td != NULL; td = td->link.std) {
1486 uhci_soft_td_t *std, *fstd = NULL, *lstd = NULL;
1545 for (std = fstd; std != lstd; std = std->link.std) {
1546 usb_syncmem(&std->dma,
1547 std->offs + offsetof(uhci_td_t, td_status),
1548 sizeof(std->td.td_status),
1550 status = le32toh(std->td.td_status);
1551 usb_syncmem(&std->dma,
1552 std->offs + offsetof(uhci_td_t, td_status),
1553 sizeof(std->td.td_status), BUS_DMASYNC_PREREAD);
1557 DPRINTFN(12, "ux=%#jx std=%#jx still active",
1558 (uintptr_t)ux, (uintptr_t)std, 0, 0);
1577 DPRINTFN(12, "ux=%#jx std=%#jx control status"
1589 usb_syncmem(&std->dma,
1590 std->offs + offsetof(uhci_td_t, td_token),
1591 sizeof(std->td.td_token),
1596 UHCI_TD_GET_MAXLEN(le32toh(std->td.td_token))) {
1610 uhci_soft_td_t *std;
1650 std = stds[n];
1655 uhci_dump_td(std);
1661 usb_syncmem(&std->dma,
1662 std->offs + offsetof(uhci_td_t, td_status),
1663 sizeof(std->td.td_status),
1665 status = le32toh(std->td.td_status);
1688 for (std = ux->ux_stdstart; std != NULL; std = std->link.std) {
1689 usb_syncmem(&std->dma, std->offs, sizeof(std->td),
1691 nstatus = le32toh(std->td.td_status);
1696 if (UHCI_TD_GET_PID(le32toh(std->td.td_token)) !=
1710 if (std != NULL)
1711 std->td.td_token));
1825 uhci_soft_td_t *std;
1844 std = KERNADDR(&dma, offs);
1845 std->physaddr = DMAADDR(&dma, offs);
1846 std->dma = dma;
1847 std->offs = offs;
1848 std->link.std = sc->sc_freetds;
1849 sc->sc_freetds = std;
1852 std = sc->sc_freetds;
1853 sc->sc_freetds = std->link.std;
1856 memset(&std->td, 0, sizeof(uhci_td_t));
1858 return std;
1864 uhci_free_std_locked(uhci_softc_t *sc, uhci_soft_td_t *std)
1869 if (le32toh(std->td.td_token) == TD_IS_FREE) {
1870 printf("%s: freeing free TD %p\n", __func__, std);
1873 std->td.td_token = htole32(TD_IS_FREE);
1876 std->link.std = sc->sc_freetds;
1877 sc->sc_freetds = std;
1881 uhci_free_std(uhci_softc_t *sc, uhci_soft_td_t *std)
1884 uhci_free_std_locked(sc, std);
1938 uhci_free_std_chain(uhci_softc_t *sc, uhci_soft_td_t *std,
1949 for (p = std; p != stdend; p = p->link.std) {
1969 for (; std != stdend; std = p) {
1970 p = std->link.std;
1971 uhci_free_std(sc, std);
2052 uhci_soft_td_t *std = ux->ux_stds[i];
2054 if (le32toh(std->td.td_token) == TD_IS_FREE) {
2055 printf("%s: freeing free TD %p\n", __func__, std);
2058 std->td.td_token = htole32(TD_IS_FREE);
2060 ux->ux_stds[i]->link.std = sc->sc_freetds;
2061 sc->sc_freetds = std;
2075 uhci_soft_td_t *std, *prev;
2101 std = prev = NULL;
2102 for (offs = i = 0; len != 0 && i < uxfer->ux_nstd; i++, prev = std) {
2104 std = uxfer->ux_stds[i];
2115 prev->link.std = std;
2117 std->physaddr | UHCI_PTR_VF | UHCI_PTR_TD
2123 usb_syncmem(&std->dma, std->offs, sizeof(std->td),
2126 std->td.td_link = htole32(UHCI_PTR_T | UHCI_PTR_VF | UHCI_PTR_TD);
2127 std->td.td_status = htole32(status);
2128 std->td.td_token = htole32(
2135 std->td.td_buffer = htole32(DMAADDR(dma, offs));
2137 std->link.std = NULL;
2139 usb_syncmem(&std->dma, std->offs, sizeof(std->td),
2155 std = uxfer->ux_stds[i++];
2157 std->td.td_link = htole32(UHCI_PTR_T | UHCI_PTR_VF | UHCI_PTR_TD);
2158 std->td.td_status = htole32(status);
2159 std->td.td_token = htole32(
2166 std->td.td_buffer = 0;
2167 usb_syncmem(&std->dma, std->offs, sizeof(std->td),
2170 std->link.std = NULL;
2172 prev->link.std = std;
2174 std->physaddr | UHCI_PTR_VF | UHCI_PTR_TD
2181 *lstd = std;
2344 uhci_soft_td_t *std;
2371 for (std = ux->ux_stdstart; stdstd = std->link.std) {
2372 usb_syncmem(&std->dma,
2373 std->offs + offsetof(uhci_td_t, td_status),
2374 sizeof(std->td.td_status),
2376 std->td.td_status &= htole32(~(UHCI_TD_ACTIVE | UHCI_TD_IOC));
2377 usb_syncmem(&std->dma,
2378 std->offs + offsetof(uhci_td_t, td_status),
2379 sizeof(std->td.td_status),
2517 dataend->link.std = stat;
2532 setup->link.std = next;
2541 stat->link.std = NULL;
2579 uhci_soft_td_t *std;
2586 for (std = sc->sc_vframes[0].htd, link = 0;
2588 std = std->link.std) {
2589 link = le32toh(std->td.td_link);
2590 uhci_dump_td(std);
2592 sxqh = (uhci_soft_qh_t *)std;
2841 uhci_soft_td_t *std = NULL;
2886 std = isoc->stds[next];
2893 std->td.td_buffer = htole32(buf);
2898 std->td.td_status = htole32(status);
2899 std->td.td_token &= htole32(~UHCI_TD_MAXLEN_MASK);
2900 std->td.td_token |= htole32(UHCI_TD_SET_MAXLEN(len));
2901 usb_syncmem(&std->dma, std->offs, sizeof(std->td),
2907 uhci_dump_td(std);
2921 ux->ux_stdstart = std;
2922 ux->ux_stdend = std;
2940 uhci_soft_td_t *std;
2959 std = stds[n];
2960 usb_syncmem(&std->dma,
2961 std->offs + offsetof(uhci_td_t, td_status),
2962 sizeof(std->td.td_status),
2964 std->td.td_status &= htole32(~(UHCI_TD_ACTIVE | UHCI_TD_IOC));
2965 usb_syncmem(&std->dma,
2966 std->offs + offsetof(uhci_td_t, td_status),
2967 sizeof(std->td.td_status),
2969 usb_syncmem(&std->dma,
2970 std->offs + offsetof(uhci_td_t, td_token),
2971 sizeof(std->td.td_token),
2973 len = UHCI_TD_GET_MAXLEN(le32toh(std->td.td_token));
3000 uhci_soft_td_t *std, *vstd;
3015 std = isoc->stds[i];
3016 usb_syncmem(&std->dma,
3017 std->offs + offsetof(uhci_td_t, td_status),
3018 sizeof(std->td.td_status),
3020 std->td.td_status &= htole32(~UHCI_TD_ACTIVE);
3021 usb_syncmem(&std->dma,
3022 std->offs + offsetof(uhci_td_t, td_status),
3023 sizeof(std->td.td_status),
3030 std = isoc->stds[i];
3032 vstd != NULL && vstd->link.std != std;
3033 vstd = vstd->link.std)
3037 printf("%s: %p not found\n", __func__, std);
3041 vstd->link = std->link;
3042 usb_syncmem(&std->dma,
3043 std->offs + offsetof(uhci_td_t, td_link),
3044 sizeof(std->td.td_link),
3046 vstd->td.td_link = std->td.td_link;
3051 uhci_free_std_locked(sc, std);
3065 uhci_soft_td_t *std, *vstd;
3082 std = uhci_alloc_std(sc);
3083 if (std == 0)
3085 std->td.td_status = htole32(UHCI_TD_IOS); /* iso, inactive */
3086 std->td.td_token = htole32(token);
3087 usb_syncmem(&std->dma, std->offs, sizeof(std->td),
3089 isoc->stds[i] = std;
3096 std = isoc->stds[i];
3102 std->link = vstd->link;
3103 std->td.td_link = vstd->td.td_link;
3104 usb_syncmem(&std->dma,
3105 std->offs + offsetof(uhci_td_t, td_link),
3106 sizeof(std->td.td_link),
3108 vstd->link.std = std;
3109 vstd->td.td_link = htole32(std->physaddr | UHCI_PTR_TD);