Lines Matching defs:newcbd
1622 struct siop_cbd *newcbd;
1628 newcbd = malloc(sizeof(struct siop_cbd), M_DEVBUF, M_NOWAIT|M_ZERO);
1629 if (newcbd == NULL) {
1636 newcbd->cmds = malloc(sizeof(struct siop_cmd) * SIOP_NCMDPB,
1638 if (newcbd->cmds == NULL) {
1652 (void **)&newcbd->xfers, BUS_DMA_NOWAIT|BUS_DMA_COHERENT);
1660 BUS_DMA_NOWAIT, &newcbd->xferdma);
1667 error = bus_dmamap_load(sc->sc_c.sc_dmat, newcbd->xferdma,
1668 newcbd->xfers, PAGE_SIZE, NULL, BUS_DMA_NOWAIT);
1678 (unsigned long)newcbd->xferdma->dm_segs[0].ds_addr);
1684 &newcbd->cmds[i].cmd_c.dmamap_data);
1695 &newcbd->cmds[i].cmd_c.dmamap_cmd);
1701 newcbd->cmds[i].cmd_c.siop_sc = &sc->sc_c;
1702 newcbd->cmds[i].siop_cbdp = newcbd;
1703 xfer = &newcbd->xfers[i];
1704 newcbd->cmds[i].cmd_tables = (struct siop_common_xfer *)xfer;
1705 memset(newcbd->cmds[i].cmd_tables, 0, sizeof(struct siop_xfer));
1706 dsa = newcbd->xferdma->dm_segs[0].ds_addr +
1708 newcbd->cmds[i].cmd_c.dsa = dsa;
1709 newcbd->cmds[i].cmd_c.status = CMDST_FREE;
1750 TAILQ_INSERT_TAIL(&sc->free_list, &newcbd->cmds[i], next);
1755 newcbd->cmds[i].cmd_tables->t_msgin.addr),
1757 newcbd->cmds[i].cmd_tables->t_msgout.addr),
1759 newcbd->cmds[i].cmd_tables->t_status.addr));
1763 TAILQ_INSERT_TAIL(&sc->cmds, newcbd, next);
1768 bus_dmamap_unload(sc->sc_c.sc_dmat, newcbd->xferdma);
1769 bus_dmamap_destroy(sc->sc_c.sc_dmat, newcbd->xferdma);
1773 free(newcbd->cmds, M_DEVBUF);
1775 free(newcbd, M_DEVBUF);