/linux-6.6.21/drivers/net/wireless/ath/ath11k/ |
D | hal.c | 250 struct hal_srng *srng, int ring_num) in ath11k_hal_ce_dst_setup() argument 263 srng->u.dst_ring.max_buffer_length); in ath11k_hal_ce_dst_setup() 268 struct hal_srng *srng) in ath11k_hal_srng_dst_hw_init() argument 275 reg_base = srng->hwreg_base[HAL_SRNG_REG_GRP_R0]; in ath11k_hal_srng_dst_hw_init() 277 if (srng->flags & HAL_SRNG_FLAGS_MSI_INTR) { in ath11k_hal_srng_dst_hw_init() 280 srng->msi_addr); in ath11k_hal_srng_dst_hw_init() 283 ((u64)srng->msi_addr >> in ath11k_hal_srng_dst_hw_init() 291 srng->msi_data); in ath11k_hal_srng_dst_hw_init() 294 ath11k_hif_write32(ab, reg_base, srng->ring_base_paddr); in ath11k_hal_srng_dst_hw_init() 297 ((u64)srng->ring_base_paddr >> in ath11k_hal_srng_dst_hw_init() [all …]
|
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 …]
|
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 …]
|
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 …]
|
D | dp.c | 373 struct hal_srng *srng; in ath11k_dp_srng_common_setup() local 422 srng = &ab->hal.srng_list[dp->tx_ring[i].tcl_data_ring.ring_id]; in ath11k_dp_srng_common_setup() 423 ath11k_hal_tx_init_data_ring(ab, srng); in ath11k_dp_srng_common_setup() 460 srng = &ab->hal.srng_list[dp->reo_cmd_ring.ring_id]; in ath11k_dp_srng_common_setup() 461 ath11k_hal_reo_init_cmd_ring(ab, srng); in ath11k_dp_srng_common_setup() 684 u32 ring_type, struct hal_srng *srng, in ath11k_dp_link_desc_setup() argument 740 spin_lock_bh(&srng->lock); in ath11k_dp_link_desc_setup() 742 ath11k_hal_srng_access_begin(ab, srng); in ath11k_dp_link_desc_setup() 751 (desc = ath11k_hal_srng_src_get_next_entry(ab, srng))) { in ath11k_dp_link_desc_setup() 759 ath11k_hal_srng_access_end(ab, srng); in ath11k_dp_link_desc_setup() [all …]
|
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 …]
|
D | hal_tx.h | 69 int ath11k_hal_reo_cmd_send(struct ath11k_base *ab, struct hal_srng *srng, 73 struct hal_srng *srng);
|
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()
|
D | debugfs.h | 314 struct hal_srng *srng); 401 struct hal_srng *srng) in ath11k_debugfs_add_dbring_entry() argument
|
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()
|
D | dp_tx.c | 872 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath11k_dp_tx_htt_srng_setup() local 887 ath11k_hal_srng_get_params(ab, srng, ¶ms); in ath11k_dp_tx_htt_srng_setup() 889 hp_addr = ath11k_hal_srng_get_hp_addr(ab, srng); in ath11k_dp_tx_htt_srng_setup() 890 tp_addr = ath11k_hal_srng_get_tp_addr(ab, srng); in ath11k_dp_tx_htt_srng_setup() 1068 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath11k_dp_tx_htt_rx_filter_setup() local 1081 ath11k_hal_srng_get_params(ab, srng, ¶ms); in ath11k_dp_tx_htt_rx_filter_setup()
|
D | dp.h | 1704 u32 ring_type, struct hal_srng *srng, 1707 struct hal_srng *srng,
|
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()
|
/linux-6.6.21/drivers/net/wireless/ath/ath12k/ |
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 …]
|
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 …]
|
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 …]
|
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 …]
|
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 …]
|
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 …]
|
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()
|
D | dp.c | 464 struct hal_srng *srng; in ath12k_dp_srng_common_setup() local 545 srng = &ab->hal.srng_list[dp->reo_cmd_ring.ring_id]; in ath12k_dp_srng_common_setup() 546 ath12k_hal_reo_init_cmd_ring(ab, srng); in ath12k_dp_srng_common_setup() 778 u32 ring_type, struct hal_srng *srng, in ath12k_dp_link_desc_setup() argument 835 spin_lock_bh(&srng->lock); in ath12k_dp_link_desc_setup() 837 ath12k_hal_srng_access_begin(ab, srng); in ath12k_dp_link_desc_setup() 846 (desc = ath12k_hal_srng_src_get_next_entry(ab, srng))) { in ath12k_dp_link_desc_setup() 855 ath12k_hal_srng_access_end(ab, srng); in ath12k_dp_link_desc_setup() 857 spin_unlock_bh(&srng->lock); in ath12k_dp_link_desc_setup() 1507 struct hal_srng *srng = NULL; in ath12k_dp_alloc() local [all …]
|
D | dp_tx.c | 692 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath12k_dp_tx_htt_srng_setup() local 707 ath12k_hal_srng_get_params(ab, srng, ¶ms); in ath12k_dp_tx_htt_srng_setup() 709 hp_addr = ath12k_hal_srng_get_hp_addr(ab, srng); in ath12k_dp_tx_htt_srng_setup() 710 tp_addr = ath12k_hal_srng_get_tp_addr(ab, srng); in ath12k_dp_tx_htt_srng_setup() 888 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath12k_dp_tx_htt_rx_filter_setup() local 901 ath12k_hal_srng_get_params(ab, srng, ¶ms); in ath12k_dp_tx_htt_rx_filter_setup() 1092 struct hal_srng *srng = &ab->hal.srng_list[ring_id]; in ath12k_dp_tx_htt_tx_filter_setup() local 1105 ath12k_hal_srng_get_params(ab, srng, ¶ms); in ath12k_dp_tx_htt_tx_filter_setup()
|
D | hal_tx.h | 189 int ath12k_hal_reo_cmd_send(struct ath12k_base *ab, struct hal_srng *srng,
|
D | dp.h | 1812 u32 ring_type, struct hal_srng *srng,
|