Lines Matching refs:rba

510 	struct iwl_rb_allocator *rba = &trans_pcie->rba;  in iwl_pcie_rx_allocator()  local
512 int pending = atomic_read(&rba->req_pending); in iwl_pcie_rx_allocator()
517 spin_lock_bh(&rba->lock); in iwl_pcie_rx_allocator()
519 list_replace_init(&rba->rbd_empty, &local_empty); in iwl_pcie_rx_allocator()
520 spin_unlock_bh(&rba->lock); in iwl_pcie_rx_allocator()
569 atomic_dec(&rba->req_pending); in iwl_pcie_rx_allocator()
573 pending = atomic_read(&rba->req_pending); in iwl_pcie_rx_allocator()
580 spin_lock_bh(&rba->lock); in iwl_pcie_rx_allocator()
582 list_splice_tail(&local_allocated, &rba->rbd_allocated); in iwl_pcie_rx_allocator()
584 list_splice_tail_init(&rba->rbd_empty, &local_empty); in iwl_pcie_rx_allocator()
585 spin_unlock_bh(&rba->lock); in iwl_pcie_rx_allocator()
587 atomic_inc(&rba->req_ready); in iwl_pcie_rx_allocator()
591 spin_lock_bh(&rba->lock); in iwl_pcie_rx_allocator()
593 list_splice_tail(&local_empty, &rba->rbd_empty); in iwl_pcie_rx_allocator()
594 spin_unlock_bh(&rba->lock); in iwl_pcie_rx_allocator()
611 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_allocator_get() local
624 if (atomic_dec_if_positive(&rba->req_ready) < 0) in iwl_pcie_rx_allocator_get()
627 spin_lock(&rba->lock); in iwl_pcie_rx_allocator_get()
631 list_first_entry(&rba->rbd_allocated, in iwl_pcie_rx_allocator_get()
636 spin_unlock(&rba->lock); in iwl_pcie_rx_allocator_get()
647 container_of(rba_p, struct iwl_trans_pcie, rba); in iwl_pcie_rx_allocator_work()
777 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_alloc() local
801 spin_lock_init(&rba->lock); in iwl_pcie_rx_alloc()
1077 struct iwl_rb_allocator *rba = &trans_pcie->rba; in _iwl_pcie_rx_init() local
1087 cancel_work_sync(&rba->rx_alloc); in _iwl_pcie_rx_init()
1089 spin_lock_bh(&rba->lock); in _iwl_pcie_rx_init()
1090 atomic_set(&rba->req_pending, 0); in _iwl_pcie_rx_init()
1091 atomic_set(&rba->req_ready, 0); in _iwl_pcie_rx_init()
1092 INIT_LIST_HEAD(&rba->rbd_allocated); in _iwl_pcie_rx_init()
1093 INIT_LIST_HEAD(&rba->rbd_empty); in _iwl_pcie_rx_init()
1094 spin_unlock_bh(&rba->lock); in _iwl_pcie_rx_init()
1147 list_add(&rxb->list, &rba->rbd_empty); in _iwl_pcie_rx_init()
1197 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_free() local
1212 cancel_work_sync(&rba->rx_alloc); in iwl_pcie_rx_free()
1244 struct iwl_rb_allocator *rba) in iwl_pcie_rx_move_to_allocator() argument
1246 spin_lock(&rba->lock); in iwl_pcie_rx_move_to_allocator()
1247 list_splice_tail_init(&rxq->rx_used, &rba->rbd_empty); in iwl_pcie_rx_move_to_allocator()
1248 spin_unlock(&rba->lock); in iwl_pcie_rx_move_to_allocator()
1262 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_reuse_rbd() local
1282 iwl_pcie_rx_move_to_allocator(rxq, rba); in iwl_pcie_rx_reuse_rbd()
1284 atomic_inc(&rba->req_pending); in iwl_pcie_rx_reuse_rbd()
1285 queue_work(rba->alloc_wq, &rba->rx_alloc); in iwl_pcie_rx_reuse_rbd()
1513 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_handle() local
1517 atomic_read(&trans_pcie->rba.req_pending) * in iwl_pcie_rx_handle()
1523 iwl_pcie_rx_move_to_allocator(rxq, rba); in iwl_pcie_rx_handle()
1570 iwl_pcie_rx_move_to_allocator(rxq, rba); in iwl_pcie_rx_handle()