• Home
  • Raw
  • Download

Lines Matching refs:dr

105 static inline u32 vdc_tx_dring_avail(struct vio_dring_state *dr)  in vdc_tx_dring_avail()  argument
107 return vio_dring_avail(dr, VDC_TX_RING_SIZE); in vdc_tx_dring_avail()
165 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in vdc_blk_queue_start() local
172 vdc_tx_dring_avail(dr) * 100 / VDC_TX_RING_SIZE >= 50) { in vdc_blk_queue_start()
289 static void vdc_end_one(struct vdc_port *port, struct vio_dring_state *dr, in vdc_end_one() argument
292 struct vio_disk_desc *desc = vio_dring_entry(dr, index); in vdc_end_one()
301 dr->cons = vio_dring_next(dr, index); in vdc_end_one()
318 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in vdc_ack() local
321 if (unlikely(pkt->dring_ident != dr->ident || in vdc_ack()
326 vdc_end_one(port, dr, pkt->start_idx); in vdc_ack()
409 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in __vdc_tx_trigger() local
417 .dring_ident = dr->ident, in __vdc_tx_trigger()
418 .start_idx = dr->prod, in __vdc_tx_trigger()
419 .end_idx = dr->prod, in __vdc_tx_trigger()
423 hdr.seq = dr->snd_nxt; in __vdc_tx_trigger()
428 dr->snd_nxt++; in __vdc_tx_trigger()
444 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in __send_request() local
470 desc = vio_dring_cur(dr); in __send_request()
480 rqe = &port->rq_arr[dr->prod]; in __send_request()
507 dr->prod = vio_dring_next(dr, dr->prod); in __send_request()
519 struct vio_dring_state *dr; in do_vdc_request() local
522 dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in do_vdc_request()
523 if (unlikely(vdc_tx_dring_avail(dr) < 1)) in do_vdc_request()
540 struct vio_dring_state *dr; in generic_request() local
623 dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in generic_request()
628 desc = vio_dring_cur(dr); in generic_request()
661 dr->prod = vio_dring_next(dr, dr->prod); in generic_request()
681 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in vdc_alloc_tx_ring() local
692 dr->cookies, &ncookies, in vdc_alloc_tx_ring()
699 dr->base = dring; in vdc_alloc_tx_ring()
700 dr->entry_size = entry_size; in vdc_alloc_tx_ring()
701 dr->num_entries = VDC_TX_RING_SIZE; in vdc_alloc_tx_ring()
702 dr->prod = dr->cons = 0; in vdc_alloc_tx_ring()
703 dr->pending = VDC_TX_RING_SIZE; in vdc_alloc_tx_ring()
704 dr->ncookies = ncookies; in vdc_alloc_tx_ring()
711 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in vdc_free_tx_ring() local
713 if (dr->base) { in vdc_free_tx_ring()
714 ldc_free_exp_dring(port->vio.lp, dr->base, in vdc_free_tx_ring()
715 (dr->entry_size * dr->num_entries), in vdc_free_tx_ring()
716 dr->cookies, dr->ncookies); in vdc_free_tx_ring()
717 dr->base = NULL; in vdc_free_tx_ring()
718 dr->entry_size = 0; in vdc_free_tx_ring()
719 dr->num_entries = 0; in vdc_free_tx_ring()
720 dr->pending = 0; in vdc_free_tx_ring()
721 dr->ncookies = 0; in vdc_free_tx_ring()
982 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING]; in vdc_requeue_inflight() local
985 for (idx = dr->cons; idx != dr->prod; idx = vio_dring_next(dr, idx)) { in vdc_requeue_inflight()
986 struct vio_disk_desc *desc = vio_dring_entry(dr, idx); in vdc_requeue_inflight()
992 dr->cons = vio_dring_next(dr, idx); in vdc_requeue_inflight()