/freebsd/sys/contrib/dev/athk/ath11k/ |
H A D | hal.c | 253 struct hal_srng *srng, int ring_num) in ath11k_hal_ce_dst_setup() argument 266 srng->u.dst_ring.max_buffer_length); in ath11k_hal_ce_dst_setup() 271 struct hal_srng *srng) in ath11k_hal_srng_dst_hw_init() argument 278 reg_base = srng->hwreg_base[HAL_SRNG_REG_GRP_R0]; in ath11k_hal_srng_dst_hw_init() 280 if (srng->flags & HAL_SRNG_FLAGS_MSI_INTR) { in ath11k_hal_srng_dst_hw_init() 283 srng->msi_addr); in ath11k_hal_srng_dst_hw_init() 286 ((u64)srng->msi_addr >> in ath11k_hal_srng_dst_hw_init() 294 srng->msi_data); in ath11k_hal_srng_dst_hw_init() 297 ath11k_hif_write32(ab, reg_base, srng->ring_base_paddr); in ath11k_hal_srng_dst_hw_init() 300 ((u64)srng->ring_base_paddr >> in ath11k_hal_srng_dst_hw_init() [all …]
|
H A D | dbring.c | 44 struct hal_srng *srng; in ath11k_dbring_bufs_replenish() local 51 srng = &ab->hal.srng_list[ring->refill_srng.ring_id]; in ath11k_dbring_bufs_replenish() 53 lockdep_assert_held(&srng->lock); in ath11k_dbring_bufs_replenish() 55 ath11k_hal_srng_access_begin(ab, srng); in ath11k_dbring_bufs_replenish() 75 desc = ath11k_hal_srng_src_get_next_entry(ab, srng); in ath11k_dbring_bufs_replenish() 88 ath11k_debugfs_add_dbring_entry(ar, id, ATH11K_DBG_DBR_EVENT_REPLENISH, srng); in ath11k_dbring_bufs_replenish() 89 ath11k_hal_srng_access_end(ab, srng); in ath11k_dbring_bufs_replenish() 101 ath11k_hal_srng_access_end(ab, srng); in ath11k_dbring_bufs_replenish() 110 struct hal_srng *srng; in ath11k_dbring_fill_bufs() local 115 srng = &ar->ab->hal.srng_list[ring->refill_srng.ring_id]; in ath11k_dbring_fill_bufs() [all …]
|
H A D | ce.c | 276 struct hal_srng *srng; in ath11k_ce_rx_buf_enqueue_pipe() local 286 srng = &ab->hal.srng_list[ring->hal_ring_id]; in ath11k_ce_rx_buf_enqueue_pipe() 288 spin_lock_bh(&srng->lock); in ath11k_ce_rx_buf_enqueue_pipe() 290 ath11k_hal_srng_access_begin(ab, srng); in ath11k_ce_rx_buf_enqueue_pipe() 292 if (unlikely(ath11k_hal_srng_src_num_free(ab, srng, false) < 1)) { in ath11k_ce_rx_buf_enqueue_pipe() 297 desc = ath11k_hal_srng_src_get_next_entry(ab, srng); in ath11k_ce_rx_buf_enqueue_pipe() 313 ath11k_hal_srng_access_end(ab, srng); in ath11k_ce_rx_buf_enqueue_pipe() 315 spin_unlock_bh(&srng->lock); in ath11k_ce_rx_buf_enqueue_pipe() 373 struct hal_srng *srng; in ath11k_ce_completed_recv_next() local 384 srng = &ab->hal.srng_list[pipe->status_ring->hal_ring_id]; in ath11k_ce_completed_recv_next() [all …]
|
H A D | hal.h | 922 struct hal_srng *srng); 929 struct hal_srng *srng); 931 struct hal_srng *srng); 941 void ath11k_hal_srng_get_params(struct ath11k_base *ab, struct hal_srng *srng, 944 struct hal_srng *srng); 945 u32 *ath11k_hal_srng_dst_peek(struct ath11k_base *ab, struct hal_srng *srng); 946 int ath11k_hal_srng_dst_num_free(struct ath11k_base *ab, struct hal_srng *srng, 948 u32 *ath11k_hal_srng_src_peek(struct ath11k_base *ab, struct hal_srng *srng); 950 struct hal_srng *srng); 952 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() 692 u32 ring_type, struct hal_srng *srng, in ath11k_dp_link_desc_setup() argument 748 spin_lock_bh(&srng->lock); in ath11k_dp_link_desc_setup() 750 ath11k_hal_srng_access_begin(ab, srng); in ath11k_dp_link_desc_setup() 764 (desc = ath11k_hal_srng_src_get_next_entry(ab, srng))) { in ath11k_dp_link_desc_setup() 772 ath11k_hal_srng_access_end(ab, srng); in ath11k_dp_link_desc_setup() [all …]
|
H A D | dp_rx.c | 348 struct hal_srng *srng; in ath11k_dp_rxbufs_replenish() local 359 srng = &ab->hal.srng_list[rx_ring->refill_buf_ring.ring_id]; in ath11k_dp_rxbufs_replenish() 361 spin_lock_bh(&srng->lock); in ath11k_dp_rxbufs_replenish() 363 ath11k_hal_srng_access_begin(ab, srng); in ath11k_dp_rxbufs_replenish() 365 num_free = ath11k_hal_srng_src_num_free(ab, srng, true); in ath11k_dp_rxbufs_replenish() 398 desc = ath11k_hal_srng_src_get_next_entry(ab, srng); in ath11k_dp_rxbufs_replenish() 412 ath11k_hal_srng_access_end(ab, srng); in ath11k_dp_rxbufs_replenish() 414 spin_unlock_bh(&srng->lock); in ath11k_dp_rxbufs_replenish() 428 ath11k_hal_srng_access_end(ab, srng); in ath11k_dp_rxbufs_replenish() 430 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 | 314 struct hal_srng *srng); 401 struct hal_srng *srng) in ath11k_debugfs_add_dbring_entry() argument
|
H A D | hal_rx.c | 218 int ath11k_hal_reo_cmd_send(struct ath11k_base *ab, struct hal_srng *srng, in ath11k_hal_reo_cmd_send() argument 225 spin_lock_bh(&srng->lock); in ath11k_hal_reo_cmd_send() 227 ath11k_hal_srng_access_begin(ab, srng); in ath11k_hal_reo_cmd_send() 228 reo_desc = (struct hal_tlv_hdr *)ath11k_hal_srng_src_get_next_entry(ab, srng); in ath11k_hal_reo_cmd_send() 256 ath11k_dp_shadow_start_timer(ab, srng, &ab->dp.reo_cmd_timer); in ath11k_hal_reo_cmd_send() 259 ath11k_hal_srng_access_end(ab, srng); in ath11k_hal_reo_cmd_send() 260 spin_unlock_bh(&srng->lock); in ath11k_hal_reo_cmd_send() 783 struct hal_srng *srng) in ath11k_hal_reo_init_cmd_ring() argument 795 ath11k_hal_srng_get_params(ab, srng, ¶ms); in ath11k_hal_reo_init_cmd_ring()
|
H A D | dp_tx.c | 888 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath11k_dp_tx_htt_srng_setup() local 903 ath11k_hal_srng_get_params(ab, srng, ¶ms); in ath11k_dp_tx_htt_srng_setup() 905 hp_addr = ath11k_hal_srng_get_hp_addr(ab, srng); in ath11k_dp_tx_htt_srng_setup() 906 tp_addr = ath11k_hal_srng_get_tp_addr(ab, srng); in ath11k_dp_tx_htt_srng_setup() 1084 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath11k_dp_tx_htt_rx_filter_setup() local 1097 ath11k_hal_srng_get_params(ab, srng, ¶ms); in ath11k_dp_tx_htt_rx_filter_setup()
|
H A D | dp.h | 1708 u32 ring_type, struct hal_srng *srng, 1711 struct hal_srng *srng,
|
H A D | debugfs.c | 59 struct hal_srng *srng) in ath11k_debugfs_add_dbring_entry() argument 81 entry->hp = srng->u.src_ring.hp; in ath11k_debugfs_add_dbring_entry() 82 entry->tp = *srng->u.src_ring.tp_addr; in ath11k_debugfs_add_dbring_entry()
|
/freebsd/sys/contrib/dev/athk/ath12k/ |
H A D | hal.c | 1236 struct hal_srng *srng, int ring_num) in ath12k_hal_ce_dst_setup() argument 1248 val |= u32_encode_bits(srng->u.dst_ring.max_buffer_length, in ath12k_hal_ce_dst_setup() 1254 struct hal_srng *srng) in ath12k_hal_srng_dst_hw_init() argument 1261 reg_base = srng->hwreg_base[HAL_SRNG_REG_GRP_R0]; in ath12k_hal_srng_dst_hw_init() 1263 if (srng->flags & HAL_SRNG_FLAGS_MSI_INTR) { in ath12k_hal_srng_dst_hw_init() 1266 srng->msi_addr); in ath12k_hal_srng_dst_hw_init() 1268 val = u32_encode_bits(((u64)srng->msi_addr >> HAL_ADDR_MSB_REG_SHIFT), in ath12k_hal_srng_dst_hw_init() 1276 srng->msi_data); in ath12k_hal_srng_dst_hw_init() 1279 ath12k_hif_write32(ab, reg_base, srng->ring_base_paddr); in ath12k_hal_srng_dst_hw_init() 1281 val = u32_encode_bits(((u64)srng->ring_base_paddr >> HAL_ADDR_MSB_REG_SHIFT), in ath12k_hal_srng_dst_hw_init() [all …]
|
H A D | dbring.c | 16 struct hal_srng *srng; in ath12k_dbring_bufs_replenish() local 23 srng = &ab->hal.srng_list[ring->refill_srng.ring_id]; in ath12k_dbring_bufs_replenish() 25 lockdep_assert_held(&srng->lock); in ath12k_dbring_bufs_replenish() 27 ath12k_hal_srng_access_begin(ab, srng); in ath12k_dbring_bufs_replenish() 46 desc = ath12k_hal_srng_src_get_next_entry(ab, srng); in ath12k_dbring_bufs_replenish() 59 ath12k_hal_srng_access_end(ab, srng); in ath12k_dbring_bufs_replenish() 71 ath12k_hal_srng_access_end(ab, srng); in ath12k_dbring_bufs_replenish() 80 struct hal_srng *srng; in ath12k_dbring_fill_bufs() local 86 srng = &ab->hal.srng_list[ring->refill_srng.ring_id]; in ath12k_dbring_fill_bufs() 88 spin_lock_bh(&srng->lock); in ath12k_dbring_fill_bufs() [all …]
|
H A D | ce.c | 227 struct hal_srng *srng; in ath12k_ce_rx_buf_enqueue_pipe() local 237 srng = &ab->hal.srng_list[ring->hal_ring_id]; in ath12k_ce_rx_buf_enqueue_pipe() 239 spin_lock_bh(&srng->lock); in ath12k_ce_rx_buf_enqueue_pipe() 241 ath12k_hal_srng_access_begin(ab, srng); in ath12k_ce_rx_buf_enqueue_pipe() 243 if (unlikely(ath12k_hal_srng_src_num_free(ab, srng, false) < 1)) { in ath12k_ce_rx_buf_enqueue_pipe() 248 desc = ath12k_hal_srng_src_get_next_entry(ab, srng); in ath12k_ce_rx_buf_enqueue_pipe() 264 ath12k_hal_srng_access_end(ab, srng); in ath12k_ce_rx_buf_enqueue_pipe() 266 spin_unlock_bh(&srng->lock); in ath12k_ce_rx_buf_enqueue_pipe() 324 struct hal_srng *srng; in ath12k_ce_completed_recv_next() local 334 srng = &ab->hal.srng_list[pipe->status_ring->hal_ring_id]; in ath12k_ce_completed_recv_next() [all …]
|
H A D | hal.h | 1090 struct hal_srng *srng); 1098 struct hal_srng *srng); 1100 struct hal_srng *srng); 1110 void ath12k_hal_srng_get_params(struct ath12k_base *ab, struct hal_srng *srng, 1113 struct hal_srng *srng); 1114 void *ath12k_hal_srng_dst_peek(struct ath12k_base *ab, struct hal_srng *srng); 1115 int ath12k_hal_srng_dst_num_free(struct ath12k_base *ab, struct hal_srng *srng, 1118 struct hal_srng *srng); 1120 struct hal_srng *srng); 1122 struct hal_srng *srng); [all …]
|
H A D | dp_rx.c | 266 struct hal_srng *srng; in ath12k_dp_rx_bufs_replenish() local 278 srng = &ab->hal.srng_list[rx_ring->refill_buf_ring.ring_id]; in ath12k_dp_rx_bufs_replenish() 280 spin_lock_bh(&srng->lock); in ath12k_dp_rx_bufs_replenish() 282 ath12k_hal_srng_access_begin(ab, srng); in ath12k_dp_rx_bufs_replenish() 284 num_free = ath12k_hal_srng_src_num_free(ab, srng, true); in ath12k_dp_rx_bufs_replenish() 346 desc = ath12k_hal_srng_src_get_next_entry(ab, srng); in ath12k_dp_rx_bufs_replenish() 357 ath12k_hal_srng_access_end(ab, srng); in ath12k_dp_rx_bufs_replenish() 359 spin_unlock_bh(&srng->lock); in ath12k_dp_rx_bufs_replenish() 381 ath12k_hal_srng_access_end(ab, srng); in ath12k_dp_rx_bufs_replenish() 383 spin_unlock_bh(&srng->lock); in ath12k_dp_rx_bufs_replenish() [all …]
|
H A D | dp_mon.c | 1269 struct hal_srng *srng; in ath12k_dp_mon_buf_replenish() local 1274 srng = &ab->hal.srng_list[buf_ring->refill_buf_ring.ring_id]; in ath12k_dp_mon_buf_replenish() 1275 spin_lock_bh(&srng->lock); in ath12k_dp_mon_buf_replenish() 1276 ath12k_hal_srng_access_begin(ab, srng); in ath12k_dp_mon_buf_replenish() 1304 mon_buf = ath12k_hal_srng_src_get_next_entry(ab, srng); in ath12k_dp_mon_buf_replenish() 1319 ath12k_hal_srng_access_end(ab, srng); in ath12k_dp_mon_buf_replenish() 1320 spin_unlock_bh(&srng->lock); in ath12k_dp_mon_buf_replenish() 1333 ath12k_hal_srng_access_end(ab, srng); in ath12k_dp_mon_buf_replenish() 1334 spin_unlock_bh(&srng->lock); in ath12k_dp_mon_buf_replenish() 2071 struct hal_srng *srng; in ath12k_dp_mon_srng_process() local [all …]
|
H A D | hal_rx.c | 220 int ath12k_hal_reo_cmd_send(struct ath12k_base *ab, struct hal_srng *srng, in ath12k_hal_reo_cmd_send() argument 227 spin_lock_bh(&srng->lock); in ath12k_hal_reo_cmd_send() 229 ath12k_hal_srng_access_begin(ab, srng); in ath12k_hal_reo_cmd_send() 230 reo_desc = ath12k_hal_srng_src_get_next_entry(ab, srng); in ath12k_hal_reo_cmd_send() 259 ath12k_hal_srng_access_end(ab, srng); in ath12k_hal_reo_cmd_send() 260 spin_unlock_bh(&srng->lock); in ath12k_hal_reo_cmd_send() 792 struct hal_srng *srng) in ath12k_hal_reo_init_cmd_ring() argument 804 ath12k_hal_srng_get_params(ab, srng, ¶ms); in ath12k_hal_reo_init_cmd_ring()
|
H A D | dp.c | 463 struct hal_srng *srng; in ath12k_dp_srng_common_setup() local 544 srng = &ab->hal.srng_list[dp->reo_cmd_ring.ring_id]; in ath12k_dp_srng_common_setup() 545 ath12k_hal_reo_init_cmd_ring(ab, srng); in ath12k_dp_srng_common_setup() 782 u32 ring_type, struct hal_srng *srng, in ath12k_dp_link_desc_setup() argument 839 spin_lock_bh(&srng->lock); in ath12k_dp_link_desc_setup() 841 ath12k_hal_srng_access_begin(ab, srng); in ath12k_dp_link_desc_setup() 855 (desc = ath12k_hal_srng_src_get_next_entry(ab, srng))) { in ath12k_dp_link_desc_setup() 864 ath12k_hal_srng_access_end(ab, srng); in ath12k_dp_link_desc_setup() 866 spin_unlock_bh(&srng->lock); in ath12k_dp_link_desc_setup() 1488 struct hal_srng *srng = NULL; in ath12k_dp_alloc() local [all …]
|
H A D | dp_tx.c | 697 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath12k_dp_tx_htt_srng_setup() local 712 ath12k_hal_srng_get_params(ab, srng, ¶ms); in ath12k_dp_tx_htt_srng_setup() 714 hp_addr = ath12k_hal_srng_get_hp_addr(ab, srng); in ath12k_dp_tx_htt_srng_setup() 715 tp_addr = ath12k_hal_srng_get_tp_addr(ab, srng); in ath12k_dp_tx_htt_srng_setup() 893 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath12k_dp_tx_htt_rx_filter_setup() local 906 ath12k_hal_srng_get_params(ab, srng, ¶ms); in ath12k_dp_tx_htt_rx_filter_setup() 1097 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath12k_dp_tx_htt_tx_filter_setup() local 1110 ath12k_hal_srng_get_params(ab, srng, ¶ms); in ath12k_dp_tx_htt_tx_filter_setup()
|
H A D | hal_tx.h | 189 int ath12k_hal_reo_cmd_send(struct ath12k_base *ab, struct hal_srng *srng,
|
H A D | dp.h | 1814 u32 ring_type, struct hal_srng *srng,
|