Lines Matching refs:dr
118 static inline u32 vdc_tx_dring_avail(struct vio_dring_state *dr)
120 return vio_dring_avail(dr, VDC_TX_RING_SIZE);
179 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING];
185 if (port->disk && vdc_tx_dring_avail(dr) * 100 / VDC_TX_RING_SIZE >= 50)
305 static void vdc_end_one(struct vdc_port *port, struct vio_dring_state *dr,
308 struct vio_disk_desc *desc = vio_dring_entry(dr, index);
317 dr->cons = vio_dring_next(dr, index);
334 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING];
337 if (unlikely(pkt->dring_ident != dr->ident ||
342 vdc_end_one(port, dr, pkt->start_idx);
425 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING];
433 .dring_ident = dr->ident,
434 .start_idx = dr->prod,
435 .end_idx = dr->prod,
440 hdr.seq = dr->snd_nxt;
445 dr->snd_nxt++;
463 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING];
492 desc = vio_dring_cur(dr);
502 rqe = &port->rq_arr[dr->prod];
529 dr->prod = vio_dring_next(dr, dr->prod);
539 struct vio_dring_state *dr;
542 dr = &port->vio.drings[VIO_DRIVER_TX_RING];
556 if (unlikely(vdc_tx_dring_avail(dr) < 1)) {
573 struct vio_dring_state *dr;
655 dr = &port->vio.drings[VIO_DRIVER_TX_RING];
660 desc = vio_dring_cur(dr);
693 dr->prod = vio_dring_next(dr, dr->prod);
713 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING];
724 dr->cookies, &ncookies,
731 dr->base = dring;
732 dr->entry_size = entry_size;
733 dr->num_entries = VDC_TX_RING_SIZE;
734 dr->prod = dr->cons = 0;
735 dr->pending = VDC_TX_RING_SIZE;
736 dr->ncookies = ncookies;
743 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING];
745 if (dr->base) {
746 ldc_free_exp_dring(port->vio.lp, dr->base,
747 (dr->entry_size * dr->num_entries),
748 dr->cookies, dr->ncookies);
749 dr->base = NULL;
750 dr->entry_size = 0;
751 dr->num_entries = 0;
752 dr->pending = 0;
753 dr->ncookies = 0;
1104 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING];
1107 for (idx = dr->cons; idx != dr->prod; idx = vio_dring_next(dr, idx)) {
1108 struct vio_disk_desc *desc = vio_dring_entry(dr, idx);
1114 dr->cons = vio_dring_next(dr, idx);