| /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 | dbring.c | 17 struct hal_srng *srng; in ath12k_dbring_bufs_replenish() local 24 srng = &ab->hal.srng_list[ring->refill_srng.ring_id]; in ath12k_dbring_bufs_replenish() 26 lockdep_assert_held(&srng->lock); in ath12k_dbring_bufs_replenish() 28 ath12k_hal_srng_access_begin(ab, srng); in ath12k_dbring_bufs_replenish() 47 desc = ath12k_hal_srng_src_get_next_entry(ab, srng); in ath12k_dbring_bufs_replenish() 60 ath12k_hal_srng_access_end(ab, srng); in ath12k_dbring_bufs_replenish() 72 ath12k_hal_srng_access_end(ab, srng); in ath12k_dbring_bufs_replenish() 81 struct hal_srng *srng; in ath12k_dbring_fill_bufs() local 87 srng = &ab->hal.srng_list[ring->refill_srng.ring_id]; in ath12k_dbring_fill_bufs() 89 spin_lock_bh(&srng->lock); in ath12k_dbring_fill_bufs() [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 | 1381 struct hal_srng *srng, int ring_num); 1383 struct hal_srng *srng); 1384 void (*srng_src_hw_init)(struct ath12k_base *ab, struct hal_srng *srng); 1385 void (*srng_dst_hw_init)(struct ath12k_base *ab, struct hal_srng *srng); 1414 struct hal_srng *srng); 1462 struct hal_srng *srng); 1464 struct hal_srng *srng); 1475 void ath12k_hal_srng_get_params(struct ath12k_base *ab, struct hal_srng *srng, 1478 struct hal_srng *srng); 1479 void *ath12k_hal_srng_src_peek(struct ath12k_base *ab, struct hal_srng *srng); [all …]
|
| H A D | dp_mon.c | 662 struct hal_srng *srng; in ath12k_dp_mon_buf_replenish() local 667 srng = &ab->hal.srng_list[buf_ring->refill_buf_ring.ring_id]; in ath12k_dp_mon_buf_replenish() 668 spin_lock_bh(&srng->lock); in ath12k_dp_mon_buf_replenish() 669 ath12k_hal_srng_access_begin(ab, srng); in ath12k_dp_mon_buf_replenish() 697 mon_buf = ath12k_hal_srng_src_get_next_entry(ab, srng); in ath12k_dp_mon_buf_replenish() 712 ath12k_hal_srng_access_end(ab, srng); in ath12k_dp_mon_buf_replenish() 713 spin_unlock_bh(&srng->lock); in ath12k_dp_mon_buf_replenish() 726 ath12k_hal_srng_access_end(ab, srng); in ath12k_dp_mon_buf_replenish() 727 spin_unlock_bh(&srng->lock); in ath12k_dp_mon_buf_replenish() 740 struct hal_srng *srng; in ath12k_dp_mon_status_bufs_replenish() local [all …]
|
| H A D | dp.c | 446 struct hal_srng *srng; in ath12k_dp_srng_common_setup() local 513 srng = &ab->hal.srng_list[dp->reo_cmd_ring.ring_id]; in ath12k_dp_srng_common_setup() 514 ath12k_hal_reo_init_cmd_ring(ab, srng); in ath12k_dp_srng_common_setup() 748 u32 ring_type, struct hal_srng *srng, in ath12k_dp_link_desc_setup() argument 807 spin_lock_bh(&srng->lock); in ath12k_dp_link_desc_setup() 809 ath12k_hal_srng_access_begin(ab, srng); in ath12k_dp_link_desc_setup() 818 (desc = ath12k_hal_srng_src_get_next_entry(ab, srng))) { in ath12k_dp_link_desc_setup() 827 ath12k_hal_srng_access_end(ab, srng); in ath12k_dp_link_desc_setup() 829 spin_unlock_bh(&srng->lock); in ath12k_dp_link_desc_setup() 1473 struct hal_srng *srng = NULL; in ath12k_dp_setup() local [all …]
|
| H A D | dp_rx.c | 74 struct hal_srng *srng; in ath12k_dp_rx_bufs_replenish() local 85 srng = &dp->hal->srng_list[rx_ring->refill_buf_ring.ring_id]; in ath12k_dp_rx_bufs_replenish() 87 spin_lock_bh(&srng->lock); in ath12k_dp_rx_bufs_replenish() 89 ath12k_hal_srng_access_begin(ab, srng); in ath12k_dp_rx_bufs_replenish() 91 num_free = ath12k_hal_srng_src_num_free(ab, srng, true); in ath12k_dp_rx_bufs_replenish() 139 desc = ath12k_hal_srng_src_get_next_entry(ab, srng); in ath12k_dp_rx_bufs_replenish() 160 ath12k_hal_srng_access_end(ab, srng); in ath12k_dp_rx_bufs_replenish() 165 spin_unlock_bh(&srng->lock); in ath12k_dp_rx_bufs_replenish() 1606 struct dp_srng *srng; in ath12k_dp_rx_free() local 1615 srng = &dp->rx_mon_status_refill_ring[i].refill_buf_ring; in ath12k_dp_rx_free() [all …]
|
| H A D | dp_htt.c | 733 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath12k_dp_tx_htt_srng_setup() local 748 ath12k_hal_srng_get_params(ab, srng, ¶ms); in ath12k_dp_tx_htt_srng_setup() 750 hp_addr = ath12k_hal_srng_get_hp_addr(ab, srng); in ath12k_dp_tx_htt_srng_setup() 751 tp_addr = ath12k_hal_srng_get_tp_addr(ab, srng); in ath12k_dp_tx_htt_srng_setup() 938 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath12k_dp_tx_htt_rx_filter_setup() local 951 ath12k_hal_srng_get_params(ab, srng, ¶ms); in ath12k_dp_tx_htt_rx_filter_setup() 1253 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath12k_dp_tx_htt_tx_filter_setup() local 1266 ath12k_hal_srng_get_params(ab, srng, ¶ms); in ath12k_dp_tx_htt_tx_filter_setup()
|
| /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 | ce.c | 278 struct hal_srng *srng; in ath11k_ce_rx_buf_enqueue_pipe() local 288 srng = &ab->hal.srng_list[ring->hal_ring_id]; in ath11k_ce_rx_buf_enqueue_pipe() 290 spin_lock_bh(&srng->lock); in ath11k_ce_rx_buf_enqueue_pipe() 292 ath11k_hal_srng_access_begin(ab, srng); in ath11k_ce_rx_buf_enqueue_pipe() 294 if (unlikely(ath11k_hal_srng_src_num_free(ab, srng, false) < 1)) { in ath11k_ce_rx_buf_enqueue_pipe() 299 desc = ath11k_hal_srng_src_get_next_entry(ab, srng); in ath11k_ce_rx_buf_enqueue_pipe() 315 ath11k_hal_srng_access_end(ab, srng); in ath11k_ce_rx_buf_enqueue_pipe() 317 spin_unlock_bh(&srng->lock); in ath11k_ce_rx_buf_enqueue_pipe() 376 struct hal_srng *srng; in ath11k_ce_completed_recv_next() local 387 srng = &ab->hal.srng_list[pipe->status_ring->hal_ring_id]; in ath11k_ce_completed_recv_next() [all …]
|
| H A D | hal.h | 923 struct hal_srng *srng); 930 struct hal_srng *srng); 932 struct hal_srng *srng); 942 void ath11k_hal_srng_get_params(struct ath11k_base *ab, struct hal_srng *srng, 945 struct hal_srng *srng); 946 u32 *ath11k_hal_srng_dst_peek(struct ath11k_base *ab, struct hal_srng *srng); 947 int ath11k_hal_srng_dst_num_free(struct ath11k_base *ab, struct hal_srng *srng, 949 u32 *ath11k_hal_srng_src_peek(struct ath11k_base *ab, struct hal_srng *srng); 951 struct hal_srng *srng); 953 struct hal_srng *srng); [all …]
|
| H A D | dp.c | 376 struct hal_srng *srng; in ath11k_dp_srng_common_setup() local 425 srng = &ab->hal.srng_list[dp->tx_ring[i].tcl_data_ring.ring_id]; in ath11k_dp_srng_common_setup() 426 ath11k_hal_tx_init_data_ring(ab, srng); in ath11k_dp_srng_common_setup() 463 srng = &ab->hal.srng_list[dp->reo_cmd_ring.ring_id]; in ath11k_dp_srng_common_setup() 464 ath11k_hal_reo_init_cmd_ring(ab, srng); in ath11k_dp_srng_common_setup() 687 u32 ring_type, struct hal_srng *srng, in ath11k_dp_link_desc_setup() argument 743 spin_lock_bh(&srng->lock); in ath11k_dp_link_desc_setup() 745 ath11k_hal_srng_access_begin(ab, srng); in ath11k_dp_link_desc_setup() 754 (desc = ath11k_hal_srng_src_get_next_entry(ab, srng))) { in ath11k_dp_link_desc_setup() 762 ath11k_hal_srng_access_end(ab, srng); in ath11k_dp_link_desc_setup() [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 …]
|
| H A D | hal_tx.h | 69 int ath11k_hal_reo_cmd_send(struct ath11k_base *ab, struct hal_srng *srng, 73 struct hal_srng *srng);
|
| H A D | hal_tx.c | 140 void ath11k_hal_tx_init_data_ring(struct ath11k_base *ab, struct hal_srng *srng) in ath11k_hal_tx_init_data_ring() argument 150 ath11k_hal_srng_get_params(ab, srng, ¶ms); in ath11k_hal_tx_init_data_ring()
|
| H A D | debugfs.h | 313 struct hal_srng *srng); 386 struct hal_srng *srng) in ath11k_debugfs_add_dbring_entry() argument
|
| H A D | hal_rx.c | 219 int ath11k_hal_reo_cmd_send(struct ath11k_base *ab, struct hal_srng *srng, in ath11k_hal_reo_cmd_send() argument 226 spin_lock_bh(&srng->lock); in ath11k_hal_reo_cmd_send() 228 ath11k_hal_srng_access_begin(ab, srng); in ath11k_hal_reo_cmd_send() 229 reo_desc = (struct hal_tlv_hdr *)ath11k_hal_srng_src_get_next_entry(ab, srng); in ath11k_hal_reo_cmd_send() 257 ath11k_dp_shadow_start_timer(ab, srng, &ab->dp.reo_cmd_timer); in ath11k_hal_reo_cmd_send() 260 ath11k_hal_srng_access_end(ab, srng); in ath11k_hal_reo_cmd_send() 261 spin_unlock_bh(&srng->lock); in ath11k_hal_reo_cmd_send() 785 struct hal_srng *srng) in ath11k_hal_reo_init_cmd_ring() argument 797 ath11k_hal_srng_get_params(ab, srng, ¶ms); in ath11k_hal_reo_init_cmd_ring()
|
| H A D | dp_tx.c | 882 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath11k_dp_tx_htt_srng_setup() local 897 ath11k_hal_srng_get_params(ab, srng, ¶ms); in ath11k_dp_tx_htt_srng_setup() 899 hp_addr = ath11k_hal_srng_get_hp_addr(ab, srng); in ath11k_dp_tx_htt_srng_setup() 900 tp_addr = ath11k_hal_srng_get_tp_addr(ab, srng); in ath11k_dp_tx_htt_srng_setup() 1078 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath11k_dp_tx_htt_rx_filter_setup() local 1091 ath11k_hal_srng_get_params(ab, srng, ¶ms); in ath11k_dp_tx_htt_rx_filter_setup()
|
| /linux/drivers/net/wireless/ath/ath12k/wifi7/ |
| H A D | hal.c | 120 struct hal_srng *srng, int ring_num) in ath12k_wifi7_hal_ce_dst_setup() argument 132 val |= u32_encode_bits(srng->u.dst_ring.max_buffer_length, in ath12k_wifi7_hal_ce_dst_setup() 138 struct hal_srng *srng) in ath12k_wifi7_hal_srng_dst_hw_init() argument 145 reg_base = srng->hwreg_base[HAL_SRNG_REG_GRP_R0]; in ath12k_wifi7_hal_srng_dst_hw_init() 147 if (srng->flags & HAL_SRNG_FLAGS_MSI_INTR) { in ath12k_wifi7_hal_srng_dst_hw_init() 150 srng->msi_addr); in ath12k_wifi7_hal_srng_dst_hw_init() 152 val = u32_encode_bits(((u64)srng->msi_addr >> HAL_ADDR_MSB_REG_SHIFT), in ath12k_wifi7_hal_srng_dst_hw_init() 162 srng->msi_data); in ath12k_wifi7_hal_srng_dst_hw_init() 165 ath12k_hif_write32(ab, reg_base, srng->ring_base_paddr); in ath12k_wifi7_hal_srng_dst_hw_init() 167 val = u32_encode_bits(((u64)srng->ring_base_paddr >> HAL_ADDR_MSB_REG_SHIFT), in ath12k_wifi7_hal_srng_dst_hw_init() [all …]
|
| H A D | dp_rx.c | 113 struct hal_srng *srng; in ath12k_wifi7_dp_rx_link_desc_return() local 116 srng = &dp->hal->srng_list[dp->wbm_desc_rel_ring.ring_id]; in ath12k_wifi7_dp_rx_link_desc_return() 118 spin_lock_bh(&srng->lock); in ath12k_wifi7_dp_rx_link_desc_return() 120 ath12k_hal_srng_access_begin(ab, srng); in ath12k_wifi7_dp_rx_link_desc_return() 122 desc = ath12k_hal_srng_src_get_next_entry(ab, srng); in ath12k_wifi7_dp_rx_link_desc_return() 131 ath12k_hal_srng_access_end(ab, srng); in ath12k_wifi7_dp_rx_link_desc_return() 133 spin_unlock_bh(&srng->lock); in ath12k_wifi7_dp_rx_link_desc_return() 654 struct hal_srng *srng; in ath12k_wifi7_dp_rx_process() local 664 srng = &hal->srng_list[dp->reo_dst_ring[ring_id].ring_id]; in ath12k_wifi7_dp_rx_process() 666 spin_lock_bh(&srng->lock); in ath12k_wifi7_dp_rx_process() [all …]
|
| H A D | hal_rx.c | 219 int ath12k_wifi7_hal_reo_cmd_send(struct ath12k_base *ab, struct hal_srng *srng, in ath12k_wifi7_hal_reo_cmd_send() argument 227 spin_lock_bh(&srng->lock); in ath12k_wifi7_hal_reo_cmd_send() 229 ath12k_hal_srng_access_begin(ab, srng); in ath12k_wifi7_hal_reo_cmd_send() 230 reo_desc = ath12k_hal_srng_src_get_next_entry(ab, srng); in ath12k_wifi7_hal_reo_cmd_send() 259 ath12k_hal_srng_access_end(ab, srng); in ath12k_wifi7_hal_reo_cmd_send() 260 spin_unlock_bh(&srng->lock); in ath12k_wifi7_hal_reo_cmd_send() 869 struct hal_srng *srng) in ath12k_wifi7_hal_reo_init_cmd_ring_tlv64() argument 881 ath12k_hal_srng_get_params(ab, srng, ¶ms); in ath12k_wifi7_hal_reo_init_cmd_ring_tlv64() 894 struct hal_srng *srng) in ath12k_wifi7_hal_reo_init_cmd_ring_tlv32() argument 906 ath12k_hal_srng_get_params(ab, srng, ¶ms); in ath12k_wifi7_hal_reo_init_cmd_ring_tlv32()
|
| H A D | dp_mon.c | 2792 struct hal_srng *srng; in ath12k_wifi7_dp_rx_mon_dest_process() local 2795 srng = &ab->hal.srng_list[ring_id]; in ath12k_wifi7_dp_rx_mon_dest_process() 2799 spin_lock_bh(&srng->lock); in ath12k_wifi7_dp_rx_mon_dest_process() 2875 spin_unlock_bh(&srng->lock); in ath12k_wifi7_dp_rx_mon_dest_process() 2887 ath12k_wifi7_dp_rx_mon_buf_done(struct ath12k_base *ab, struct hal_srng *srng, in ath12k_wifi7_dp_rx_mon_buf_done() argument 2899 status_desc = ath12k_hal_srng_src_next_peek(ab, srng); in ath12k_wifi7_dp_rx_mon_buf_done() 3020 struct hal_srng *srng; in ath12k_wifi7_dp_rx_reap_mon_status_ring() local 3034 srng = &ab->hal.srng_list[rx_ring->refill_buf_ring.ring_id]; in ath12k_wifi7_dp_rx_reap_mon_status_ring() 3036 spin_lock_bh(&srng->lock); in ath12k_wifi7_dp_rx_reap_mon_status_ring() 3038 ath12k_hal_srng_access_begin(ab, srng); in ath12k_wifi7_dp_rx_reap_mon_status_ring() [all …]
|
| H A D | hal.h | 521 struct hal_srng *srng, int ring_num); 523 struct hal_srng *srng); 525 struct hal_srng *srng); 527 struct hal_srng *srng);
|
| H A D | hal_tx.h | 188 int ath12k_wifi7_hal_reo_cmd_send(struct ath12k_base *ab, struct hal_srng *srng,
|