• Home
  • Raw
  • Download

Lines Matching refs:rx_ring

31 	hash_for_each_possible(ar->htt.rx_ring.skb_table, rxcb, hlist, paddr)  in ath10k_htt_rx_find_skb_paddr()
46 if (htt->rx_ring.in_ord_rx) { in ath10k_htt_rx_ring_free()
47 hash_for_each_safe(htt->rx_ring.skb_table, i, n, rxcb, hlist) { in ath10k_htt_rx_ring_free()
56 for (i = 0; i < htt->rx_ring.size; i++) { in ath10k_htt_rx_ring_free()
57 skb = htt->rx_ring.netbufs_ring[i]; in ath10k_htt_rx_ring_free()
69 htt->rx_ring.fill_cnt = 0; in ath10k_htt_rx_ring_free()
70 hash_init(htt->rx_ring.skb_table); in ath10k_htt_rx_ring_free()
71 memset(htt->rx_ring.netbufs_ring, 0, in ath10k_htt_rx_ring_free()
72 htt->rx_ring.size * sizeof(htt->rx_ring.netbufs_ring[0])); in ath10k_htt_rx_ring_free()
77 return htt->rx_ring.size * sizeof(htt->rx_ring.paddrs_ring_32); in ath10k_htt_get_rx_ring_size_32()
82 return htt->rx_ring.size * sizeof(htt->rx_ring.paddrs_ring_64); in ath10k_htt_get_rx_ring_size_64()
88 htt->rx_ring.paddrs_ring_32 = vaddr; in ath10k_htt_config_paddrs_ring_32()
94 htt->rx_ring.paddrs_ring_64 = vaddr; in ath10k_htt_config_paddrs_ring_64()
100 htt->rx_ring.paddrs_ring_32[idx] = __cpu_to_le32(paddr); in ath10k_htt_set_paddrs_ring_32()
106 htt->rx_ring.paddrs_ring_64[idx] = __cpu_to_le64(paddr); in ath10k_htt_set_paddrs_ring_64()
111 htt->rx_ring.paddrs_ring_32[idx] = 0; in ath10k_htt_reset_paddrs_ring_32()
116 htt->rx_ring.paddrs_ring_64[idx] = 0; in ath10k_htt_reset_paddrs_ring_64()
121 return (void *)htt->rx_ring.paddrs_ring_32; in ath10k_htt_get_vaddr_ring_32()
126 return (void *)htt->rx_ring.paddrs_ring_64; in ath10k_htt_get_vaddr_ring_64()
144 idx = __le32_to_cpu(*htt->rx_ring.alloc_idx.vaddr); in __ath10k_htt_rx_ring_fill_n()
173 htt->rx_ring.netbufs_ring[idx] = skb; in __ath10k_htt_rx_ring_fill_n()
175 htt->rx_ring.fill_cnt++; in __ath10k_htt_rx_ring_fill_n()
177 if (htt->rx_ring.in_ord_rx) { in __ath10k_htt_rx_ring_fill_n()
178 hash_add(htt->rx_ring.skb_table, in __ath10k_htt_rx_ring_fill_n()
185 idx &= htt->rx_ring.size_mask; in __ath10k_htt_rx_ring_fill_n()
194 *htt->rx_ring.alloc_idx.vaddr = __cpu_to_le32(idx); in __ath10k_htt_rx_ring_fill_n()
200 lockdep_assert_held(&htt->rx_ring.lock); in ath10k_htt_rx_ring_fill_n()
224 spin_lock_bh(&htt->rx_ring.lock); in ath10k_htt_rx_msdu_buff_replenish()
225 num_deficit = htt->rx_ring.fill_level - htt->rx_ring.fill_cnt; in ath10k_htt_rx_msdu_buff_replenish()
236 mod_timer(&htt->rx_ring.refill_retry_timer, jiffies + in ath10k_htt_rx_msdu_buff_replenish()
239 mod_timer(&htt->rx_ring.refill_retry_timer, jiffies + in ath10k_htt_rx_msdu_buff_replenish()
242 spin_unlock_bh(&htt->rx_ring.lock); in ath10k_htt_rx_msdu_buff_replenish()
247 struct ath10k_htt *htt = from_timer(htt, t, rx_ring.refill_retry_timer); in ath10k_htt_rx_ring_refill_retry()
260 spin_lock_bh(&htt->rx_ring.lock); in ath10k_htt_rx_ring_refill()
261 ret = ath10k_htt_rx_ring_fill_n(htt, (htt->rx_ring.fill_level - in ath10k_htt_rx_ring_refill()
262 htt->rx_ring.fill_cnt)); in ath10k_htt_rx_ring_refill()
267 spin_unlock_bh(&htt->rx_ring.lock); in ath10k_htt_rx_ring_refill()
277 del_timer_sync(&htt->rx_ring.refill_retry_timer); in ath10k_htt_rx_free()
283 spin_lock_bh(&htt->rx_ring.lock); in ath10k_htt_rx_free()
285 spin_unlock_bh(&htt->rx_ring.lock); in ath10k_htt_rx_free()
290 htt->rx_ring.base_paddr); in ath10k_htt_rx_free()
293 sizeof(*htt->rx_ring.alloc_idx.vaddr), in ath10k_htt_rx_free()
294 htt->rx_ring.alloc_idx.vaddr, in ath10k_htt_rx_free()
295 htt->rx_ring.alloc_idx.paddr); in ath10k_htt_rx_free()
297 kfree(htt->rx_ring.netbufs_ring); in ath10k_htt_rx_free()
306 lockdep_assert_held(&htt->rx_ring.lock); in ath10k_htt_rx_netbuf_pop()
308 if (htt->rx_ring.fill_cnt == 0) { in ath10k_htt_rx_netbuf_pop()
313 idx = htt->rx_ring.sw_rd_idx.msdu_payld; in ath10k_htt_rx_netbuf_pop()
314 msdu = htt->rx_ring.netbufs_ring[idx]; in ath10k_htt_rx_netbuf_pop()
315 htt->rx_ring.netbufs_ring[idx] = NULL; in ath10k_htt_rx_netbuf_pop()
319 idx &= htt->rx_ring.size_mask; in ath10k_htt_rx_netbuf_pop()
320 htt->rx_ring.sw_rd_idx.msdu_payld = idx; in ath10k_htt_rx_netbuf_pop()
321 htt->rx_ring.fill_cnt--; in ath10k_htt_rx_netbuf_pop()
342 lockdep_assert_held(&htt->rx_ring.lock); in ath10k_htt_rx_amsdu_pop()
442 lockdep_assert_held(&htt->rx_ring.lock); in ath10k_htt_rx_pop_paddr()
450 htt->rx_ring.fill_cnt--; in ath10k_htt_rx_pop_paddr()
633 lockdep_assert_held(&htt->rx_ring.lock); in ath10k_htt_rx_pop_paddr32_list()
695 lockdep_assert_held(&htt->rx_ring.lock); in ath10k_htt_rx_pop_paddr64_list()
750 struct timer_list *timer = &htt->rx_ring.refill_retry_timer; in ath10k_htt_rx_alloc()
760 htt->rx_ring.size = HTT_RX_RING_SIZE; in ath10k_htt_rx_alloc()
761 htt->rx_ring.size_mask = htt->rx_ring.size - 1; in ath10k_htt_rx_alloc()
762 htt->rx_ring.fill_level = ar->hw_params.rx_ring_fill_level; in ath10k_htt_rx_alloc()
764 if (!is_power_of_2(htt->rx_ring.size)) { in ath10k_htt_rx_alloc()
769 htt->rx_ring.netbufs_ring = in ath10k_htt_rx_alloc()
770 kcalloc(htt->rx_ring.size, sizeof(struct sk_buff *), in ath10k_htt_rx_alloc()
772 if (!htt->rx_ring.netbufs_ring) in ath10k_htt_rx_alloc()
782 htt->rx_ring.base_paddr = paddr; in ath10k_htt_rx_alloc()
785 sizeof(*htt->rx_ring.alloc_idx.vaddr), in ath10k_htt_rx_alloc()
790 htt->rx_ring.alloc_idx.vaddr = vaddr; in ath10k_htt_rx_alloc()
791 htt->rx_ring.alloc_idx.paddr = paddr; in ath10k_htt_rx_alloc()
792 htt->rx_ring.sw_rd_idx.msdu_payld = htt->rx_ring.size_mask; in ath10k_htt_rx_alloc()
793 *htt->rx_ring.alloc_idx.vaddr = 0; in ath10k_htt_rx_alloc()
798 spin_lock_init(&htt->rx_ring.lock); in ath10k_htt_rx_alloc()
800 htt->rx_ring.fill_cnt = 0; in ath10k_htt_rx_alloc()
801 htt->rx_ring.sw_rd_idx.msdu_payld = 0; in ath10k_htt_rx_alloc()
802 hash_init(htt->rx_ring.skb_table); in ath10k_htt_rx_alloc()
810 htt->rx_ring.size, htt->rx_ring.fill_level); in ath10k_htt_rx_alloc()
817 htt->rx_ring.base_paddr); in ath10k_htt_rx_alloc()
819 kfree(htt->rx_ring.netbufs_ring); in ath10k_htt_rx_alloc()
2026 spin_lock_bh(&htt->rx_ring.lock); in ath10k_htt_rx_handle_amsdu()
2028 spin_unlock_bh(&htt->rx_ring.lock); in ath10k_htt_rx_handle_amsdu()
2032 spin_unlock_bh(&htt->rx_ring.lock); in ath10k_htt_rx_handle_amsdu()
2941 lockdep_assert_held(&htt->rx_ring.lock); in ath10k_htt_rx_in_ord_ind()
3973 spin_lock_bh(&htt->rx_ring.lock); in ath10k_htt_txrx_compl_task()
3975 spin_unlock_bh(&htt->rx_ring.lock); in ath10k_htt_txrx_compl_task()