Lines Matching full:ab
192 static int ath11k_hal_alloc_cont_rdp(struct ath11k_base *ab) in ath11k_hal_alloc_cont_rdp() argument
194 struct ath11k_hal *hal = &ab->hal; in ath11k_hal_alloc_cont_rdp()
198 hal->rdp.vaddr = dma_alloc_coherent(ab->dev, size, &hal->rdp.paddr, in ath11k_hal_alloc_cont_rdp()
206 static void ath11k_hal_free_cont_rdp(struct ath11k_base *ab) in ath11k_hal_free_cont_rdp() argument
208 struct ath11k_hal *hal = &ab->hal; in ath11k_hal_free_cont_rdp()
215 dma_free_coherent(ab->dev, size, in ath11k_hal_free_cont_rdp()
220 static int ath11k_hal_alloc_cont_wrp(struct ath11k_base *ab) in ath11k_hal_alloc_cont_wrp() argument
222 struct ath11k_hal *hal = &ab->hal; in ath11k_hal_alloc_cont_wrp()
226 hal->wrp.vaddr = dma_alloc_coherent(ab->dev, size, &hal->wrp.paddr, in ath11k_hal_alloc_cont_wrp()
234 static void ath11k_hal_free_cont_wrp(struct ath11k_base *ab) in ath11k_hal_free_cont_wrp() argument
236 struct ath11k_hal *hal = &ab->hal; in ath11k_hal_free_cont_wrp()
243 dma_free_coherent(ab->dev, size, in ath11k_hal_free_cont_wrp()
248 static void ath11k_hal_ce_dst_setup(struct ath11k_base *ab, in ath11k_hal_ce_dst_setup() argument
251 struct hal_srng_config *srng_config = &ab->hal.srng_config[HAL_CE_DST]; in ath11k_hal_ce_dst_setup()
259 val = ath11k_hif_read32(ab, addr); in ath11k_hal_ce_dst_setup()
263 ath11k_hif_write32(ab, addr, val); in ath11k_hal_ce_dst_setup()
266 static void ath11k_hal_srng_dst_hw_init(struct ath11k_base *ab, in ath11k_hal_srng_dst_hw_init() argument
269 struct ath11k_hal *hal = &ab->hal; in ath11k_hal_srng_dst_hw_init()
277 ath11k_hif_write32(ab, reg_base + in ath11k_hal_srng_dst_hw_init()
278 HAL_REO1_RING_MSI1_BASE_LSB_OFFSET(ab), in ath11k_hal_srng_dst_hw_init()
285 ath11k_hif_write32(ab, reg_base + in ath11k_hal_srng_dst_hw_init()
286 HAL_REO1_RING_MSI1_BASE_MSB_OFFSET(ab), val); in ath11k_hal_srng_dst_hw_init()
288 ath11k_hif_write32(ab, in ath11k_hal_srng_dst_hw_init()
289 reg_base + HAL_REO1_RING_MSI1_DATA_OFFSET(ab), in ath11k_hal_srng_dst_hw_init()
293 ath11k_hif_write32(ab, reg_base, srng->ring_base_paddr); in ath11k_hal_srng_dst_hw_init()
300 ath11k_hif_write32(ab, reg_base + HAL_REO1_RING_BASE_MSB_OFFSET(ab), val); in ath11k_hal_srng_dst_hw_init()
304 ath11k_hif_write32(ab, reg_base + HAL_REO1_RING_ID_OFFSET(ab), val); in ath11k_hal_srng_dst_hw_init()
314 ath11k_hif_write32(ab, in ath11k_hal_srng_dst_hw_init()
315 reg_base + HAL_REO1_RING_PRODUCER_INT_SETUP_OFFSET(ab), in ath11k_hal_srng_dst_hw_init()
321 ath11k_hif_write32(ab, reg_base + HAL_REO1_RING_HP_ADDR_LSB_OFFSET(ab), in ath11k_hal_srng_dst_hw_init()
323 ath11k_hif_write32(ab, reg_base + HAL_REO1_RING_HP_ADDR_MSB_OFFSET(ab), in ath11k_hal_srng_dst_hw_init()
328 ath11k_hif_write32(ab, reg_base, 0); in ath11k_hal_srng_dst_hw_init()
329 ath11k_hif_write32(ab, reg_base + HAL_REO1_RING_TP_OFFSET(ab), 0); in ath11k_hal_srng_dst_hw_init()
342 ath11k_hif_write32(ab, reg_base + HAL_REO1_RING_MISC_OFFSET(ab), val); in ath11k_hal_srng_dst_hw_init()
345 static void ath11k_hal_srng_src_hw_init(struct ath11k_base *ab, in ath11k_hal_srng_src_hw_init() argument
348 struct ath11k_hal *hal = &ab->hal; in ath11k_hal_srng_src_hw_init()
356 ath11k_hif_write32(ab, reg_base + in ath11k_hal_srng_src_hw_init()
357 HAL_TCL1_RING_MSI1_BASE_LSB_OFFSET(ab), in ath11k_hal_srng_src_hw_init()
364 ath11k_hif_write32(ab, reg_base + in ath11k_hal_srng_src_hw_init()
365 HAL_TCL1_RING_MSI1_BASE_MSB_OFFSET(ab), in ath11k_hal_srng_src_hw_init()
368 ath11k_hif_write32(ab, reg_base + in ath11k_hal_srng_src_hw_init()
369 HAL_TCL1_RING_MSI1_DATA_OFFSET(ab), in ath11k_hal_srng_src_hw_init()
373 ath11k_hif_write32(ab, reg_base, srng->ring_base_paddr); in ath11k_hal_srng_src_hw_init()
380 ath11k_hif_write32(ab, reg_base + HAL_TCL1_RING_BASE_MSB_OFFSET(ab), val); in ath11k_hal_srng_src_hw_init()
383 ath11k_hif_write32(ab, reg_base + HAL_TCL1_RING_ID_OFFSET(ab), val); in ath11k_hal_srng_src_hw_init()
386 ath11k_hif_write32(ab, reg_base, (u32)srng->ring_base_paddr); in ath11k_hal_srng_src_hw_init()
392 ath11k_hif_write32(ab, reg_base + HAL_TCL1_RING_BASE_MSB_OFFSET(ab), val); in ath11k_hal_srng_src_hw_init()
406 ath11k_hif_write32(ab, in ath11k_hal_srng_src_hw_init()
407 reg_base + HAL_TCL1_RING_CONSR_INT_SETUP_IX0_OFFSET(ab), in ath11k_hal_srng_src_hw_init()
415 ath11k_hif_write32(ab, in ath11k_hal_srng_src_hw_init()
416 reg_base + HAL_TCL1_RING_CONSR_INT_SETUP_IX1_OFFSET(ab), in ath11k_hal_srng_src_hw_init()
423 ath11k_hif_write32(ab, in ath11k_hal_srng_src_hw_init()
424 reg_base + HAL_TCL1_RING_TP_ADDR_LSB_OFFSET(ab), in ath11k_hal_srng_src_hw_init()
426 ath11k_hif_write32(ab, in ath11k_hal_srng_src_hw_init()
427 reg_base + HAL_TCL1_RING_TP_ADDR_MSB_OFFSET(ab), in ath11k_hal_srng_src_hw_init()
433 ath11k_hif_write32(ab, reg_base, 0); in ath11k_hal_srng_src_hw_init()
434 ath11k_hif_write32(ab, reg_base + HAL_TCL1_RING_TP_OFFSET, 0); in ath11k_hal_srng_src_hw_init()
451 ath11k_hif_write32(ab, reg_base + HAL_TCL1_RING_MISC_OFFSET(ab), val); in ath11k_hal_srng_src_hw_init()
454 static void ath11k_hal_srng_hw_init(struct ath11k_base *ab, in ath11k_hal_srng_hw_init() argument
458 ath11k_hal_srng_src_hw_init(ab, srng); in ath11k_hal_srng_hw_init()
460 ath11k_hal_srng_dst_hw_init(ab, srng); in ath11k_hal_srng_hw_init()
463 static int ath11k_hal_srng_get_ring_id(struct ath11k_base *ab, in ath11k_hal_srng_get_ring_id() argument
467 struct hal_srng_config *srng_config = &ab->hal.srng_config[type]; in ath11k_hal_srng_get_ring_id()
471 ath11k_warn(ab, "invalid ring number :%d\n", ring_num); in ath11k_hal_srng_get_ring_id()
485 int ath11k_hal_srng_get_entrysize(struct ath11k_base *ab, u32 ring_type) in ath11k_hal_srng_get_entrysize() argument
492 srng_config = &ab->hal.srng_config[ring_type]; in ath11k_hal_srng_get_entrysize()
497 int ath11k_hal_srng_get_max_entries(struct ath11k_base *ab, u32 ring_type) in ath11k_hal_srng_get_max_entries() argument
504 srng_config = &ab->hal.srng_config[ring_type]; in ath11k_hal_srng_get_max_entries()
509 void ath11k_hal_srng_get_params(struct ath11k_base *ab, struct hal_srng *srng, in ath11k_hal_srng_get_params() argument
524 dma_addr_t ath11k_hal_srng_get_hp_addr(struct ath11k_base *ab, in ath11k_hal_srng_get_hp_addr() argument
531 return ab->hal.wrp.paddr + in ath11k_hal_srng_get_hp_addr()
533 (unsigned long)ab->hal.wrp.vaddr); in ath11k_hal_srng_get_hp_addr()
535 return ab->hal.rdp.paddr + in ath11k_hal_srng_get_hp_addr()
537 (unsigned long)ab->hal.rdp.vaddr); in ath11k_hal_srng_get_hp_addr()
540 dma_addr_t ath11k_hal_srng_get_tp_addr(struct ath11k_base *ab, in ath11k_hal_srng_get_tp_addr() argument
547 return ab->hal.rdp.paddr + in ath11k_hal_srng_get_tp_addr()
549 (unsigned long)ab->hal.rdp.vaddr); in ath11k_hal_srng_get_tp_addr()
551 return ab->hal.wrp.paddr + in ath11k_hal_srng_get_tp_addr()
553 (unsigned long)ab->hal.wrp.vaddr); in ath11k_hal_srng_get_tp_addr()
620 u32 *ath11k_hal_srng_dst_peek(struct ath11k_base *ab, struct hal_srng *srng) in ath11k_hal_srng_dst_peek() argument
630 u32 *ath11k_hal_srng_dst_get_next_entry(struct ath11k_base *ab, in ath11k_hal_srng_dst_get_next_entry() argument
648 int ath11k_hal_srng_dst_num_free(struct ath11k_base *ab, struct hal_srng *srng, in ath11k_hal_srng_dst_num_free() argument
671 int ath11k_hal_srng_src_num_free(struct ath11k_base *ab, struct hal_srng *srng, in ath11k_hal_srng_src_num_free() argument
693 u32 *ath11k_hal_srng_src_get_next_entry(struct ath11k_base *ab, in ath11k_hal_srng_src_get_next_entry() argument
726 u32 *ath11k_hal_srng_src_reap_next(struct ath11k_base *ab, in ath11k_hal_srng_src_reap_next() argument
746 u32 *ath11k_hal_srng_src_get_next_reaped(struct ath11k_base *ab, in ath11k_hal_srng_src_get_next_reaped() argument
763 u32 *ath11k_hal_srng_src_peek(struct ath11k_base *ab, struct hal_srng *srng) in ath11k_hal_srng_src_peek() argument
774 void ath11k_hal_srng_access_begin(struct ath11k_base *ab, struct hal_srng *srng) in ath11k_hal_srng_access_begin() argument
788 void ath11k_hal_srng_access_end(struct ath11k_base *ab, struct hal_srng *srng) in ath11k_hal_srng_access_end() argument
809 ath11k_hif_write32(ab, in ath11k_hal_srng_access_end()
811 (unsigned long)ab->mem, in ath11k_hal_srng_access_end()
815 ath11k_hif_write32(ab, in ath11k_hal_srng_access_end()
817 (unsigned long)ab->mem, in ath11k_hal_srng_access_end()
825 void ath11k_hal_setup_link_idle_list(struct ath11k_base *ab, in ath11k_hal_setup_link_idle_list() argument
849 ath11k_hif_write32(ab, in ath11k_hal_setup_link_idle_list()
853 ath11k_hif_write32(ab, in ath11k_hal_setup_link_idle_list()
857 ath11k_hif_write32(ab, in ath11k_hal_setup_link_idle_list()
862 ath11k_hif_write32(ab, in ath11k_hal_setup_link_idle_list()
873 ath11k_hif_write32(ab, in ath11k_hal_setup_link_idle_list()
878 ath11k_hif_write32(ab, in ath11k_hal_setup_link_idle_list()
887 ath11k_hif_write32(ab, in ath11k_hal_setup_link_idle_list()
893 ath11k_hif_write32(ab, in ath11k_hal_setup_link_idle_list()
898 ath11k_hif_write32(ab, in ath11k_hal_setup_link_idle_list()
906 ath11k_hif_write32(ab, in ath11k_hal_setup_link_idle_list()
912 ath11k_hif_write32(ab, in ath11k_hal_setup_link_idle_list()
914 HAL_WBM_IDLE_LINK_RING_MISC_ADDR(ab), 0x40); in ath11k_hal_setup_link_idle_list()
917 int ath11k_hal_srng_setup(struct ath11k_base *ab, enum hal_ring_type type, in ath11k_hal_srng_setup() argument
921 struct ath11k_hal *hal = &ab->hal; in ath11k_hal_srng_setup()
922 struct hal_srng_config *srng_config = &ab->hal.srng_config[type]; in ath11k_hal_srng_setup()
929 ring_id = ath11k_hal_srng_get_ring_id(ab, type, ring_num, mac_id); in ath11k_hal_srng_setup()
979 if (!ab->hw_params.supports_shadow_regs) in ath11k_hal_srng_setup()
981 (u32 *)((unsigned long)ab->mem + reg_base); in ath11k_hal_srng_setup()
983 ath11k_dbg(ab, ATH11k_DBG_HAL, in ath11k_hal_srng_setup()
988 (unsigned long)ab->mem); in ath11k_hal_srng_setup()
1012 if (!ab->hw_params.supports_shadow_regs) in ath11k_hal_srng_setup()
1014 (u32 *)((unsigned long)ab->mem + reg_base + in ath11k_hal_srng_setup()
1015 (HAL_REO1_RING_TP(ab) - HAL_REO1_RING_HP(ab))); in ath11k_hal_srng_setup()
1017 ath11k_dbg(ab, ATH11k_DBG_HAL, in ath11k_hal_srng_setup()
1020 reg_base + (HAL_REO1_RING_TP(ab) - in ath11k_hal_srng_setup()
1021 HAL_REO1_RING_HP(ab)), in ath11k_hal_srng_setup()
1023 (unsigned long)ab->mem); in ath11k_hal_srng_setup()
1030 ath11k_hal_srng_hw_init(ab, srng); in ath11k_hal_srng_setup()
1034 ath11k_hal_ce_dst_setup(ab, srng, ring_num); in ath11k_hal_srng_setup()
1040 static void ath11k_hal_srng_update_hp_tp_addr(struct ath11k_base *ab, in ath11k_hal_srng_update_hp_tp_addr() argument
1046 struct ath11k_hal *hal = &ab->hal; in ath11k_hal_srng_update_hp_tp_addr()
1050 ring_id = ath11k_hal_srng_get_ring_id(ab, ring_type, ring_num, 0); in ath11k_hal_srng_update_hp_tp_addr()
1058 (unsigned long)ab->mem); in ath11k_hal_srng_update_hp_tp_addr()
1061 (unsigned long)ab->mem); in ath11k_hal_srng_update_hp_tp_addr()
1064 int ath11k_hal_srng_update_shadow_config(struct ath11k_base *ab, in ath11k_hal_srng_update_shadow_config() argument
1068 struct ath11k_hal *hal = &ab->hal; in ath11k_hal_srng_update_shadow_config()
1089 ath11k_hal_srng_update_hp_tp_addr(ab, shadow_cfg_idx, ring_type, in ath11k_hal_srng_update_shadow_config()
1092 ath11k_dbg(ab, ATH11k_DBG_HAL, in ath11k_hal_srng_update_shadow_config()
1102 void ath11k_hal_srng_shadow_config(struct ath11k_base *ab) in ath11k_hal_srng_shadow_config() argument
1104 struct ath11k_hal *hal = &ab->hal; in ath11k_hal_srng_shadow_config()
1120 ath11k_hal_srng_update_shadow_config(ab, ring_type, ring_num); in ath11k_hal_srng_shadow_config()
1124 void ath11k_hal_srng_get_shadow_config(struct ath11k_base *ab, in ath11k_hal_srng_get_shadow_config() argument
1127 struct ath11k_hal *hal = &ab->hal; in ath11k_hal_srng_get_shadow_config()
1133 void ath11k_hal_srng_shadow_update_hp_tp(struct ath11k_base *ab, in ath11k_hal_srng_shadow_update_hp_tp() argument
1143 ath11k_hal_srng_access_end(ab, srng); in ath11k_hal_srng_shadow_update_hp_tp()
1146 static int ath11k_hal_srng_create_config(struct ath11k_base *ab) in ath11k_hal_srng_create_config() argument
1148 struct ath11k_hal *hal = &ab->hal; in ath11k_hal_srng_create_config()
1158 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_REO_REG + HAL_REO1_RING_BASE_LSB(ab); in ath11k_hal_srng_create_config()
1159 s->reg_start[1] = HAL_SEQ_WCSS_UMAC_REO_REG + HAL_REO1_RING_HP(ab); in ath11k_hal_srng_create_config()
1160 s->reg_size[0] = HAL_REO2_RING_BASE_LSB(ab) - HAL_REO1_RING_BASE_LSB(ab); in ath11k_hal_srng_create_config()
1161 s->reg_size[1] = HAL_REO2_RING_HP(ab) - HAL_REO1_RING_HP(ab); in ath11k_hal_srng_create_config()
1164 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_REO_REG + HAL_REO_TCL_RING_BASE_LSB(ab); in ath11k_hal_srng_create_config()
1165 s->reg_start[1] = HAL_SEQ_WCSS_UMAC_REO_REG + HAL_REO_TCL_RING_HP(ab); in ath11k_hal_srng_create_config()
1176 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_REO_REG + HAL_REO_STATUS_RING_BASE_LSB(ab); in ath11k_hal_srng_create_config()
1177 s->reg_start[1] = HAL_SEQ_WCSS_UMAC_REO_REG + HAL_REO_STATUS_HP(ab); in ath11k_hal_srng_create_config()
1180 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_TCL_REG + HAL_TCL1_RING_BASE_LSB(ab); in ath11k_hal_srng_create_config()
1182 s->reg_size[0] = HAL_TCL2_RING_BASE_LSB(ab) - HAL_TCL1_RING_BASE_LSB(ab); in ath11k_hal_srng_create_config()
1186 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_TCL_REG + HAL_TCL_RING_BASE_LSB(ab); in ath11k_hal_srng_create_config()
1190 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_TCL_REG + HAL_TCL_STATUS_RING_BASE_LSB(ab); in ath11k_hal_srng_create_config()
1194 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_CE0_SRC_REG(ab) + HAL_CE_DST_RING_BASE_LSB; in ath11k_hal_srng_create_config()
1195 s->reg_start[1] = HAL_SEQ_WCSS_UMAC_CE0_SRC_REG(ab) + HAL_CE_DST_RING_HP; in ath11k_hal_srng_create_config()
1196 s->reg_size[0] = HAL_SEQ_WCSS_UMAC_CE1_SRC_REG(ab) - in ath11k_hal_srng_create_config()
1197 HAL_SEQ_WCSS_UMAC_CE0_SRC_REG(ab); in ath11k_hal_srng_create_config()
1198 s->reg_size[1] = HAL_SEQ_WCSS_UMAC_CE1_SRC_REG(ab) - in ath11k_hal_srng_create_config()
1199 HAL_SEQ_WCSS_UMAC_CE0_SRC_REG(ab); in ath11k_hal_srng_create_config()
1202 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_CE0_DST_REG(ab) + HAL_CE_DST_RING_BASE_LSB; in ath11k_hal_srng_create_config()
1203 s->reg_start[1] = HAL_SEQ_WCSS_UMAC_CE0_DST_REG(ab) + HAL_CE_DST_RING_HP; in ath11k_hal_srng_create_config()
1204 s->reg_size[0] = HAL_SEQ_WCSS_UMAC_CE1_DST_REG(ab) - in ath11k_hal_srng_create_config()
1205 HAL_SEQ_WCSS_UMAC_CE0_DST_REG(ab); in ath11k_hal_srng_create_config()
1206 s->reg_size[1] = HAL_SEQ_WCSS_UMAC_CE1_DST_REG(ab) - in ath11k_hal_srng_create_config()
1207 HAL_SEQ_WCSS_UMAC_CE0_DST_REG(ab); in ath11k_hal_srng_create_config()
1210 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_CE0_DST_REG(ab) + in ath11k_hal_srng_create_config()
1212 s->reg_start[1] = HAL_SEQ_WCSS_UMAC_CE0_DST_REG(ab) + HAL_CE_DST_STATUS_RING_HP; in ath11k_hal_srng_create_config()
1213 s->reg_size[0] = HAL_SEQ_WCSS_UMAC_CE1_DST_REG(ab) - in ath11k_hal_srng_create_config()
1214 HAL_SEQ_WCSS_UMAC_CE0_DST_REG(ab); in ath11k_hal_srng_create_config()
1215 s->reg_size[1] = HAL_SEQ_WCSS_UMAC_CE1_DST_REG(ab) - in ath11k_hal_srng_create_config()
1216 HAL_SEQ_WCSS_UMAC_CE0_DST_REG(ab); in ath11k_hal_srng_create_config()
1219 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_WBM_REG + HAL_WBM_IDLE_LINK_RING_BASE_LSB(ab); in ath11k_hal_srng_create_config()
1223 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_WBM_REG + HAL_WBM_RELEASE_RING_BASE_LSB(ab); in ath11k_hal_srng_create_config()
1227 s->reg_start[0] = HAL_SEQ_WCSS_UMAC_WBM_REG + HAL_WBM0_RELEASE_RING_BASE_LSB(ab); in ath11k_hal_srng_create_config()
1229 s->reg_size[0] = HAL_WBM1_RELEASE_RING_BASE_LSB(ab) - in ath11k_hal_srng_create_config()
1230 HAL_WBM0_RELEASE_RING_BASE_LSB(ab); in ath11k_hal_srng_create_config()
1236 int ath11k_hal_srng_init(struct ath11k_base *ab) in ath11k_hal_srng_init() argument
1238 struct ath11k_hal *hal = &ab->hal; in ath11k_hal_srng_init()
1243 ret = ath11k_hal_srng_create_config(ab); in ath11k_hal_srng_init()
1247 ret = ath11k_hal_alloc_cont_rdp(ab); in ath11k_hal_srng_init()
1251 ret = ath11k_hal_alloc_cont_wrp(ab); in ath11k_hal_srng_init()
1258 ath11k_hal_free_cont_rdp(ab); in ath11k_hal_srng_init()
1265 void ath11k_hal_srng_deinit(struct ath11k_base *ab) in ath11k_hal_srng_deinit() argument
1267 struct ath11k_hal *hal = &ab->hal; in ath11k_hal_srng_deinit()
1269 ath11k_hal_free_cont_rdp(ab); in ath11k_hal_srng_deinit()
1270 ath11k_hal_free_cont_wrp(ab); in ath11k_hal_srng_deinit()
1275 void ath11k_hal_dump_srng_stats(struct ath11k_base *ab) in ath11k_hal_dump_srng_stats() argument
1282 ath11k_err(ab, "Last interrupt received for each CE:\n"); in ath11k_hal_dump_srng_stats()
1283 for (i = 0; i < ab->hw_params.ce_count; i++) { in ath11k_hal_dump_srng_stats()
1284 ce_pipe = &ab->ce.ce_pipe[i]; in ath11k_hal_dump_srng_stats()
1286 if (ath11k_ce_get_attr_flags(ab, i) & CE_ATTR_DIS_INTR) in ath11k_hal_dump_srng_stats()
1289 ath11k_err(ab, "CE_id %d pipe_num %d %ums before\n", in ath11k_hal_dump_srng_stats()
1294 ath11k_err(ab, "\nLast interrupt received for each group:\n"); in ath11k_hal_dump_srng_stats()
1296 irq_grp = &ab->ext_irq_grp[i]; in ath11k_hal_dump_srng_stats()
1297 ath11k_err(ab, "group_id %d %ums before\n", in ath11k_hal_dump_srng_stats()
1303 srng = &ab->hal.srng_list[i]; in ath11k_hal_dump_srng_stats()
1309 ath11k_err(ab, in ath11k_hal_dump_srng_stats()
1317 ath11k_err(ab, in ath11k_hal_dump_srng_stats()