Lines Matching refs:desc
105 struct msgdma_desc desc;
141 struct msgdma_desc *desc;
165 desc = chan->descs[chan->idx_tail];
166 if ((le32toh(desc->control) & CONTROL_OWN) != 0) {
170 tot_copied += le32toh(desc->transferred);
172 st.transferred = le32toh(desc->transferred);
302 dprintf("map desc %d: descs phys %lx len %ld\n",
309 struct msgdma_desc *desc;
316 desc = chan->descs[i];
318 bus_dmamem_free(chan->dma_tag, desc, chan->dma_map[i]);
471 struct msgdma_desc *desc;
491 desc = chan->descs[chan->idx_head];
492 desc->read_lo = htole32(src_addr_lo);
493 desc->write_lo = htole32(dst_addr_lo);
494 desc->length = htole32(len);
495 desc->transferred = 0;
496 desc->status = 0;
497 desc->reserved = 0;
498 desc->control = 0;
502 desc->control |= htole32(CONTROL_GEN_SOP);
506 desc->control |= htole32(CONTROL_GEN_EOP);
507 desc->control |= htole32(CONTROL_TC_IRQ_EN |
511 desc->control |= htole32(CONTROL_END_ON_EOP | (1 << 13));
512 desc->control |= htole32(CONTROL_TC_IRQ_EN |
521 desc->control |= htole32(CONTROL_OWN | CONTROL_GO);
534 struct msgdma_desc *desc;
555 desc = chan->descs[i];
558 desc->next = htole32(chan->descs_phys[0].ds_addr);
560 desc->next = htole32(chan->descs_phys[i+1].ds_addr);
563 dprintf("%s(%d): desc %d vaddr %lx next paddr %x\n", __func__,
564 device_get_unit(dev), i, (uint64_t)desc, le32toh(desc->next));