Lines Matching refs:ringp

632 xvdi_reinit_ring(dev_info_t *dip, grant_ref_t *gref, xendev_ring_t *ringp)  in xvdi_reinit_ring()  argument
637 ASSERT((ringp != NULL) && (ringp->xr_paddr != 0)); in xvdi_reinit_ring()
638 rpaddr = ringp->xr_paddr; in xvdi_reinit_ring()
641 gnttab_grant_foreign_access_ref(ringp->xr_gref, xvdi_get_oeid(dip), in xvdi_reinit_ring()
643 *gref = ringp->xr_gref; in xvdi_reinit_ring()
646 xvdi_ring_init_sring(ringp); in xvdi_reinit_ring()
647 xvdi_ring_init_front_ring(ringp, ringp->xr_sring.fr.nr_ents, in xvdi_reinit_ring()
648 ringp->xr_entry_size); in xvdi_reinit_ring()
2050 #define GET_RING_SIZE(_ringp) RING_SIZE(FRONT_RING(ringp))
2059 xvdi_ring_avail_slots(xendev_ring_t *ringp) in xvdi_ring_avail_slots() argument
2064 if (ringp->xr_frontend) { in xvdi_ring_avail_slots()
2065 frp = FRONT_RING(ringp); in xvdi_ring_avail_slots()
2066 return (GET_RING_SIZE(ringp) - in xvdi_ring_avail_slots()
2069 brp = BACK_RING(ringp); in xvdi_ring_avail_slots()
2070 return (GET_RING_SIZE(ringp) - in xvdi_ring_avail_slots()
2076 xvdi_ring_has_unconsumed_requests(xendev_ring_t *ringp) in xvdi_ring_has_unconsumed_requests() argument
2080 ASSERT(!ringp->xr_frontend); in xvdi_ring_has_unconsumed_requests()
2081 brp = BACK_RING(ringp); in xvdi_ring_has_unconsumed_requests()
2083 ddi_get32(ringp->xr_acc_hdl, &brp->sring->req_prod)) && in xvdi_ring_has_unconsumed_requests()
2088 xvdi_ring_has_incomp_request(xendev_ring_t *ringp) in xvdi_ring_has_incomp_request() argument
2092 ASSERT(ringp->xr_frontend); in xvdi_ring_has_incomp_request()
2093 frp = FRONT_RING(ringp); in xvdi_ring_has_incomp_request()
2095 ddi_get32(ringp->xr_acc_hdl, &frp->sring->rsp_prod)); in xvdi_ring_has_incomp_request()
2099 xvdi_ring_has_unconsumed_responses(xendev_ring_t *ringp) in xvdi_ring_has_unconsumed_responses() argument
2103 ASSERT(ringp->xr_frontend); in xvdi_ring_has_unconsumed_responses()
2104 frp = FRONT_RING(ringp); in xvdi_ring_has_unconsumed_responses()
2106 ddi_get32(ringp->xr_acc_hdl, &frp->sring->rsp_prod)); in xvdi_ring_has_unconsumed_responses()
2111 xvdi_ring_get_request(xendev_ring_t *ringp) in xvdi_ring_get_request() argument
2116 if (ringp->xr_frontend) { in xvdi_ring_get_request()
2118 frp = FRONT_RING(ringp); in xvdi_ring_get_request()
2120 return (GET_RING_ENTRY_FE(ringp, frp->req_prod_pvt++)); in xvdi_ring_get_request()
2125 brp = BACK_RING(ringp); in xvdi_ring_get_request()
2127 if (xvdi_ring_has_unconsumed_requests(ringp)) in xvdi_ring_get_request()
2128 return (GET_RING_ENTRY_BE(ringp, brp->req_cons++)); in xvdi_ring_get_request()
2130 ddi_put32(ringp->xr_acc_hdl, &brp->sring->req_event, in xvdi_ring_get_request()
2133 if (xvdi_ring_has_unconsumed_requests(ringp)) in xvdi_ring_get_request()
2134 return (GET_RING_ENTRY_BE(ringp, in xvdi_ring_get_request()
2143 xvdi_ring_push_request(xendev_ring_t *ringp) in xvdi_ring_push_request() argument
2149 ASSERT(ringp->xr_frontend); in xvdi_ring_push_request()
2152 frp = FRONT_RING(ringp); in xvdi_ring_push_request()
2153 old = ddi_get32(ringp->xr_acc_hdl, &frp->sring->req_prod); in xvdi_ring_push_request()
2155 ddi_put32(ringp->xr_acc_hdl, &frp->sring->req_prod, new); in xvdi_ring_push_request()
2157 reqevt = ddi_get32(ringp->xr_acc_hdl, &frp->sring->req_event); in xvdi_ring_push_request()
2163 xvdi_ring_get_response(xendev_ring_t *ringp) in xvdi_ring_get_response() argument
2168 if (!ringp->xr_frontend) { in xvdi_ring_get_response()
2170 brp = BACK_RING(ringp); in xvdi_ring_get_response()
2171 return (GET_RING_ENTRY_BE(ringp, brp->rsp_prod_pvt++)); in xvdi_ring_get_response()
2174 frp = FRONT_RING(ringp); in xvdi_ring_get_response()
2176 if (xvdi_ring_has_unconsumed_responses(ringp)) in xvdi_ring_get_response()
2177 return (GET_RING_ENTRY_FE(ringp, frp->rsp_cons++)); in xvdi_ring_get_response()
2179 ddi_put32(ringp->xr_acc_hdl, &frp->sring->rsp_event, in xvdi_ring_get_response()
2182 if (xvdi_ring_has_unconsumed_responses(ringp)) in xvdi_ring_get_response()
2183 return (GET_RING_ENTRY_FE(ringp, in xvdi_ring_get_response()
2192 xvdi_ring_push_response(xendev_ring_t *ringp) in xvdi_ring_push_response() argument
2198 ASSERT(!ringp->xr_frontend); in xvdi_ring_push_response()
2201 brp = BACK_RING(ringp); in xvdi_ring_push_response()
2202 old = ddi_get32(ringp->xr_acc_hdl, &brp->sring->rsp_prod); in xvdi_ring_push_response()
2204 ddi_put32(ringp->xr_acc_hdl, &brp->sring->rsp_prod, new); in xvdi_ring_push_response()
2206 rspevt = ddi_get32(ringp->xr_acc_hdl, &brp->sring->rsp_event); in xvdi_ring_push_response()
2211 xvdi_ring_init_sring(xendev_ring_t *ringp) in xvdi_ring_init_sring() argument
2217 xsrp = (comif_sring_t *)ringp->xr_vaddr; in xvdi_ring_init_sring()
2218 acchdl = ringp->xr_acc_hdl; in xvdi_ring_init_sring()
2230 xvdi_ring_init_front_ring(xendev_ring_t *ringp, size_t nentry, size_t entrysize) in xvdi_ring_init_front_ring() argument
2234 xfrp = &ringp->xr_sring.fr; in xvdi_ring_init_front_ring()
2238 xfrp->sring = (comif_sring_t *)ringp->xr_vaddr; in xvdi_ring_init_front_ring()
2240 ringp->xr_frontend = 1; in xvdi_ring_init_front_ring()
2241 ringp->xr_entry_size = entrysize; in xvdi_ring_init_front_ring()
2246 xvdi_ring_init_back_ring(xendev_ring_t *ringp, size_t nentry, size_t entrysize) in xvdi_ring_init_back_ring() argument
2250 xbrp = &ringp->xr_sring.br; in xvdi_ring_init_back_ring()
2254 xbrp->sring = (comif_sring_t *)ringp->xr_vaddr; in xvdi_ring_init_back_ring()
2256 ringp->xr_frontend = 0; in xvdi_ring_init_back_ring()
2257 ringp->xr_entry_size = entrysize; in xvdi_ring_init_back_ring()