Lines Matching refs:ar

191 		if (dev->ar->mbox_info.gmbox_addr != 0) {  in ath6kl_dump_registers()
264 void ath6kl_debug_war(struct ath6kl *ar, enum ath6kl_war war) in ath6kl_debug_war() argument
268 ar->debug.war_stats.invalid_rate++; in ath6kl_debug_war()
276 struct ath6kl *ar = file->private_data; in read_file_war_stats() local
291 "Invalid rates", ar->debug.war_stats.invalid_rate); in read_file_war_stats()
309 void ath6kl_debug_fwlog_event(struct ath6kl *ar, const void *buf, size_t len) in ath6kl_debug_fwlog_event() argument
332 spin_lock(&ar->debug.fwlog_queue.lock); in ath6kl_debug_fwlog_event()
334 __skb_queue_tail(&ar->debug.fwlog_queue, skb); in ath6kl_debug_fwlog_event()
335 complete(&ar->debug.fwlog_completion); in ath6kl_debug_fwlog_event()
338 while (skb_queue_len(&ar->debug.fwlog_queue) > in ath6kl_debug_fwlog_event()
340 skb = __skb_dequeue(&ar->debug.fwlog_queue); in ath6kl_debug_fwlog_event()
344 spin_unlock(&ar->debug.fwlog_queue.lock); in ath6kl_debug_fwlog_event()
351 struct ath6kl *ar = inode->i_private; in ath6kl_fwlog_open() local
353 if (ar->debug.fwlog_open) in ath6kl_fwlog_open()
356 ar->debug.fwlog_open = true; in ath6kl_fwlog_open()
364 struct ath6kl *ar = inode->i_private; in ath6kl_fwlog_release() local
366 ar->debug.fwlog_open = false; in ath6kl_fwlog_release()
374 struct ath6kl *ar = file->private_data; in ath6kl_fwlog_read() local
385 ath6kl_read_fwlogs(ar); in ath6kl_fwlog_read()
387 spin_lock(&ar->debug.fwlog_queue.lock); in ath6kl_fwlog_read()
389 while ((skb = __skb_dequeue(&ar->debug.fwlog_queue))) { in ath6kl_fwlog_read()
392 __skb_queue_head(&ar->debug.fwlog_queue, skb); in ath6kl_fwlog_read()
403 spin_unlock(&ar->debug.fwlog_queue.lock); in ath6kl_fwlog_read()
427 struct ath6kl *ar = file->private_data; in ath6kl_fwlog_block_read() local
438 spin_lock(&ar->debug.fwlog_queue.lock); in ath6kl_fwlog_block_read()
440 if (skb_queue_len(&ar->debug.fwlog_queue) == 0) { in ath6kl_fwlog_block_read()
442 init_completion(&ar->debug.fwlog_completion); in ath6kl_fwlog_block_read()
444 spin_unlock(&ar->debug.fwlog_queue.lock); in ath6kl_fwlog_block_read()
447 &ar->debug.fwlog_completion); in ath6kl_fwlog_block_read()
453 spin_lock(&ar->debug.fwlog_queue.lock); in ath6kl_fwlog_block_read()
456 while ((skb = __skb_dequeue(&ar->debug.fwlog_queue))) { in ath6kl_fwlog_block_read()
459 __skb_queue_head(&ar->debug.fwlog_queue, skb); in ath6kl_fwlog_block_read()
470 spin_unlock(&ar->debug.fwlog_queue.lock); in ath6kl_fwlog_block_read()
501 struct ath6kl *ar = file->private_data; in ath6kl_fwlog_mask_read() local
505 len = snprintf(buf, sizeof(buf), "0x%x\n", ar->debug.fwlog_mask); in ath6kl_fwlog_mask_read()
514 struct ath6kl *ar = file->private_data; in ath6kl_fwlog_mask_write() local
517 ret = kstrtou32_from_user(user_buf, count, 0, &ar->debug.fwlog_mask); in ath6kl_fwlog_mask_write()
521 ret = ath6kl_wmi_config_debug_module_cmd(ar->wmi, in ath6kl_fwlog_mask_write()
523 ar->debug.fwlog_mask); in ath6kl_fwlog_mask_write()
541 struct ath6kl *ar = file->private_data; in read_file_tgt_stats() local
550 vif = ath6kl_vif_first(ar); in read_file_tgt_stats()
560 if (down_interruptible(&ar->sem)) { in read_file_tgt_stats()
567 if (ath6kl_wmi_get_stats_cmd(ar->wmi, 0)) { in read_file_tgt_stats()
568 up(&ar->sem); in read_file_tgt_stats()
573 left = wait_event_interruptible_timeout(ar->event_wq, in read_file_tgt_stats()
577 up(&ar->sem); in read_file_tgt_stats()
698 struct ath6kl *ar = file->private_data; in read_file_credit_dist_stats() local
699 struct htc_target *target = ar->htc_target; in read_file_credit_dist_stats()
776 struct ath6kl *ar = file->private_data; in ath6kl_endpoint_stats_read() local
777 struct htc_target *target = ar->htc_target; in ath6kl_endpoint_stats_read()
831 struct ath6kl *ar = file->private_data; in ath6kl_endpoint_stats_write() local
832 struct htc_target *target = ar->htc_target; in ath6kl_endpoint_stats_write()
886 struct ath6kl *ar = file->private_data; in ath6kl_regread_read() local
890 if (ar->debug.dbgfs_diag_reg) in ath6kl_regread_read()
892 ar->debug.dbgfs_diag_reg); in ath6kl_regread_read()
904 struct ath6kl *ar = file->private_data; in ath6kl_regread_write() local
916 ar->debug.dbgfs_diag_reg = reg_addr; in ath6kl_regread_write()
931 struct ath6kl *ar = inode->i_private; in ath6kl_regdump_open() local
940 if (!ar->debug.dbgfs_diag_reg) in ath6kl_regdump_open()
954 addr = ar->debug.dbgfs_diag_reg; in ath6kl_regdump_open()
956 status = ath6kl_diag_read32(ar, in ath6kl_regdump_open()
957 TARG_VTOP(ar->target_type, addr), in ath6kl_regdump_open()
972 status = ath6kl_diag_read32(ar, in ath6kl_regdump_open()
973 TARG_VTOP(ar->target_type, addr), in ath6kl_regdump_open()
1019 struct ath6kl *ar = file->private_data; in ath6kl_lrssi_roam_write() local
1025 ar->lrssi_roam_threshold = lrssi_roam_threshold; in ath6kl_lrssi_roam_write()
1027 ath6kl_wmi_set_roam_lrssi_cmd(ar->wmi, ar->lrssi_roam_threshold); in ath6kl_lrssi_roam_write()
1036 struct ath6kl *ar = file->private_data; in ath6kl_lrssi_roam_read() local
1040 len = snprintf(buf, sizeof(buf), "%u\n", ar->lrssi_roam_threshold); in ath6kl_lrssi_roam_read()
1057 struct ath6kl *ar = file->private_data; in ath6kl_regwrite_read() local
1062 ar->debug.diag_reg_addr_wr, ar->debug.diag_reg_val_wr); in ath6kl_regwrite_read()
1071 struct ath6kl *ar = file->private_data; in ath6kl_regwrite_write() local
1097 ar->debug.diag_reg_addr_wr = reg_addr; in ath6kl_regwrite_write()
1098 ar->debug.diag_reg_val_wr = reg_val; in ath6kl_regwrite_write()
1100 if (ath6kl_diag_write32(ar, ar->debug.diag_reg_addr_wr, in ath6kl_regwrite_write()
1101 cpu_to_le32(ar->debug.diag_reg_val_wr))) in ath6kl_regwrite_write()
1115 int ath6kl_debug_roam_tbl_event(struct ath6kl *ar, const void *buf, in ath6kl_debug_roam_tbl_event() argument
1130 if (ar->debug.roam_tbl == NULL || in ath6kl_debug_roam_tbl_event()
1131 ar->debug.roam_tbl_len < (unsigned int) len) { in ath6kl_debug_roam_tbl_event()
1132 kfree(ar->debug.roam_tbl); in ath6kl_debug_roam_tbl_event()
1133 ar->debug.roam_tbl = kmalloc(len, GFP_ATOMIC); in ath6kl_debug_roam_tbl_event()
1134 if (ar->debug.roam_tbl == NULL) in ath6kl_debug_roam_tbl_event()
1138 memcpy(ar->debug.roam_tbl, buf, len); in ath6kl_debug_roam_tbl_event()
1139 ar->debug.roam_tbl_len = len; in ath6kl_debug_roam_tbl_event()
1141 if (test_bit(ROAM_TBL_PEND, &ar->flag)) { in ath6kl_debug_roam_tbl_event()
1142 clear_bit(ROAM_TBL_PEND, &ar->flag); in ath6kl_debug_roam_tbl_event()
1143 wake_up(&ar->event_wq); in ath6kl_debug_roam_tbl_event()
1152 struct ath6kl *ar = file->private_data; in ath6kl_roam_table_read() local
1161 if (down_interruptible(&ar->sem)) in ath6kl_roam_table_read()
1164 set_bit(ROAM_TBL_PEND, &ar->flag); in ath6kl_roam_table_read()
1166 ret = ath6kl_wmi_get_roam_tbl_cmd(ar->wmi); in ath6kl_roam_table_read()
1168 up(&ar->sem); in ath6kl_roam_table_read()
1173 ar->event_wq, !test_bit(ROAM_TBL_PEND, &ar->flag), WMI_TIMEOUT); in ath6kl_roam_table_read()
1174 up(&ar->sem); in ath6kl_roam_table_read()
1179 if (ar->debug.roam_tbl == NULL) in ath6kl_roam_table_read()
1182 tbl = (struct wmi_target_roam_tbl *) ar->debug.roam_tbl; in ath6kl_roam_table_read()
1224 struct ath6kl *ar = file->private_data; in ath6kl_force_roam_write() local
1238 ret = ath6kl_wmi_force_roam_cmd(ar->wmi, bssid); in ath6kl_force_roam_write()
1256 struct ath6kl *ar = file->private_data; in ath6kl_roam_mode_write() local
1278 ret = ath6kl_wmi_set_roam_mode_cmd(ar->wmi, mode); in ath6kl_roam_mode_write()
1292 void ath6kl_debug_set_keepalive(struct ath6kl *ar, u8 keepalive) in ath6kl_debug_set_keepalive() argument
1294 ar->debug.keepalive = keepalive; in ath6kl_debug_set_keepalive()
1300 struct ath6kl *ar = file->private_data; in ath6kl_keepalive_read() local
1304 len = snprintf(buf, sizeof(buf), "%u\n", ar->debug.keepalive); in ath6kl_keepalive_read()
1313 struct ath6kl *ar = file->private_data; in ath6kl_keepalive_write() local
1321 ret = ath6kl_wmi_set_keepalive_cmd(ar->wmi, 0, val); in ath6kl_keepalive_write()
1336 void ath6kl_debug_set_disconnect_timeout(struct ath6kl *ar, u8 timeout) in ath6kl_debug_set_disconnect_timeout() argument
1338 ar->debug.disc_timeout = timeout; in ath6kl_debug_set_disconnect_timeout()
1345 struct ath6kl *ar = file->private_data; in ath6kl_disconnect_timeout_read() local
1349 len = snprintf(buf, sizeof(buf), "%u\n", ar->debug.disc_timeout); in ath6kl_disconnect_timeout_read()
1358 struct ath6kl *ar = file->private_data; in ath6kl_disconnect_timeout_write() local
1366 ret = ath6kl_wmi_disctimeout_cmd(ar->wmi, 0, val); in ath6kl_disconnect_timeout_write()
1385 struct ath6kl *ar = file->private_data; in ath6kl_create_qos_write() local
1394 vif = ath6kl_vif_first(ar); in ath6kl_create_qos_write()
1547 ath6kl_wmi_create_pstream_cmd(ar->wmi, vif->fw_vif_idx, &pstream); in ath6kl_create_qos_write()
1563 struct ath6kl *ar = file->private_data; in ath6kl_delete_qos_write() local
1571 vif = ath6kl_vif_first(ar); in ath6kl_delete_qos_write()
1593 ath6kl_wmi_delete_pstream_cmd(ar->wmi, vif->fw_vif_idx, in ath6kl_delete_qos_write()
1610 struct ath6kl *ar = file->private_data; in ath6kl_bgscan_int_write() local
1616 vif = ath6kl_vif_first(ar); in ath6kl_bgscan_int_write()
1633 ath6kl_wmi_scanparams_cmd(ar->wmi, 0, 0, 0, bgscan_int, 0, 0, 0, 3, in ath6kl_bgscan_int_write()
1650 struct ath6kl *ar = file->private_data; in ath6kl_listen_int_write() local
1656 vif = ath6kl_vif_first(ar); in ath6kl_listen_int_write()
1672 ath6kl_wmi_listeninterval_cmd(ar->wmi, vif->fw_vif_idx, in ath6kl_listen_int_write()
1682 struct ath6kl *ar = file->private_data; in ath6kl_listen_int_read() local
1687 vif = ath6kl_vif_first(ar); in ath6kl_listen_int_read()
1708 struct ath6kl *ar = file->private_data; in ath6kl_power_params_write() local
1751 ath6kl_wmi_pmparams_cmd(ar->wmi, 0, idle_period, ps_poll_num, in ath6kl_power_params_write()
1764 void ath6kl_debug_init(struct ath6kl *ar) in ath6kl_debug_init() argument
1766 skb_queue_head_init(&ar->debug.fwlog_queue); in ath6kl_debug_init()
1767 init_completion(&ar->debug.fwlog_completion); in ath6kl_debug_init()
1773 ar->debug.fwlog_mask = 0; in ath6kl_debug_init()
1781 int ath6kl_debug_init_fs(struct ath6kl *ar) in ath6kl_debug_init_fs() argument
1783 ar->debugfs_phy = debugfs_create_dir("ath6kl", in ath6kl_debug_init_fs()
1784 ar->wiphy->debugfsdir); in ath6kl_debug_init_fs()
1785 if (!ar->debugfs_phy) in ath6kl_debug_init_fs()
1788 debugfs_create_file("tgt_stats", S_IRUSR, ar->debugfs_phy, ar, in ath6kl_debug_init_fs()
1791 if (ar->hif_type == ATH6KL_HIF_TYPE_SDIO) in ath6kl_debug_init_fs()
1793 ar->debugfs_phy, ar, in ath6kl_debug_init_fs()
1797 ar->debugfs_phy, ar, &fops_endpoint_stats); in ath6kl_debug_init_fs()
1799 debugfs_create_file("fwlog", S_IRUSR, ar->debugfs_phy, ar, in ath6kl_debug_init_fs()
1802 debugfs_create_file("fwlog_block", S_IRUSR, ar->debugfs_phy, ar, in ath6kl_debug_init_fs()
1805 debugfs_create_file("fwlog_mask", S_IRUSR | S_IWUSR, ar->debugfs_phy, in ath6kl_debug_init_fs()
1806 ar, &fops_fwlog_mask); in ath6kl_debug_init_fs()
1808 debugfs_create_file("reg_addr", S_IRUSR | S_IWUSR, ar->debugfs_phy, ar, in ath6kl_debug_init_fs()
1811 debugfs_create_file("reg_dump", S_IRUSR, ar->debugfs_phy, ar, in ath6kl_debug_init_fs()
1815 ar->debugfs_phy, ar, &fops_lrssi_roam_threshold); in ath6kl_debug_init_fs()
1818 ar->debugfs_phy, ar, &fops_diag_reg_write); in ath6kl_debug_init_fs()
1820 debugfs_create_file("war_stats", S_IRUSR, ar->debugfs_phy, ar, in ath6kl_debug_init_fs()
1823 debugfs_create_file("roam_table", S_IRUSR, ar->debugfs_phy, ar, in ath6kl_debug_init_fs()
1826 debugfs_create_file("force_roam", S_IWUSR, ar->debugfs_phy, ar, in ath6kl_debug_init_fs()
1829 debugfs_create_file("roam_mode", S_IWUSR, ar->debugfs_phy, ar, in ath6kl_debug_init_fs()
1832 debugfs_create_file("keepalive", S_IRUSR | S_IWUSR, ar->debugfs_phy, ar, in ath6kl_debug_init_fs()
1836 ar->debugfs_phy, ar, &fops_disconnect_timeout); in ath6kl_debug_init_fs()
1838 debugfs_create_file("create_qos", S_IWUSR, ar->debugfs_phy, ar, in ath6kl_debug_init_fs()
1841 debugfs_create_file("delete_qos", S_IWUSR, ar->debugfs_phy, ar, in ath6kl_debug_init_fs()
1845 ar->debugfs_phy, ar, &fops_bgscan_int); in ath6kl_debug_init_fs()
1848 ar->debugfs_phy, ar, &fops_listen_int); in ath6kl_debug_init_fs()
1850 debugfs_create_file("power_params", S_IWUSR, ar->debugfs_phy, ar, in ath6kl_debug_init_fs()
1856 void ath6kl_debug_cleanup(struct ath6kl *ar) in ath6kl_debug_cleanup() argument
1858 skb_queue_purge(&ar->debug.fwlog_queue); in ath6kl_debug_cleanup()
1859 complete(&ar->debug.fwlog_completion); in ath6kl_debug_cleanup()
1860 kfree(ar->debug.roam_tbl); in ath6kl_debug_cleanup()