Lines Matching refs:wil

42 static void wil_print_desc_edma(struct seq_file *s, struct wil6210_priv *wil,  in wil_print_desc_edma()  argument
55 if (wil->rx_buff_mgmt.buff_arr && in wil_print_desc_edma()
56 wil_val_in_range(buff_id, 0, wil->rx_buff_mgmt.size)) in wil_print_desc_edma()
57 has_skb = wil->rx_buff_mgmt.buff_arr[buff_id].skb; in wil_print_desc_edma()
74 static void wil_print_ring(struct seq_file *s, struct wil6210_priv *wil, in wil_print_ring() argument
85 if (wil->use_enhanced_dma_hw && ring->is_rx) in wil_print_ring()
90 if (wil->use_enhanced_dma_hw) { in wil_print_ring()
92 WIL_RX_DESC_RING_ID : ring - wil->ring_tx; in wil_print_ring()
97 x = wmi_addr(wil, RGF_DMA_SCM_SUBQ_CONS + 4 * (ring_id / 2)); in wil_print_ring()
104 x = wmi_addr(wil, ring->hwtail); in wil_print_ring()
118 if (wil->use_enhanced_dma_hw) { in wil_print_ring()
119 wil_print_desc_edma(s, wil, ring, _s, _h, i); in wil_print_ring()
135 struct wil6210_priv *wil = s->private; in ring_show() local
137 wil_print_ring(s, wil, "rx", &wil->ring_rx, 'S', '_'); in ring_show()
139 for (i = 0; i < ARRAY_SIZE(wil->ring_tx); i++) { in ring_show()
140 struct wil_ring *ring = &wil->ring_tx[i]; in ring_show()
141 struct wil_ring_tx_data *txdata = &wil->ring_tx_data[i]; in ring_show()
144 int cid = wil->ring2cid_tid[i][0]; in ring_show()
145 int tid = wil->ring2cid_tid[i][1]; in ring_show()
170 if (cid < wil->max_assoc_sta) in ring_show()
173 wil->sta[cid].addr, cid, tid, in ring_show()
185 wil_print_ring(s, wil, name, ring, '_', 'H'); in ring_show()
193 static void wil_print_sring(struct seq_file *s, struct wil6210_priv *wil, in wil_print_sring() argument
197 int sring_idx = sring - wil->srings; in wil_print_sring()
207 if (wil->use_enhanced_dma_hw) { in wil_print_sring()
212 x = wmi_addr(wil, RGF_DMA_SCM_COMPQ_PROD + 4 * (sring_idx / 2)); in wil_print_sring()
219 x = wmi_addr(wil, sring->hwtail); in wil_print_sring()
253 struct wil6210_priv *wil = s->private; in srings_show() local
257 if (wil->srings[i].va) in srings_show()
258 wil_print_sring(s, wil, &wil->srings[i]); in srings_show()
273 struct wil6210_priv *wil = s->private; in wil_print_mbox_ring() local
278 wil_halp_vote(wil); in wil_print_mbox_ring()
280 if (wil_mem_access_lock(wil)) { in wil_print_mbox_ring()
281 wil_halp_unvote(wil); in wil_print_mbox_ring()
306 if (!wmi_addr(wil, r.base) || in wil_print_mbox_ring()
307 !wmi_addr(wil, r.tail) || in wil_print_mbox_ring()
308 !wmi_addr(wil, r.head)) { in wil_print_mbox_ring()
317 void __iomem *x = wil->csr + HOSTADDR(r.base) + delta; in wil_print_mbox_ring()
326 if (0 == wmi_read_hdr(wil, d.addr, &hdr)) { in wil_print_mbox_ring()
334 void __iomem *src = wmi_buffer(wil, d.addr) + in wil_print_mbox_ring()
350 wil_mem_access_unlock(wil); in wil_print_mbox_ring()
351 wil_halp_unvote(wil); in wil_print_mbox_ring()
356 struct wil6210_priv *wil = s->private; in mbox_show() local
359 ret = wil_pm_runtime_get(wil); in mbox_show()
363 wil_print_mbox_ring(s, "tx", wil->csr + HOST_MBOX + in mbox_show()
365 wil_print_mbox_ring(s, "rx", wil->csr + HOST_MBOX + in mbox_show()
368 wil_pm_runtime_put(wil); in mbox_show()
378 struct wil6210_priv *wil = d->wil; in wil_debugfs_iomem_x32_set() local
381 ret = wil_pm_runtime_get(wil); in wil_debugfs_iomem_x32_set()
389 wil_pm_runtime_put(wil); in wil_debugfs_iomem_x32_set()
398 struct wil6210_priv *wil = d->wil; in wil_debugfs_iomem_x32_get() local
401 ret = wil_pm_runtime_get(wil); in wil_debugfs_iomem_x32_get()
407 wil_pm_runtime_put(wil); in wil_debugfs_iomem_x32_get()
417 struct wil6210_priv *wil) in wil_debugfs_create_iomem_x32() argument
419 struct wil_debugfs_iomem_data *data = &wil->dbg_data.data_arr[ in wil_debugfs_create_iomem_x32()
420 wil->dbg_data.iomem_data_count]; in wil_debugfs_create_iomem_x32()
422 data->wil = wil; in wil_debugfs_create_iomem_x32()
426 wil->dbg_data.iomem_data_count++; in wil_debugfs_create_iomem_x32()
453 static void wil6210_debugfs_init_offset(struct wil6210_priv *wil, in wil6210_debugfs_init_offset() argument
477 wil); in wil6210_debugfs_init_offset()
498 static void wil6210_debugfs_create_ISR(struct wil6210_priv *wil, in wil6210_debugfs_create_ISR() argument
504 wil6210_debugfs_init_offset(wil, d, (void * __force)wil->csr + off, in wil6210_debugfs_create_ISR()
515 static void wil6210_debugfs_create_pseudo_ISR(struct wil6210_priv *wil, in wil6210_debugfs_create_pseudo_ISR() argument
520 wil6210_debugfs_init_offset(wil, d, (void * __force)wil->csr, in wil6210_debugfs_create_pseudo_ISR()
563 static int wil6210_debugfs_create_ITR_CNT(struct wil6210_priv *wil, in wil6210_debugfs_create_ITR_CNT() argument
573 wil6210_debugfs_init_offset(wil, d, (void * __force)wil->csr, in wil6210_debugfs_create_ITR_CNT()
576 wil6210_debugfs_init_offset(wil, dtx, (void * __force)wil->csr, in wil6210_debugfs_create_ITR_CNT()
579 wil6210_debugfs_init_offset(wil, drx, (void * __force)wil->csr, in wil6210_debugfs_create_ITR_CNT()
586 struct wil6210_priv *wil = s->private; in memread_show() local
590 ret = wil_pm_runtime_get(wil); in memread_show()
594 ret = wil_mem_access_lock(wil); in memread_show()
596 wil_pm_runtime_put(wil); in memread_show()
600 a = wmi_buffer(wil, cpu_to_le32(mem_addr)); in memread_show()
607 wil_mem_access_unlock(wil); in memread_show()
608 wil_pm_runtime_put(wil); in memread_show()
619 struct wil6210_priv *wil = wil_blob->wil; in wil_read_file_ioblob() local
646 rc = wil_pm_runtime_get(wil); in wil_read_file_ioblob()
652 rc = wil_mem_access_lock(wil); in wil_read_file_ioblob()
655 wil_pm_runtime_put(wil); in wil_read_file_ioblob()
664 wil_mem_access_unlock(wil); in wil_read_file_ioblob()
665 wil_pm_runtime_put(wil); in wil_read_file_ioblob()
696 struct wil6210_priv *wil = file->private_data; in wil_write_file_rxon() local
711 wil_err(wil, "Invalid channel %ld\n", channel); in wil_write_file_rxon()
717 rc = wmi_set_channel(wil, (int)channel); in wil_write_file_rxon()
722 rc = wmi_rxon(wil, on); in wil_write_file_rxon()
738 struct wil6210_priv *wil = file->private_data; in wil_write_file_rbufcap() local
744 wil_err(wil, "Invalid argument\n"); in wil_write_file_rbufcap()
750 wil_info(wil, "%s RBUFCAP, descriptors threshold - %d\n", in wil_write_file_rbufcap()
753 if (!wil->ring_rx.va || val > wil->ring_rx.size) { in wil_write_file_rbufcap()
754 wil_err(wil, "Invalid descriptors threshold, %d\n", val); in wil_write_file_rbufcap()
758 rc = wmi_rbufcap_cfg(wil, val < 0 ? 0 : 1, val < 0 ? 0 : val); in wil_write_file_rbufcap()
760 wil_err(wil, "RBUFCAP config failed: %d\n", rc); in wil_write_file_rbufcap()
780 struct wil6210_priv *wil = file->private_data; in wil_write_back() local
809 wil_err(wil, "BACK: invalid ring id %d\n", p1); in wil_write_back()
812 txdata = &wil->ring_tx_data[p1]; in wil_write_back()
815 wil_err(wil, "BACK: add require at least 2 params\n"); in wil_write_back()
820 wmi_addba(wil, txdata->mid, p1, p2, p3); in wil_write_back()
824 wmi_delba_tx(wil, txdata->mid, p1, p2); in wil_write_back()
830 wil_err(wil, in wil_write_back()
834 if (p1 < 0 || p1 >= wil->max_assoc_sta) { in wil_write_back()
835 wil_err(wil, "BACK: invalid CID %d\n", p1); in wil_write_back()
840 sta = &wil->sta[p1]; in wil_write_back()
841 wmi_delba_rx(wil, sta->mid, p1, p2, p3); in wil_write_back()
843 wil_err(wil, "BACK: Unrecognized command \"%s\"\n", cmd); in wil_write_back()
877 struct wil6210_priv *wil = file->private_data; in wil_write_pmccfg() local
900 wil_err(wil, "pmccfg: no params given\n"); in wil_write_pmccfg()
906 wil_err(wil, "pmccfg: alloc requires 2 params\n"); in wil_write_pmccfg()
909 wil_pmc_alloc(wil, num_descs, desc_size); in wil_write_pmccfg()
912 wil_err(wil, "pmccfg: free does not have any params\n"); in wil_write_pmccfg()
915 wil_pmc_free(wil, true); in wil_write_pmccfg()
917 wil_err(wil, "pmccfg: Unrecognized command \"%s\"\n", cmd); in wil_write_pmccfg()
927 struct wil6210_priv *wil = file->private_data; in wil_read_pmccfg() local
934 wil_pmc_last_cmd_status(wil), help); in wil_read_pmccfg()
969 struct wil6210_priv *wil = file->private_data; in wil_write_file_txmgmt() local
970 struct wiphy *wiphy = wil_to_wiphy(wil); in wil_write_file_txmgmt()
971 struct wireless_dev *wdev = wil->main_ndev->ieee80211_ptr; in wil_write_file_txmgmt()
991 wil_info(wil, "-> %d\n", rc); in wil_write_file_txmgmt()
1007 struct wil6210_priv *wil = file->private_data; in wil_write_file_wmi() local
1008 struct wil6210_vif *vif = ndev_to_vif(wil->main_ndev); in wil_write_file_wmi()
1031 rc1 = wmi_send(wil, cmdid, vif->mid, cmd, cmdlen); in wil_write_file_wmi()
1034 wil_info(wil, "0x%04x[%d] -> %d\n", cmdid, cmdlen, rc1); in wil_write_file_wmi()
1070 struct wil6210_priv *wil = s->private; in txdesc_show() local
1079 if (wil->use_enhanced_dma_hw) { in txdesc_show()
1095 ring = tx ? &wil->ring_tx[ring_idx] : &wil->ring_rx; in txdesc_show()
1122 if (wil->use_enhanced_dma_hw) { in txdesc_show()
1125 } else if (wil->rx_buff_mgmt.buff_arr) { in txdesc_show()
1132 wil->rx_buff_mgmt.size)) in txdesc_show()
1135 skb = wil->rx_buff_mgmt.buff_arr[buff_id].skb; in txdesc_show()
1165 struct wil6210_priv *wil = s->private; in status_msg_show() local
1177 sring = &wil->srings[sring_idx]; in status_msg_show()
1198 if (!tx && !wil->use_compressed_rx_status) in status_msg_show()
1226 struct wil6210_priv *wil = s->private; in rx_buff_mgmt_show() local
1227 struct wil_rx_buff_mgmt *rbm = &wil->rx_buff_mgmt; in rx_buff_mgmt_show()
1283 struct wil6210_priv *wil = s->private; in bf_show() local
1284 struct wil6210_vif *vif = ndev_to_vif(wil->main_ndev); in bf_show()
1295 for (i = 0; i < wil->max_assoc_sta; i++) { in bf_show()
1299 rc = wmi_call(wil, WMI_NOTIFY_REQ_CMDID, vif->mid, in bf_show()
1352 struct wil6210_priv *wil = s->private; in temp_show() local
1356 wil->fw_capabilities)) { in temp_show()
1359 wil_dbg_misc(wil, in temp_show()
1361 rc = wmi_get_all_temperatures(wil, &sense_all_evt); in temp_show()
1378 wil_dbg_misc(wil, in temp_show()
1380 rc = wmi_get_temperature(wil, &t_m, &t_r); in temp_show()
1395 struct wil6210_priv *wil = s->private; in freq_show() local
1396 struct wireless_dev *wdev = wil->main_ndev->ieee80211_ptr; in freq_show()
1408 struct wil6210_priv *wil = s->private; in link_show() local
1416 for (i = 0; i < wil->max_assoc_sta; i++) { in link_show()
1417 struct wil_sta_info *p = &wil->sta[i]; in link_show()
1440 vif = (mid < GET_MAX_VIFS(wil)) ? wil->vifs[mid] : NULL; in link_show()
1463 struct wil6210_priv *wil = s->private; in info_show() local
1464 struct net_device *ndev = wil->main_ndev; in info_show()
1466 int rx = atomic_xchg(&wil->isr_count_rx, 0); in info_show()
1467 int tx = atomic_xchg(&wil->isr_count_tx, 0); in info_show()
1505 struct wil6210_priv *wil = file->private_data; in wil_read_file_recovery() local
1512 sstate[wil->recovery_state]); in wil_read_file_recovery()
1524 struct wil6210_priv *wil = file->private_data; in wil_write_file_recovery() local
1529 if (wil->recovery_state != fw_recovery_pending) { in wil_write_file_recovery()
1530 wil_err(wil, "No recovery pending\n"); in wil_write_file_recovery()
1535 wil_err(wil, "Offset [%d]\n", (int)*ppos); in wil_write_file_recovery()
1540 wil_err(wil, "Input too long, len = %d\n", (int)count); in wil_write_file_recovery()
1550 wil_set_recovery_state(wil, fw_recovery_running); in wil_write_file_recovery()
1552 wil_err(wil, "Bad recovery command \"%s\"\n", buf); in wil_write_file_recovery()
1615 struct wil6210_priv *wil = s->private; in sta_show() local
1618 for (i = 0; i < wil->max_assoc_sta; i++) { in sta_show()
1619 struct wil_sta_info *p = &wil->sta[i]; in sta_show()
1638 if (mid < GET_MAX_VIFS(wil)) { in sta_show()
1639 struct wil6210_vif *vif = wil->vifs[mid]; in sta_show()
1698 struct wil6210_priv *wil = s->private; in mids_show() local
1703 mutex_lock(&wil->vif_mutex); in mids_show()
1704 for (i = 0; i < GET_MAX_VIFS(wil); i++) { in mids_show()
1705 vif = wil->vifs[i]; in mids_show()
1715 mutex_unlock(&wil->vif_mutex); in mids_show()
1724 struct wil6210_priv *wil = s->private; in wil_tx_latency_debugfs_show() local
1727 for (i = 0; i < wil->max_assoc_sta; i++) { in wil_tx_latency_debugfs_show()
1728 struct wil_sta_info *p = &wil->sta[i]; in wil_tx_latency_debugfs_show()
1788 struct wil6210_priv *wil = s->private; in wil_tx_latency_write() local
1794 wil_err(wil, "Invalid argument\n"); in wil_tx_latency_write()
1801 wil_err(wil, "Invalid resolution %d\n", val); in wil_tx_latency_write()
1806 if (wil->tx_latency == enable) in wil_tx_latency_write()
1809 wil_info(wil, "%s TX latency measurements (resolution %dusec)\n", in wil_tx_latency_write()
1815 wil->tx_latency_res = val; in wil_tx_latency_write()
1816 for (i = 0; i < wil->max_assoc_sta; i++) { in wil_tx_latency_write()
1817 struct wil_sta_info *sta = &wil->sta[i]; in wil_tx_latency_write()
1828 wil->tx_latency = enable; in wil_tx_latency_write()
1869 static void wil_link_stats_print_global(struct wil6210_priv *wil, in wil_link_stats_print_global() argument
1891 struct wil6210_priv *wil = vif_to_wil(vif); in wil_link_stats_debugfs_show_vif() local
1901 for (i = 0; i < wil->max_assoc_sta; i++) { in wil_link_stats_debugfs_show_vif()
1902 if (wil->sta[i].status == wil_sta_unused) in wil_link_stats_debugfs_show_vif()
1904 if (wil->sta[i].mid != vif->mid) in wil_link_stats_debugfs_show_vif()
1907 stats = &wil->sta[i].fw_stats_basic; in wil_link_stats_debugfs_show_vif()
1914 struct wil6210_priv *wil = s->private; in wil_link_stats_debugfs_show() local
1918 rc = mutex_lock_interruptible(&wil->vif_mutex); in wil_link_stats_debugfs_show()
1925 for (i = 0; i < GET_MAX_VIFS(wil); i++) { in wil_link_stats_debugfs_show()
1926 vif = wil->vifs[i]; in wil_link_stats_debugfs_show()
1937 mutex_unlock(&wil->vif_mutex); in wil_link_stats_debugfs_show()
1951 struct wil6210_priv *wil = s->private; in wil_link_stats_write() local
1974 wil_info(wil, "request link statistics, cid %d interval %d\n", in wil_link_stats_write()
1977 rc = mutex_lock_interruptible(&wil->vif_mutex); in wil_link_stats_write()
1981 for (i = 0; i < GET_MAX_VIFS(wil); i++) { in wil_link_stats_write()
1982 vif = wil->vifs[i]; in wil_link_stats_write()
1989 wil_err(wil, "link statistics failed for mid %d\n", i); in wil_link_stats_write()
1991 mutex_unlock(&wil->vif_mutex); in wil_link_stats_write()
2007 struct wil6210_priv *wil = s->private; in wil_link_stats_global_debugfs_show() local
2009 if (!wil->fw_stats_global.ready) in wil_link_stats_global_debugfs_show()
2012 seq_printf(s, "TSF %lld\n", wil->fw_stats_global.tsf); in wil_link_stats_global_debugfs_show()
2013 wil_link_stats_print_global(wil, s, &wil->fw_stats_global.stats); in wil_link_stats_global_debugfs_show()
2030 struct wil6210_priv *wil = s->private; in wil_link_stats_global_write() local
2032 struct wil6210_vif *vif = ndev_to_vif(wil->main_ndev); in wil_link_stats_global_write()
2037 wil_err(wil, "Invalid argument\n"); in wil_link_stats_global_write()
2041 wil_info(wil, "request global link stats, interval %d\n", interval); in wil_link_stats_global_write()
2045 wil_err(wil, "global link stats failed %d\n", rc); in wil_link_stats_global_write()
2078 struct wil6210_priv *wil = file->private_data; in wil_write_file_led_cfg() local
2084 wil_err(wil, "Invalid argument\n"); in wil_write_file_led_cfg()
2088 wil_info(wil, "%s led %d\n", val ? "Enabling" : "Disabling", led_id); in wil_write_file_led_cfg()
2089 rc = wmi_led_cfg(wil, val); in wil_write_file_led_cfg()
2091 wil_info(wil, "%s led %d failed\n", in wil_write_file_led_cfg()
2173 struct wil6210_priv *wil = s->private; in wil_fw_capabilities_debugfs_show() local
2176 wil->fw_capabilities); in wil_fw_capabilities_debugfs_show()
2197 struct wil6210_priv *wil = s->private; in wil_fw_version_debugfs_show() local
2199 if (wil->fw_version[0]) in wil_fw_version_debugfs_show()
2200 seq_printf(s, "%s\n", wil->fw_version); in wil_fw_version_debugfs_show()
2225 struct wil6210_priv *wil = file->private_data; in wil_write_suspend_stats() local
2227 memset(&wil->suspend_stats, 0, sizeof(wil->suspend_stats)); in wil_write_suspend_stats()
2236 struct wil6210_priv *wil = file->private_data; in wil_read_suspend_stats() local
2254 wil->suspend_stats.r_on.successful_suspends, in wil_read_suspend_stats()
2255 wil->suspend_stats.r_on.failed_suspends, in wil_read_suspend_stats()
2256 wil->suspend_stats.r_on.successful_resumes, in wil_read_suspend_stats()
2257 wil->suspend_stats.r_on.failed_resumes, in wil_read_suspend_stats()
2258 wil->suspend_stats.rejected_by_device, in wil_read_suspend_stats()
2259 wil->suspend_stats.r_off.successful_suspends, in wil_read_suspend_stats()
2260 wil->suspend_stats.r_off.failed_suspends, in wil_read_suspend_stats()
2261 wil->suspend_stats.r_off.successful_resumes, in wil_read_suspend_stats()
2262 wil->suspend_stats.r_off.failed_resumes, in wil_read_suspend_stats()
2263 wil->suspend_stats.rejected_by_host); in wil_read_suspend_stats()
2286 struct wil6210_priv *wil = s->private; in wil_compressed_rx_status_write() local
2292 wil_err(wil, "Invalid argument\n"); in wil_compressed_rx_status_write()
2296 if (wil_has_active_ifaces(wil, true, false)) { in wil_compressed_rx_status_write()
2297 wil_err(wil, "cannot change edma config after iface is up\n"); in wil_compressed_rx_status_write()
2301 wil_info(wil, "%sable compressed_rx_status\n", in wil_compressed_rx_status_write()
2304 wil->use_compressed_rx_status = compressed_rx_status; in wil_compressed_rx_status_write()
2312 struct wil6210_priv *wil = s->private; in wil_compressed_rx_status_show() local
2314 seq_printf(s, "%d\n", wil->use_compressed_rx_status); in wil_compressed_rx_status_show()
2335 static void wil6210_debugfs_init_blobs(struct wil6210_priv *wil, in wil6210_debugfs_init_blobs() argument
2342 struct wil_blob_wrapper *wil_blob = &wil->blobs[i]; in wil6210_debugfs_init_blobs()
2349 wil_blob->wil = wil; in wil6210_debugfs_init_blobs()
2350 blob->data = (void * __force)wil->csr + HOSTADDR(map->host); in wil6210_debugfs_init_blobs()
2397 static void wil6210_debugfs_init_files(struct wil6210_priv *wil, in wil6210_debugfs_init_files() argument
2404 wil, dbg_files[i].fops); in wil6210_debugfs_init_files()
2418 static void wil6210_debugfs_init_isr(struct wil6210_priv *wil, in wil6210_debugfs_init_isr() argument
2424 wil6210_debugfs_create_ISR(wil, dbg_icr[i].name, dbg, in wil6210_debugfs_init_isr()
2476 int wil6210_debugfs_init(struct wil6210_priv *wil) in wil6210_debugfs_init() argument
2478 struct dentry *dbg = wil->debug = debugfs_create_dir(WIL_NAME, in wil6210_debugfs_init()
2479 wil_to_wiphy(wil)->debugfsdir); in wil6210_debugfs_init()
2483 wil->dbg_data.data_arr = kcalloc(dbg_off_count, in wil6210_debugfs_init()
2486 if (!wil->dbg_data.data_arr) { in wil6210_debugfs_init()
2488 wil->debug = NULL; in wil6210_debugfs_init()
2492 wil->dbg_data.iomem_data_count = 0; in wil6210_debugfs_init()
2494 wil_pmc_init(wil); in wil6210_debugfs_init()
2496 wil6210_debugfs_init_files(wil, dbg); in wil6210_debugfs_init()
2497 wil6210_debugfs_init_isr(wil, dbg); in wil6210_debugfs_init()
2498 wil6210_debugfs_init_blobs(wil, dbg); in wil6210_debugfs_init()
2499 wil6210_debugfs_init_offset(wil, dbg, wil, dbg_wil_off); in wil6210_debugfs_init()
2500 wil6210_debugfs_init_offset(wil, dbg, (void * __force)wil->csr, in wil6210_debugfs_init()
2502 wil6210_debugfs_init_offset(wil, dbg, NULL, dbg_statics); in wil6210_debugfs_init()
2504 wil6210_debugfs_create_pseudo_ISR(wil, dbg); in wil6210_debugfs_init()
2506 wil6210_debugfs_create_ITR_CNT(wil, dbg); in wil6210_debugfs_init()
2511 void wil6210_debugfs_remove(struct wil6210_priv *wil) in wil6210_debugfs_remove() argument
2515 debugfs_remove_recursive(wil->debug); in wil6210_debugfs_remove()
2516 wil->debug = NULL; in wil6210_debugfs_remove()
2518 kfree(wil->dbg_data.data_arr); in wil6210_debugfs_remove()
2519 for (i = 0; i < wil->max_assoc_sta; i++) in wil6210_debugfs_remove()
2520 kfree(wil->sta[i].tx_latency_bins); in wil6210_debugfs_remove()
2525 wil_pmc_free(wil, false); in wil6210_debugfs_remove()