| /linux/drivers/net/wireless/ath/ath12k/ |
| H A D | hal.c | 11 struct hal_srng *srng, int ring_num) in ath12k_hal_ce_dst_setup() argument 13 ab->hal.ops->ce_dst_setup(ab, srng, ring_num); in ath12k_hal_ce_dst_setup() 17 struct hal_srng *srng) in ath12k_hal_srng_src_hw_init() argument 19 ab->hal.ops->srng_src_hw_init(ab, srng); in ath12k_hal_srng_src_hw_init() 23 struct hal_srng *srng) in ath12k_hal_srng_dst_hw_init() argument 25 ab->hal.ops->srng_dst_hw_init(ab, srng); in ath12k_hal_srng_dst_hw_init() 29 struct hal_srng *srng) in ath12k_hal_set_umac_srng_ptr_addr() argument 31 ab->hal.ops->set_umac_srng_ptr_addr(ab, srng); in ath12k_hal_set_umac_srng_ptr_addr() 99 void ath12k_hal_reo_init_cmd_ring(struct ath12k_base *ab, struct hal_srng *srng) in ath12k_hal_reo_init_cmd_ring() argument 101 ab->hal.ops->reo_init_cmd_ring(ab, srng); in ath12k_hal_reo_init_cmd_ring() [all …]
|
| H A D | ce.c | 16 struct hal_srng *srng; in ath12k_ce_rx_buf_enqueue_pipe() local 26 srng = &ab->hal.srng_list[ring->hal_ring_id]; in ath12k_ce_rx_buf_enqueue_pipe() 28 spin_lock_bh(&srng->lock); in ath12k_ce_rx_buf_enqueue_pipe() 30 ath12k_hal_srng_access_begin(ab, srng); in ath12k_ce_rx_buf_enqueue_pipe() 32 if (unlikely(ath12k_hal_srng_src_num_free(ab, srng, false) < 1)) { in ath12k_ce_rx_buf_enqueue_pipe() 37 desc = ath12k_hal_srng_src_get_next_entry(ab, srng); in ath12k_ce_rx_buf_enqueue_pipe() 53 ath12k_hal_srng_access_end(ab, srng); in ath12k_ce_rx_buf_enqueue_pipe() 55 spin_unlock_bh(&srng->lock); in ath12k_ce_rx_buf_enqueue_pipe() 114 struct hal_srng *srng; in ath12k_ce_completed_recv_next() local 124 srng = &ab->hal.srng_list[pipe->status_ring->hal_ring_id]; in ath12k_ce_completed_recv_next() [all …]
|
| H A D | hal.h | 1390 struct hal_srng *srng, int ring_num); 1392 struct hal_srng *srng); 1393 void (*srng_src_hw_init)(struct ath12k_base *ab, struct hal_srng *srng); 1394 void (*srng_dst_hw_init)(struct ath12k_base *ab, struct hal_srng *srng); 1423 struct hal_srng *srng); 1470 struct hal_srng *srng); 1472 struct hal_srng *srng); 1483 void ath12k_hal_srng_get_params(struct ath12k_base *ab, struct hal_srng *srng, 1486 struct hal_srng *srng); 1487 void *ath12k_hal_srng_src_peek(struct ath12k_base *ab, struct hal_srng *srng); [all …]
|
| H A D | dp_mon.c | 594 struct hal_srng *srng; in ath12k_dp_mon_buf_replenish() local 599 srng = &ab->hal.srng_list[buf_ring->refill_buf_ring.ring_id]; in ath12k_dp_mon_buf_replenish() 600 spin_lock_bh(&srng->lock); in ath12k_dp_mon_buf_replenish() 601 ath12k_hal_srng_access_begin(ab, srng); in ath12k_dp_mon_buf_replenish() 629 mon_buf = ath12k_hal_srng_src_get_next_entry(ab, srng); in ath12k_dp_mon_buf_replenish() 644 ath12k_hal_srng_access_end(ab, srng); in ath12k_dp_mon_buf_replenish() 645 spin_unlock_bh(&srng->lock); in ath12k_dp_mon_buf_replenish() 658 ath12k_hal_srng_access_end(ab, srng); in ath12k_dp_mon_buf_replenish() 659 spin_unlock_bh(&srng->lock); in ath12k_dp_mon_buf_replenish() 672 struct hal_srng *srng; in ath12k_dp_mon_status_bufs_replenish() local [all …]
|
| H A D | dp.c | 444 struct hal_srng *srng; in ath12k_dp_srng_common_setup() local 511 srng = &ab->hal.srng_list[dp->reo_cmd_ring.ring_id]; in ath12k_dp_srng_common_setup() 512 ath12k_hal_reo_init_cmd_ring(ab, srng); in ath12k_dp_srng_common_setup() 746 u32 ring_type, struct hal_srng *srng, in ath12k_dp_link_desc_setup() argument 805 spin_lock_bh(&srng->lock); in ath12k_dp_link_desc_setup() 807 ath12k_hal_srng_access_begin(ab, srng); in ath12k_dp_link_desc_setup() 816 (desc = ath12k_hal_srng_src_get_next_entry(ab, srng))) { in ath12k_dp_link_desc_setup() 825 ath12k_hal_srng_access_end(ab, srng); in ath12k_dp_link_desc_setup() 827 spin_unlock_bh(&srng->lock); in ath12k_dp_link_desc_setup() 1469 struct hal_srng *srng = NULL; in ath12k_dp_setup() local [all …]
|
| H A D | dp_rx.c | 79 struct hal_srng *srng; in ath12k_dp_rx_bufs_replenish() local 90 srng = &dp->hal->srng_list[rx_ring->refill_buf_ring.ring_id]; in ath12k_dp_rx_bufs_replenish() 92 spin_lock_bh(&srng->lock); in ath12k_dp_rx_bufs_replenish() 94 ath12k_hal_srng_access_begin(ab, srng); in ath12k_dp_rx_bufs_replenish() 96 num_free = ath12k_hal_srng_src_num_free(ab, srng, true); in ath12k_dp_rx_bufs_replenish() 144 desc = ath12k_hal_srng_src_get_next_entry(ab, srng); in ath12k_dp_rx_bufs_replenish() 165 ath12k_hal_srng_access_end(ab, srng); in ath12k_dp_rx_bufs_replenish() 170 spin_unlock_bh(&srng->lock); in ath12k_dp_rx_bufs_replenish() 1592 struct dp_srng *srng; in ath12k_dp_rx_free() local 1601 srng = &dp->rx_mon_status_refill_ring[i].refill_buf_ring; in ath12k_dp_rx_free() [all …]
|
| H A D | dp_htt.c | 784 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath12k_dp_tx_htt_srng_setup() local 799 ath12k_hal_srng_get_params(ab, srng, ¶ms); in ath12k_dp_tx_htt_srng_setup() 801 hp_addr = ath12k_hal_srng_get_hp_addr(ab, srng); in ath12k_dp_tx_htt_srng_setup() 802 tp_addr = ath12k_hal_srng_get_tp_addr(ab, srng); in ath12k_dp_tx_htt_srng_setup() 989 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath12k_dp_tx_htt_rx_filter_setup() local 1002 ath12k_hal_srng_get_params(ab, srng, ¶ms); in ath12k_dp_tx_htt_rx_filter_setup() 1304 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath12k_dp_tx_htt_tx_filter_setup() local 1317 ath12k_hal_srng_get_params(ab, srng, ¶ms); in ath12k_dp_tx_htt_tx_filter_setup()
|
| H A D | dp.h | 699 u32 ring_type, struct hal_srng *srng,
|
| /linux/drivers/net/wireless/ath/ath11k/ |
| H A D | hal.c | 251 struct hal_srng *srng, int ring_num) in ath11k_hal_ce_dst_setup() argument 264 srng->u.dst_ring.max_buffer_length); in ath11k_hal_ce_dst_setup() 269 struct hal_srng *srng) in ath11k_hal_srng_dst_hw_init() argument 276 reg_base = srng->hwreg_base[HAL_SRNG_REG_GRP_R0]; in ath11k_hal_srng_dst_hw_init() 278 if (srng->flags & HAL_SRNG_FLAGS_MSI_INTR) { in ath11k_hal_srng_dst_hw_init() 281 srng->msi_addr); in ath11k_hal_srng_dst_hw_init() 284 ((u64)srng->msi_addr >> in ath11k_hal_srng_dst_hw_init() 292 srng->msi_data); in ath11k_hal_srng_dst_hw_init() 295 ath11k_hif_write32(ab, reg_base, srng->ring_base_paddr); in ath11k_hal_srng_dst_hw_init() 298 ((u64)srng->ring_base_paddr >> in ath11k_hal_srng_dst_hw_init() [all …]
|
| H A D | dbring.c | 45 struct hal_srng *srng; in ath11k_dbring_bufs_replenish() local 52 srng = &ab->hal.srng_list[ring->refill_srng.ring_id]; in ath11k_dbring_bufs_replenish() 54 lockdep_assert_held(&srng->lock); in ath11k_dbring_bufs_replenish() 56 ath11k_hal_srng_access_begin(ab, srng); in ath11k_dbring_bufs_replenish() 76 desc = ath11k_hal_srng_src_get_next_entry(ab, srng); in ath11k_dbring_bufs_replenish() 92 ath11k_debugfs_add_dbring_entry(ar, id, ATH11K_DBG_DBR_EVENT_REPLENISH, srng); in ath11k_dbring_bufs_replenish() 93 ath11k_hal_srng_access_end(ab, srng); in ath11k_dbring_bufs_replenish() 105 ath11k_hal_srng_access_end(ab, srng); in ath11k_dbring_bufs_replenish() 114 struct hal_srng *srng; in ath11k_dbring_fill_bufs() local 119 srng = &ar->ab->hal.srng_list[ring->refill_srng.ring_id]; in ath11k_dbring_fill_bufs() [all …]
|
| H A D | dp_rx.c | 349 struct hal_srng *srng; in ath11k_dp_rxbufs_replenish() local 360 srng = &ab->hal.srng_list[rx_ring->refill_buf_ring.ring_id]; in ath11k_dp_rxbufs_replenish() 362 spin_lock_bh(&srng->lock); in ath11k_dp_rxbufs_replenish() 364 ath11k_hal_srng_access_begin(ab, srng); in ath11k_dp_rxbufs_replenish() 366 num_free = ath11k_hal_srng_src_num_free(ab, srng, true); in ath11k_dp_rxbufs_replenish() 399 desc = ath11k_hal_srng_src_get_next_entry(ab, srng); in ath11k_dp_rxbufs_replenish() 413 ath11k_hal_srng_access_end(ab, srng); in ath11k_dp_rxbufs_replenish() 415 spin_unlock_bh(&srng->lock); in ath11k_dp_rxbufs_replenish() 429 ath11k_hal_srng_access_end(ab, srng); in ath11k_dp_rxbufs_replenish() 431 spin_unlock_bh(&srng->lock); in ath11k_dp_rxbufs_replenish() [all …]
|
| /linux/drivers/net/wireless/ath/ath12k/wifi7/ |
| H A D | dp_rx.c | 114 struct hal_srng *srng; in ath12k_wifi7_dp_rx_link_desc_return() local 117 srng = &dp->hal->srng_list[dp->wbm_desc_rel_ring.ring_id]; in ath12k_wifi7_dp_rx_link_desc_return() 119 spin_lock_bh(&srng->lock); in ath12k_wifi7_dp_rx_link_desc_return() 121 ath12k_hal_srng_access_begin(ab, srng); in ath12k_wifi7_dp_rx_link_desc_return() 123 desc = ath12k_hal_srng_src_get_next_entry(ab, srng); in ath12k_wifi7_dp_rx_link_desc_return() 132 ath12k_hal_srng_access_end(ab, srng); in ath12k_wifi7_dp_rx_link_desc_return() 134 spin_unlock_bh(&srng->lock); in ath12k_wifi7_dp_rx_link_desc_return() 670 struct hal_srng *srng; in ath12k_wifi7_dp_rx_process() local 680 srng = &hal->srng_list[dp->reo_dst_ring[ring_id].ring_id]; in ath12k_wifi7_dp_rx_process() 682 spin_lock_bh(&srng->lock); in ath12k_wifi7_dp_rx_process() [all …]
|
| H A D | dp_mon.c | 2831 struct hal_srng *srng; in ath12k_wifi7_dp_rx_mon_dest_process() local 2834 srng = &ab->hal.srng_list[ring_id]; in ath12k_wifi7_dp_rx_mon_dest_process() 2838 spin_lock_bh(&srng->lock); in ath12k_wifi7_dp_rx_mon_dest_process() 2914 spin_unlock_bh(&srng->lock); in ath12k_wifi7_dp_rx_mon_dest_process() 2926 ath12k_wifi7_dp_rx_mon_buf_done(struct ath12k_base *ab, struct hal_srng *srng, in ath12k_wifi7_dp_rx_mon_buf_done() argument 2939 status_desc = ath12k_hal_srng_src_next_peek(ab, srng); in ath12k_wifi7_dp_rx_mon_buf_done() 3059 struct hal_srng *srng; in ath12k_wifi7_dp_rx_reap_mon_status_ring() local 3074 srng = &ab->hal.srng_list[rx_ring->refill_buf_ring.ring_id]; in ath12k_wifi7_dp_rx_reap_mon_status_ring() 3076 spin_lock_bh(&srng->lock); in ath12k_wifi7_dp_rx_reap_mon_status_ring() 3078 ath12k_hal_srng_access_begin(ab, srng); in ath12k_wifi7_dp_rx_reap_mon_status_ring() [all …]
|