vd_desc
struct vd_desc *vd_desc;
sc->sc_vd->vd_desc[desc].cookie[ncookies].addr =
sc->sc_vd->vd_desc[desc].cookie[ncookies].size = nbytes;
sc->sc_vd->vd_desc[desc].hdr.ack = 1;
sc->sc_vd->vd_desc[desc].hdr.ack = 0;
sc->sc_vd->vd_desc[desc].operation = operation;
sc->sc_vd->vd_desc[desc].slice = VD_SLICE_NONE;
sc->sc_vd->vd_desc[desc].status = 0xffffffff;
sc->sc_vd->vd_desc[desc].offset = lba;
sc->sc_vd->vd_desc[desc].size = xs->datalen;
sc->sc_vd->vd_desc[desc].ncookies = ncookies;
sc->sc_vd->vd_desc[desc].hdr.dstate = VIO_DESC_READY;
if (sc->sc_vd->vd_desc[desc].status != 0)
sc->sc_vd->vd_desc[desc].size;
sc->sc_vd->vd_desc[desc].hdr.dstate = VIO_DESC_FREE;
while (sc->sc_vd->vd_desc[cons].hdr.dstate == VIO_DESC_DONE) {
dr.descriptor_size = sizeof(struct vd_desc);
size = roundup(nentries * sizeof(struct vd_desc), PAGE_SIZE);
vd->vd_desc = (struct vd_desc *)va;
bzero(vd->vd_desc, nentries * sizeof(struct vd_desc));
vd->vd_desc[i].hdr.dstate = VIO_DESC_FREE;
size = vd->vd_nentries * sizeof(struct vd_desc);
bus_dmamem_unmap(t, (caddr_t)vd->vd_desc, size);
if (sc->sc_vd->vd_desc[desc].hdr.dstate == VIO_DESC_DONE)
if (sc->sc_vd->vd_desc[desc].hdr.dstate == VIO_DESC_DONE) {
struct vd_desc *vd = arg2;
struct vd_desc *vd = arg2;
struct vd_desc *vd = arg2;
struct vd_desc *vd = arg2;
struct vd_desc *vd = arg2;
struct vd_desc *vd = arg2;
struct vd_desc *vd = arg2;
vdsp_ack_desc(struct vdsp_softc *sc, struct vd_desc *vd)
struct vd_desc **sc_vd_ring;
void vdsp_ack_desc(struct vdsp_softc *, struct vd_desc *);
struct vd_desc *vd;
vd = (struct vd_desc *)(sc->sc_vd + off);
struct vd_desc *vd;
struct vnet_desc *vd_desc;
while (sc->sc_vd->vd_desc[prod].hdr.dstate == VIO_DESC_FREE) {
sc->sc_vd->vd_desc[prod].nbytes = max(m->m_pkthdr.len, 60);
sc->sc_vd->vd_desc[prod].ncookies = 1;
sc->sc_vd->vd_desc[prod].cookie[0].addr =
sc->sc_vd->vd_desc[prod].cookie[0].size = VNET_BUF_SIZE;
sc->sc_vd->vd_desc[prod].hdr.dstate = VIO_DESC_READY;
sc->sc_vd->vd_desc[start].hdr.dstate = VIO_DESC_READY;
vd->vd_desc = (struct vnet_desc *)va;
bzero(vd->vd_desc, nentries * sizeof(struct vnet_desc));
vd->vd_desc[i].hdr.dstate = VIO_DESC_FREE;
bus_dmamem_unmap(t, (caddr_t)vd->vd_desc, size);
while (sc->sc_vd->vd_desc[cons].hdr.dstate == VIO_DESC_DONE) {
sc->sc_vd->vd_desc[cons].hdr.dstate = VIO_DESC_FREE;
sc->sc_vd->vd_desc[i].hdr.dstate = VIO_DESC_FREE;