Lines Matching refs:rba
567 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_allocator() local
569 int pending = atomic_read(&rba->req_pending); in iwl_pcie_rx_allocator()
574 spin_lock(&rba->lock); in iwl_pcie_rx_allocator()
576 list_replace_init(&rba->rbd_empty, &local_empty); in iwl_pcie_rx_allocator()
577 spin_unlock(&rba->lock); in iwl_pcie_rx_allocator()
626 atomic_dec(&rba->req_pending); in iwl_pcie_rx_allocator()
630 pending = atomic_read(&rba->req_pending); in iwl_pcie_rx_allocator()
637 spin_lock(&rba->lock); in iwl_pcie_rx_allocator()
639 list_splice_tail(&local_allocated, &rba->rbd_allocated); in iwl_pcie_rx_allocator()
641 list_splice_tail_init(&rba->rbd_empty, &local_empty); in iwl_pcie_rx_allocator()
642 spin_unlock(&rba->lock); in iwl_pcie_rx_allocator()
644 atomic_inc(&rba->req_ready); in iwl_pcie_rx_allocator()
648 spin_lock(&rba->lock); in iwl_pcie_rx_allocator()
650 list_splice_tail(&local_empty, &rba->rbd_empty); in iwl_pcie_rx_allocator()
651 spin_unlock(&rba->lock); in iwl_pcie_rx_allocator()
668 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_allocator_get() local
681 if (atomic_dec_if_positive(&rba->req_ready) < 0) in iwl_pcie_rx_allocator_get()
684 spin_lock(&rba->lock); in iwl_pcie_rx_allocator_get()
688 list_first_entry(&rba->rbd_allocated, in iwl_pcie_rx_allocator_get()
693 spin_unlock(&rba->lock); in iwl_pcie_rx_allocator_get()
704 container_of(rba_p, struct iwl_trans_pcie, rba); in iwl_pcie_rx_allocator_work()
834 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_alloc() local
858 spin_lock_init(&rba->lock); in iwl_pcie_rx_alloc()
1078 struct iwl_rb_allocator *rba = &trans_pcie->rba; in _iwl_pcie_rx_init() local
1088 cancel_work_sync(&rba->rx_alloc); in _iwl_pcie_rx_init()
1090 spin_lock(&rba->lock); in _iwl_pcie_rx_init()
1091 atomic_set(&rba->req_pending, 0); in _iwl_pcie_rx_init()
1092 atomic_set(&rba->req_ready, 0); in _iwl_pcie_rx_init()
1093 INIT_LIST_HEAD(&rba->rbd_allocated); in _iwl_pcie_rx_init()
1094 INIT_LIST_HEAD(&rba->rbd_empty); in _iwl_pcie_rx_init()
1095 spin_unlock(&rba->lock); in _iwl_pcie_rx_init()
1140 list_add(&rxb->list, &rba->rbd_empty); in _iwl_pcie_rx_init()
1190 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_free() local
1205 cancel_work_sync(&rba->rx_alloc); in iwl_pcie_rx_free()
1235 struct iwl_rb_allocator *rba) in iwl_pcie_rx_move_to_allocator() argument
1237 spin_lock(&rba->lock); in iwl_pcie_rx_move_to_allocator()
1238 list_splice_tail_init(&rxq->rx_used, &rba->rbd_empty); in iwl_pcie_rx_move_to_allocator()
1239 spin_unlock(&rba->lock); in iwl_pcie_rx_move_to_allocator()
1253 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_reuse_rbd() local
1273 iwl_pcie_rx_move_to_allocator(rxq, rba); in iwl_pcie_rx_reuse_rbd()
1275 atomic_inc(&rba->req_pending); in iwl_pcie_rx_reuse_rbd()
1276 queue_work(rba->alloc_wq, &rba->rx_alloc); in iwl_pcie_rx_reuse_rbd()
1502 struct iwl_rb_allocator *rba = &trans_pcie->rba; in iwl_pcie_rx_handle() local
1506 atomic_read(&trans_pcie->rba.req_pending) * in iwl_pcie_rx_handle()
1512 iwl_pcie_rx_move_to_allocator(rxq, rba); in iwl_pcie_rx_handle()
1559 iwl_pcie_rx_move_to_allocator(rxq, rba); in iwl_pcie_rx_handle()