Lines Matching full:ab
245 static unsigned int ath12k_hal_reo1_ring_id_offset(struct ath12k_base *ab) in ath12k_hal_reo1_ring_id_offset() argument
247 return HAL_REO1_RING_ID(ab) - HAL_REO1_RING_BASE_LSB(ab); in ath12k_hal_reo1_ring_id_offset()
250 static unsigned int ath12k_hal_reo1_ring_msi1_base_lsb_offset(struct ath12k_base *ab) in ath12k_hal_reo1_ring_msi1_base_lsb_offset() argument
252 return HAL_REO1_RING_MSI1_BASE_LSB(ab) - HAL_REO1_RING_BASE_LSB(ab); in ath12k_hal_reo1_ring_msi1_base_lsb_offset()
255 static unsigned int ath12k_hal_reo1_ring_msi1_base_msb_offset(struct ath12k_base *ab) in ath12k_hal_reo1_ring_msi1_base_msb_offset() argument
257 return HAL_REO1_RING_MSI1_BASE_MSB(ab) - HAL_REO1_RING_BASE_LSB(ab); in ath12k_hal_reo1_ring_msi1_base_msb_offset()
260 static unsigned int ath12k_hal_reo1_ring_msi1_data_offset(struct ath12k_base *ab) in ath12k_hal_reo1_ring_msi1_data_offset() argument
262 return HAL_REO1_RING_MSI1_DATA(ab) - HAL_REO1_RING_BASE_LSB(ab); in ath12k_hal_reo1_ring_msi1_data_offset()
265 static unsigned int ath12k_hal_reo1_ring_base_msb_offset(struct ath12k_base *ab) in ath12k_hal_reo1_ring_base_msb_offset() argument
267 return HAL_REO1_RING_BASE_MSB(ab) - HAL_REO1_RING_BASE_LSB(ab); in ath12k_hal_reo1_ring_base_msb_offset()
270 static unsigned int ath12k_hal_reo1_ring_producer_int_setup_offset(struct ath12k_base *ab) in ath12k_hal_reo1_ring_producer_int_setup_offset() argument
272 return HAL_REO1_RING_PRODUCER_INT_SETUP(ab) - HAL_REO1_RING_BASE_LSB(ab); in ath12k_hal_reo1_ring_producer_int_setup_offset()
275 static unsigned int ath12k_hal_reo1_ring_hp_addr_lsb_offset(struct ath12k_base *ab) in ath12k_hal_reo1_ring_hp_addr_lsb_offset() argument
277 return HAL_REO1_RING_HP_ADDR_LSB(ab) - HAL_REO1_RING_BASE_LSB(ab); in ath12k_hal_reo1_ring_hp_addr_lsb_offset()
280 static unsigned int ath12k_hal_reo1_ring_hp_addr_msb_offset(struct ath12k_base *ab) in ath12k_hal_reo1_ring_hp_addr_msb_offset() argument
282 return HAL_REO1_RING_HP_ADDR_MSB(ab) - HAL_REO1_RING_BASE_LSB(ab); in ath12k_hal_reo1_ring_hp_addr_msb_offset()
285 static unsigned int ath12k_hal_reo1_ring_misc_offset(struct ath12k_base *ab) in ath12k_hal_reo1_ring_misc_offset() argument
287 return HAL_REO1_RING_MISC(ab) - HAL_REO1_RING_BASE_LSB(ab); in ath12k_hal_reo1_ring_misc_offset()
519 static int ath12k_hal_srng_create_config_qcn9274(struct ath12k_base *ab) in ath12k_hal_srng_create_config_qcn9274() argument
521 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_srng_create_config_qcn9274()
531 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_REO_REG + HAL_REO1_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_qcn9274()
533 s->reg_size[0] = HAL_REO2_RING_BASE_LSB(ab) - HAL_REO1_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_qcn9274()
537 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_REO_REG + HAL_REO_SW0_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_qcn9274()
541 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_REO_REG + HAL_SW2REO_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_qcn9274()
543 s->reg_size[0] = HAL_SW2REO1_RING_BASE_LSB(ab) - HAL_SW2REO_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_qcn9274()
547 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_REO_REG + HAL_REO_CMD_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_qcn9274()
551 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_REO_REG + HAL_REO_STATUS_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_qcn9274()
561 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_TCL_REG + HAL_TCL_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_qcn9274()
565 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_TCL_REG + HAL_TCL_STATUS_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_qcn9274()
594 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_WBM_REG + HAL_WBM_IDLE_LINK_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_qcn9274()
599 HAL_WBM_SW_RELEASE_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_qcn9274()
601 s->reg_size[0] = HAL_WBM_SW1_RELEASE_RING_BASE_LSB(ab) - in ath12k_hal_srng_create_config_qcn9274()
602 HAL_WBM_SW_RELEASE_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_qcn9274()
606 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_WBM_REG + HAL_WBM0_RELEASE_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_qcn9274()
608 s->reg_size[0] = HAL_WBM1_RELEASE_RING_BASE_LSB(ab) - in ath12k_hal_srng_create_config_qcn9274()
609 HAL_WBM0_RELEASE_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_qcn9274()
623 HAL_WBM_PPE_RELEASE_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_qcn9274()
959 static int ath12k_hal_srng_create_config_wcn7850(struct ath12k_base *ab) in ath12k_hal_srng_create_config_wcn7850() argument
961 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_srng_create_config_wcn7850()
971 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_REO_REG + HAL_REO1_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_wcn7850()
973 s->reg_size[0] = HAL_REO2_RING_BASE_LSB(ab) - HAL_REO1_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_wcn7850()
977 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_REO_REG + HAL_REO_SW0_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_wcn7850()
982 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_REO_REG + HAL_SW2REO_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_wcn7850()
986 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_REO_REG + HAL_REO_CMD_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_wcn7850()
990 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_REO_REG + HAL_REO_STATUS_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_wcn7850()
1001 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_TCL_REG + HAL_TCL_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_wcn7850()
1005 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_TCL_REG + HAL_TCL_STATUS_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_wcn7850()
1037 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_WBM_REG + HAL_WBM_IDLE_LINK_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_wcn7850()
1043 HAL_WBM_SW_RELEASE_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_wcn7850()
1047 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_WBM_REG + HAL_WBM0_RELEASE_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_wcn7850()
1049 s->reg_size[0] = HAL_WBM1_RELEASE_RING_BASE_LSB(ab) - in ath12k_hal_srng_create_config_wcn7850()
1050 HAL_WBM0_RELEASE_RING_BASE_LSB(ab); in ath12k_hal_srng_create_config_wcn7850()
1179 static int ath12k_hal_alloc_cont_rdp(struct ath12k_base *ab) in ath12k_hal_alloc_cont_rdp() argument
1181 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_alloc_cont_rdp()
1185 hal->rdp.vaddr = dma_alloc_coherent(ab->dev, size, &hal->rdp.paddr, in ath12k_hal_alloc_cont_rdp()
1193 static void ath12k_hal_free_cont_rdp(struct ath12k_base *ab) in ath12k_hal_free_cont_rdp() argument
1195 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_free_cont_rdp()
1202 dma_free_coherent(ab->dev, size, in ath12k_hal_free_cont_rdp()
1207 static int ath12k_hal_alloc_cont_wrp(struct ath12k_base *ab) in ath12k_hal_alloc_cont_wrp() argument
1209 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_alloc_cont_wrp()
1213 hal->wrp.vaddr = dma_alloc_coherent(ab->dev, size, &hal->wrp.paddr, in ath12k_hal_alloc_cont_wrp()
1221 static void ath12k_hal_free_cont_wrp(struct ath12k_base *ab) in ath12k_hal_free_cont_wrp() argument
1223 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_free_cont_wrp()
1230 dma_free_coherent(ab->dev, size, in ath12k_hal_free_cont_wrp()
1235 static void ath12k_hal_ce_dst_setup(struct ath12k_base *ab, in ath12k_hal_ce_dst_setup() argument
1238 struct hal_srng_config *srng_config = &ab->hal.srng_config[HAL_CE_DST]; in ath12k_hal_ce_dst_setup()
1246 val = ath12k_hif_read32(ab, addr); in ath12k_hal_ce_dst_setup()
1250 ath12k_hif_write32(ab, addr, val); in ath12k_hal_ce_dst_setup()
1253 static void ath12k_hal_srng_dst_hw_init(struct ath12k_base *ab, in ath12k_hal_srng_dst_hw_init() argument
1256 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_srng_dst_hw_init()
1264 ath12k_hif_write32(ab, reg_base + in ath12k_hal_srng_dst_hw_init()
1265 ath12k_hal_reo1_ring_msi1_base_lsb_offset(ab), in ath12k_hal_srng_dst_hw_init()
1271 ath12k_hif_write32(ab, reg_base + in ath12k_hal_srng_dst_hw_init()
1272 ath12k_hal_reo1_ring_msi1_base_msb_offset(ab), val); in ath12k_hal_srng_dst_hw_init()
1274 ath12k_hif_write32(ab, in ath12k_hal_srng_dst_hw_init()
1275 reg_base + ath12k_hal_reo1_ring_msi1_data_offset(ab), 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()
1285 ath12k_hif_write32(ab, reg_base + ath12k_hal_reo1_ring_base_msb_offset(ab), val); in ath12k_hal_srng_dst_hw_init()
1289 ath12k_hif_write32(ab, reg_base + ath12k_hal_reo1_ring_id_offset(ab), val); in ath12k_hal_srng_dst_hw_init()
1298 ath12k_hif_write32(ab, in ath12k_hal_srng_dst_hw_init()
1299 reg_base + ath12k_hal_reo1_ring_producer_int_setup_offset(ab), in ath12k_hal_srng_dst_hw_init()
1305 ath12k_hif_write32(ab, reg_base + ath12k_hal_reo1_ring_hp_addr_lsb_offset(ab), in ath12k_hal_srng_dst_hw_init()
1307 ath12k_hif_write32(ab, reg_base + ath12k_hal_reo1_ring_hp_addr_msb_offset(ab), in ath12k_hal_srng_dst_hw_init()
1312 ath12k_hif_write32(ab, reg_base, 0); in ath12k_hal_srng_dst_hw_init()
1313 ath12k_hif_write32(ab, reg_base + HAL_REO1_RING_TP_OFFSET, 0); in ath12k_hal_srng_dst_hw_init()
1326 ath12k_hif_write32(ab, reg_base + ath12k_hal_reo1_ring_misc_offset(ab), val); in ath12k_hal_srng_dst_hw_init()
1329 static void ath12k_hal_srng_src_hw_init(struct ath12k_base *ab, in ath12k_hal_srng_src_hw_init() argument
1332 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_srng_src_hw_init()
1340 ath12k_hif_write32(ab, reg_base + in ath12k_hal_srng_src_hw_init()
1341 HAL_TCL1_RING_MSI1_BASE_LSB_OFFSET(ab), in ath12k_hal_srng_src_hw_init()
1347 ath12k_hif_write32(ab, reg_base + in ath12k_hal_srng_src_hw_init()
1348 HAL_TCL1_RING_MSI1_BASE_MSB_OFFSET(ab), in ath12k_hal_srng_src_hw_init()
1351 ath12k_hif_write32(ab, reg_base + in ath12k_hal_srng_src_hw_init()
1352 HAL_TCL1_RING_MSI1_DATA_OFFSET(ab), in ath12k_hal_srng_src_hw_init()
1356 ath12k_hif_write32(ab, reg_base, srng->ring_base_paddr); in ath12k_hal_srng_src_hw_init()
1362 ath12k_hif_write32(ab, reg_base + HAL_TCL1_RING_BASE_MSB_OFFSET, val); in ath12k_hal_srng_src_hw_init()
1365 ath12k_hif_write32(ab, reg_base + HAL_TCL1_RING_ID_OFFSET(ab), val); in ath12k_hal_srng_src_hw_init()
1373 ath12k_hif_write32(ab, in ath12k_hal_srng_src_hw_init()
1374 reg_base + HAL_TCL1_RING_CONSR_INT_SETUP_IX0_OFFSET(ab), in ath12k_hal_srng_src_hw_init()
1382 ath12k_hif_write32(ab, in ath12k_hal_srng_src_hw_init()
1383 reg_base + HAL_TCL1_RING_CONSR_INT_SETUP_IX1_OFFSET(ab), in ath12k_hal_srng_src_hw_init()
1390 ath12k_hif_write32(ab, in ath12k_hal_srng_src_hw_init()
1391 reg_base + HAL_TCL1_RING_TP_ADDR_LSB_OFFSET(ab), in ath12k_hal_srng_src_hw_init()
1393 ath12k_hif_write32(ab, in ath12k_hal_srng_src_hw_init()
1394 reg_base + HAL_TCL1_RING_TP_ADDR_MSB_OFFSET(ab), in ath12k_hal_srng_src_hw_init()
1400 ath12k_hif_write32(ab, reg_base, 0); in ath12k_hal_srng_src_hw_init()
1401 ath12k_hif_write32(ab, reg_base + HAL_TCL1_RING_TP_OFFSET, 0); in ath12k_hal_srng_src_hw_init()
1421 ath12k_hif_write32(ab, reg_base + HAL_TCL1_RING_MISC_OFFSET(ab), val); in ath12k_hal_srng_src_hw_init()
1424 static void ath12k_hal_srng_hw_init(struct ath12k_base *ab, in ath12k_hal_srng_hw_init() argument
1428 ath12k_hal_srng_src_hw_init(ab, srng); in ath12k_hal_srng_hw_init()
1430 ath12k_hal_srng_dst_hw_init(ab, srng); in ath12k_hal_srng_hw_init()
1433 static int ath12k_hal_srng_get_ring_id(struct ath12k_base *ab, in ath12k_hal_srng_get_ring_id() argument
1437 struct hal_srng_config *srng_config = &ab->hal.srng_config[type]; in ath12k_hal_srng_get_ring_id()
1441 ath12k_warn(ab, "invalid ring number :%d\n", ring_num); in ath12k_hal_srng_get_ring_id()
1455 int ath12k_hal_srng_get_entrysize(struct ath12k_base *ab, u32 ring_type) in ath12k_hal_srng_get_entrysize() argument
1462 srng_config = &ab->hal.srng_config[ring_type]; in ath12k_hal_srng_get_entrysize()
1467 int ath12k_hal_srng_get_max_entries(struct ath12k_base *ab, u32 ring_type) in ath12k_hal_srng_get_max_entries() argument
1474 srng_config = &ab->hal.srng_config[ring_type]; in ath12k_hal_srng_get_max_entries()
1479 void ath12k_hal_srng_get_params(struct ath12k_base *ab, struct hal_srng *srng, in ath12k_hal_srng_get_params() argument
1496 dma_addr_t ath12k_hal_srng_get_hp_addr(struct ath12k_base *ab, in ath12k_hal_srng_get_hp_addr() argument
1503 return ab->hal.wrp.paddr + in ath12k_hal_srng_get_hp_addr()
1505 (unsigned long)ab->hal.wrp.vaddr); in ath12k_hal_srng_get_hp_addr()
1507 return ab->hal.rdp.paddr + in ath12k_hal_srng_get_hp_addr()
1509 (unsigned long)ab->hal.rdp.vaddr); in ath12k_hal_srng_get_hp_addr()
1512 dma_addr_t ath12k_hal_srng_get_tp_addr(struct ath12k_base *ab, in ath12k_hal_srng_get_tp_addr() argument
1519 return ab->hal.rdp.paddr + in ath12k_hal_srng_get_tp_addr()
1521 (unsigned long)ab->hal.rdp.vaddr); in ath12k_hal_srng_get_tp_addr()
1523 return ab->hal.wrp.paddr + in ath12k_hal_srng_get_tp_addr()
1525 (unsigned long)ab->hal.wrp.vaddr); in ath12k_hal_srng_get_tp_addr()
1586 void *ath12k_hal_srng_dst_peek(struct ath12k_base *ab, struct hal_srng *srng) in ath12k_hal_srng_dst_peek() argument
1596 void *ath12k_hal_srng_dst_get_next_entry(struct ath12k_base *ab, in ath12k_hal_srng_dst_get_next_entry() argument
1614 int ath12k_hal_srng_dst_num_free(struct ath12k_base *ab, struct hal_srng *srng, in ath12k_hal_srng_dst_num_free() argument
1637 int ath12k_hal_srng_src_num_free(struct ath12k_base *ab, struct hal_srng *srng, in ath12k_hal_srng_src_num_free() argument
1659 void *ath12k_hal_srng_src_get_next_entry(struct ath12k_base *ab, in ath12k_hal_srng_src_get_next_entry() argument
1692 void *ath12k_hal_srng_src_reap_next(struct ath12k_base *ab, in ath12k_hal_srng_src_reap_next() argument
1712 void *ath12k_hal_srng_src_get_next_reaped(struct ath12k_base *ab, in ath12k_hal_srng_src_get_next_reaped() argument
1729 void ath12k_hal_srng_access_begin(struct ath12k_base *ab, struct hal_srng *srng) in ath12k_hal_srng_access_begin() argument
1743 void ath12k_hal_srng_access_end(struct ath12k_base *ab, struct hal_srng *srng) in ath12k_hal_srng_access_end() argument
1764 ath12k_hif_write32(ab, in ath12k_hal_srng_access_end()
1766 (unsigned long)ab->mem, in ath12k_hal_srng_access_end()
1770 ath12k_hif_write32(ab, in ath12k_hal_srng_access_end()
1772 (unsigned long)ab->mem, in ath12k_hal_srng_access_end()
1780 void ath12k_hal_setup_link_idle_list(struct ath12k_base *ab, in ath12k_hal_setup_link_idle_list() argument
1817 ath12k_hif_write32(ab, in ath12k_hal_setup_link_idle_list()
1819 HAL_WBM_R0_IDLE_LIST_CONTROL_ADDR(ab), in ath12k_hal_setup_link_idle_list()
1824 ath12k_hif_write32(ab, in ath12k_hal_setup_link_idle_list()
1825 HAL_SEQ_WCSS_UMAC_WBM_REG + HAL_WBM_R0_IDLE_LIST_SIZE_ADDR(ab), in ath12k_hal_setup_link_idle_list()
1830 ath12k_hif_write32(ab, in ath12k_hal_setup_link_idle_list()
1832 HAL_WBM_SCATTERED_RING_BASE_LSB(ab), in ath12k_hal_setup_link_idle_list()
1839 ath12k_hif_write32(ab, in ath12k_hal_setup_link_idle_list()
1841 HAL_WBM_SCATTERED_RING_BASE_MSB(ab), in ath12k_hal_setup_link_idle_list()
1846 ath12k_hif_write32(ab, in ath12k_hal_setup_link_idle_list()
1848 HAL_WBM_SCATTERED_DESC_PTR_HEAD_INFO_IX0(ab), in ath12k_hal_setup_link_idle_list()
1855 ath12k_hif_write32(ab, in ath12k_hal_setup_link_idle_list()
1857 HAL_WBM_SCATTERED_DESC_PTR_HEAD_INFO_IX1(ab), in ath12k_hal_setup_link_idle_list()
1861 ath12k_hif_write32(ab, in ath12k_hal_setup_link_idle_list()
1863 HAL_WBM_SCATTERED_DESC_PTR_HEAD_INFO_IX0(ab), in ath12k_hal_setup_link_idle_list()
1867 ath12k_hif_write32(ab, in ath12k_hal_setup_link_idle_list()
1869 HAL_WBM_SCATTERED_DESC_PTR_TAIL_INFO_IX0(ab), in ath12k_hal_setup_link_idle_list()
1875 ath12k_hif_write32(ab, in ath12k_hal_setup_link_idle_list()
1877 HAL_WBM_SCATTERED_DESC_PTR_TAIL_INFO_IX1(ab), in ath12k_hal_setup_link_idle_list()
1881 ath12k_hif_write32(ab, in ath12k_hal_setup_link_idle_list()
1883 HAL_WBM_SCATTERED_DESC_PTR_HP_ADDR(ab), in ath12k_hal_setup_link_idle_list()
1889 ath12k_hif_write32(ab, in ath12k_hal_setup_link_idle_list()
1891 HAL_WBM_IDLE_LINK_RING_MISC_ADDR(ab), in ath12k_hal_setup_link_idle_list()
1895 int ath12k_hal_srng_setup(struct ath12k_base *ab, enum hal_ring_type type, in ath12k_hal_srng_setup() argument
1899 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_srng_setup()
1900 struct hal_srng_config *srng_config = &ab->hal.srng_config[type]; in ath12k_hal_srng_setup()
1907 ring_id = ath12k_hal_srng_get_ring_id(ab, type, ring_num, mac_id); in ath12k_hal_srng_setup()
1950 if (!ab->hw_params->supports_shadow_regs) in ath12k_hal_srng_setup()
1952 (u32 *)((unsigned long)ab->mem + reg_base); in ath12k_hal_srng_setup()
1954 ath12k_dbg(ab, ATH12K_DBG_HAL, in ath12k_hal_srng_setup()
1959 (unsigned long)ab->mem); in ath12k_hal_srng_setup()
1980 if (!ab->hw_params->supports_shadow_regs) in ath12k_hal_srng_setup()
1982 (u32 *)((unsigned long)ab->mem + reg_base + in ath12k_hal_srng_setup()
1985 ath12k_dbg(ab, ATH12K_DBG_HAL, in ath12k_hal_srng_setup()
1990 (unsigned long)ab->mem); in ath12k_hal_srng_setup()
2005 ath12k_hal_srng_hw_init(ab, srng); in ath12k_hal_srng_setup()
2009 ath12k_hal_ce_dst_setup(ab, srng, ring_num); in ath12k_hal_srng_setup()
2015 static void ath12k_hal_srng_update_hp_tp_addr(struct ath12k_base *ab, in ath12k_hal_srng_update_hp_tp_addr() argument
2021 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_srng_update_hp_tp_addr()
2025 ring_id = ath12k_hal_srng_get_ring_id(ab, ring_type, ring_num, 0); in ath12k_hal_srng_update_hp_tp_addr()
2033 (unsigned long)ab->mem); in ath12k_hal_srng_update_hp_tp_addr()
2036 (unsigned long)ab->mem); in ath12k_hal_srng_update_hp_tp_addr()
2039 int ath12k_hal_srng_update_shadow_config(struct ath12k_base *ab, in ath12k_hal_srng_update_shadow_config() argument
2043 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_srng_update_shadow_config()
2064 ath12k_hal_srng_update_hp_tp_addr(ab, shadow_cfg_idx, ring_type, in ath12k_hal_srng_update_shadow_config()
2067 ath12k_dbg(ab, ATH12K_DBG_HAL, in ath12k_hal_srng_update_shadow_config()
2077 void ath12k_hal_srng_shadow_config(struct ath12k_base *ab) in ath12k_hal_srng_shadow_config() argument
2079 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_srng_shadow_config()
2096 ath12k_hal_srng_update_shadow_config(ab, ring_type, ring_num); in ath12k_hal_srng_shadow_config()
2100 void ath12k_hal_srng_get_shadow_config(struct ath12k_base *ab, in ath12k_hal_srng_get_shadow_config() argument
2103 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_srng_get_shadow_config()
2109 void ath12k_hal_srng_shadow_update_hp_tp(struct ath12k_base *ab, in ath12k_hal_srng_shadow_update_hp_tp() argument
2119 ath12k_hal_srng_access_end(ab, srng); in ath12k_hal_srng_shadow_update_hp_tp()
2122 static void ath12k_hal_register_srng_lock_keys(struct ath12k_base *ab) in ath12k_hal_register_srng_lock_keys() argument
2125 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_register_srng_lock_keys()
2133 static void ath12k_hal_unregister_srng_lock_keys(struct ath12k_base *ab) in ath12k_hal_unregister_srng_lock_keys() argument
2136 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_unregister_srng_lock_keys()
2144 int ath12k_hal_srng_init(struct ath12k_base *ab) in ath12k_hal_srng_init() argument
2146 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_srng_init()
2151 ret = ab->hw_params->hal_ops->create_srng_config(ab); in ath12k_hal_srng_init()
2155 ret = ath12k_hal_alloc_cont_rdp(ab); in ath12k_hal_srng_init()
2159 ret = ath12k_hal_alloc_cont_wrp(ab); in ath12k_hal_srng_init()
2163 ath12k_hal_register_srng_lock_keys(ab); in ath12k_hal_srng_init()
2168 ath12k_hal_free_cont_rdp(ab); in ath12k_hal_srng_init()
2174 void ath12k_hal_srng_deinit(struct ath12k_base *ab) in ath12k_hal_srng_deinit() argument
2176 struct ath12k_hal *hal = &ab->hal; in ath12k_hal_srng_deinit()
2178 ath12k_hal_unregister_srng_lock_keys(ab); in ath12k_hal_srng_deinit()
2179 ath12k_hal_free_cont_rdp(ab); in ath12k_hal_srng_deinit()
2180 ath12k_hal_free_cont_wrp(ab); in ath12k_hal_srng_deinit()
2185 void ath12k_hal_dump_srng_stats(struct ath12k_base *ab) in ath12k_hal_dump_srng_stats() argument
2192 ath12k_err(ab, "Last interrupt received for each CE:\n"); in ath12k_hal_dump_srng_stats()
2193 for (i = 0; i < ab->hw_params->ce_count; i++) { in ath12k_hal_dump_srng_stats()
2194 ce_pipe = &ab->ce.ce_pipe[i]; in ath12k_hal_dump_srng_stats()
2196 if (ath12k_ce_get_attr_flags(ab, i) & CE_ATTR_DIS_INTR) in ath12k_hal_dump_srng_stats()
2199 ath12k_err(ab, "CE_id %d pipe_num %d %ums before\n", in ath12k_hal_dump_srng_stats()
2204 ath12k_err(ab, "\nLast interrupt received for each group:\n"); in ath12k_hal_dump_srng_stats()
2206 irq_grp = &ab->ext_irq_grp[i]; in ath12k_hal_dump_srng_stats()
2207 ath12k_err(ab, "group_id %d %ums before\n", in ath12k_hal_dump_srng_stats()
2213 srng = &ab->hal.srng_list[i]; in ath12k_hal_dump_srng_stats()
2219 ath12k_err(ab, in ath12k_hal_dump_srng_stats()
2227 ath12k_err(ab, in ath12k_hal_dump_srng_stats()