Lines Matching refs:dr

117 static inline u32 vdc_tx_dring_avail(struct vio_dring_state *dr)  in vdc_tx_dring_avail()  argument
119 return vio_dring_avail(dr, VDC_TX_RING_SIZE); in vdc_tx_dring_avail()
181 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in vdc_blk_queue_start() local
187 if (port->disk && vdc_tx_dring_avail(dr) * 100 / VDC_TX_RING_SIZE >= 50) in vdc_blk_queue_start()
307 static void vdc_end_one(struct vdc_port *port, struct vio_dring_state *dr, in vdc_end_one() argument
310 struct vio_disk_desc *desc = vio_dring_entry(dr, index); in vdc_end_one()
319 dr->cons = vio_dring_next(dr, index); in vdc_end_one()
336 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in vdc_ack() local
339 if (unlikely(pkt->dring_ident != dr->ident || in vdc_ack()
344 vdc_end_one(port, dr, pkt->start_idx); in vdc_ack()
427 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in __vdc_tx_trigger() local
435 .dring_ident = dr->ident, in __vdc_tx_trigger()
436 .start_idx = dr->prod, in __vdc_tx_trigger()
437 .end_idx = dr->prod, in __vdc_tx_trigger()
442 hdr.seq = dr->snd_nxt; in __vdc_tx_trigger()
447 dr->snd_nxt++; in __vdc_tx_trigger()
465 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in __send_request() local
494 desc = vio_dring_cur(dr); in __send_request()
504 rqe = &port->rq_arr[dr->prod]; in __send_request()
531 dr->prod = vio_dring_next(dr, dr->prod); in __send_request()
541 struct vio_dring_state *dr; in vdc_queue_rq() local
544 dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in vdc_queue_rq()
558 if (unlikely(vdc_tx_dring_avail(dr) < 1)) { in vdc_queue_rq()
575 struct vio_dring_state *dr; in generic_request() local
657 dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in generic_request()
662 desc = vio_dring_cur(dr); in generic_request()
695 dr->prod = vio_dring_next(dr, dr->prod); in generic_request()
715 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in vdc_alloc_tx_ring() local
726 dr->cookies, &ncookies, in vdc_alloc_tx_ring()
733 dr->base = dring; in vdc_alloc_tx_ring()
734 dr->entry_size = entry_size; in vdc_alloc_tx_ring()
735 dr->num_entries = VDC_TX_RING_SIZE; in vdc_alloc_tx_ring()
736 dr->prod = dr->cons = 0; in vdc_alloc_tx_ring()
737 dr->pending = VDC_TX_RING_SIZE; in vdc_alloc_tx_ring()
738 dr->ncookies = ncookies; in vdc_alloc_tx_ring()
745 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in vdc_free_tx_ring() local
747 if (dr->base) { in vdc_free_tx_ring()
748 ldc_free_exp_dring(port->vio.lp, dr->base, in vdc_free_tx_ring()
749 (dr->entry_size * dr->num_entries), in vdc_free_tx_ring()
750 dr->cookies, dr->ncookies); in vdc_free_tx_ring()
751 dr->base = NULL; in vdc_free_tx_ring()
752 dr->entry_size = 0; in vdc_free_tx_ring()
753 dr->num_entries = 0; in vdc_free_tx_ring()
754 dr->pending = 0; in vdc_free_tx_ring()
755 dr->ncookies = 0; in vdc_free_tx_ring()
1089 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in vdc_requeue_inflight() local
1092 for (idx = dr->cons; idx != dr->prod; idx = vio_dring_next(dr, idx)) { in vdc_requeue_inflight()
1093 struct vio_disk_desc *desc = vio_dring_entry(dr, idx); in vdc_requeue_inflight()
1099 dr->cons = vio_dring_next(dr, idx); in vdc_requeue_inflight()