Lines Matching refs:tbr

230 vmbus_txbr_init(struct vmbus_txbr *tbr)  in vmbus_txbr_init()  argument
232 mtx_init(&tbr->txbr_lock, "vmbus_txbr", NULL, MTX_SPIN); in vmbus_txbr_init()
236 vmbus_txbr_deinit(struct vmbus_txbr *tbr) in vmbus_txbr_deinit() argument
238 mtx_destroy(&tbr->txbr_lock); in vmbus_txbr_deinit()
242 vmbus_txbr_setup(struct vmbus_txbr *tbr, void *buf, int blen) in vmbus_txbr_setup() argument
244 vmbus_br_setup(&tbr->txbr, buf, blen); in vmbus_txbr_setup()
247 tbr->txbr_fpsndsz = 1; in vmbus_txbr_setup()
251 vmbus_txbr_get_imask(const struct vmbus_txbr *tbr) in vmbus_txbr_get_imask() argument
255 return(tbr->txbr_imask); in vmbus_txbr_get_imask()
259 vmbus_txbr_set_pending_snd_sz(struct vmbus_txbr *tbr, uint32_t size) in vmbus_txbr_set_pending_snd_sz() argument
261 tbr->txbr_psndsz = size; in vmbus_txbr_set_pending_snd_sz()
278 vmbus_txbr_need_signal(const struct vmbus_txbr *tbr, uint32_t old_windex) in vmbus_txbr_need_signal() argument
281 if (tbr->txbr_imask) in vmbus_txbr_need_signal()
290 if (old_windex == atomic_load_acq_32(&tbr->txbr_rindex)) in vmbus_txbr_need_signal()
297 vmbus_txbr_avail(const struct vmbus_txbr *tbr) in vmbus_txbr_avail() argument
302 rindex = atomic_load_acq_32(&tbr->txbr_rindex); in vmbus_txbr_avail()
303 windex = atomic_load_acq_32(&tbr->txbr_windex); in vmbus_txbr_avail()
305 return VMBUS_BR_WAVAIL(rindex, windex, tbr->txbr_dsize); in vmbus_txbr_avail()
309 vmbus_txbr_copyto(const struct vmbus_txbr *tbr, uint32_t windex, in vmbus_txbr_copyto() argument
313 uint8_t *br_data = tbr->txbr_data; in vmbus_txbr_copyto()
314 uint32_t br_dsize = tbr->txbr_dsize; in vmbus_txbr_copyto()
329 vmbus_txbr_copyto_call(const struct vmbus_txbr *tbr, uint32_t windex, in vmbus_txbr_copyto_call() argument
332 uint8_t *br_data = tbr->txbr_data; in vmbus_txbr_copyto_call()
333 uint32_t br_dsize = tbr->txbr_dsize; in vmbus_txbr_copyto_call()
353 vmbus_txbr_available(const struct vmbus_txbr *tbr) in vmbus_txbr_available() argument
355 return (vmbus_txbr_avail(tbr)); in vmbus_txbr_available()
364 vmbus_txbr_write_call(struct vmbus_txbr *tbr, in vmbus_txbr_write_call() argument
387 if (vmbus_txbr_avail(tbr) <= total) { in vmbus_txbr_write_call()
392 old_windex = tbr->txbr_windex; in vmbus_txbr_write_call()
400 windex = vmbus_txbr_copyto(tbr, windex, in vmbus_txbr_write_call()
403 windex = vmbus_txbr_copyto_call(tbr, windex, in vmbus_txbr_write_call()
414 mtx_lock_spin(&tbr->txbr_lock); in vmbus_txbr_write_call()
420 windex = vmbus_txbr_copyto(tbr, windex, &save_windex, in vmbus_txbr_write_call()
428 atomic_store_rel_32(&tbr->txbr_windex, windex); in vmbus_txbr_write_call()
430 mtx_unlock_spin(&tbr->txbr_lock); in vmbus_txbr_write_call()
433 *need_sig = vmbus_txbr_need_signal(tbr, old_windex); in vmbus_txbr_write_call()
445 vmbus_txbr_write(struct vmbus_txbr *tbr, const struct iovec iov[], int iovlen, in vmbus_txbr_write() argument
457 mtx_lock_spin(&tbr->txbr_lock); in vmbus_txbr_write()
466 if (vmbus_txbr_avail(tbr) <= total) { in vmbus_txbr_write()
467 mtx_unlock_spin(&tbr->txbr_lock); in vmbus_txbr_write()
472 old_windex = atomic_load_acq_32(&tbr->txbr_windex); in vmbus_txbr_write()
479 windex = vmbus_txbr_copyto(tbr, windex, in vmbus_txbr_write()
487 windex = vmbus_txbr_copyto(tbr, windex, &save_windex, in vmbus_txbr_write()
495 atomic_store_rel_32(&tbr->txbr_windex, windex); in vmbus_txbr_write()
497 mtx_unlock_spin(&tbr->txbr_lock); in vmbus_txbr_write()
499 *need_sig = vmbus_txbr_need_signal(tbr, old_windex); in vmbus_txbr_write()