Lines Matching refs:mvm
73 static ssize_t iwl_dbgfs_tx_flush_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_tx_flush_write() argument
79 if (!mvm->ucode_loaded || mvm->cur_ucode != IWL_UCODE_REGULAR) in iwl_dbgfs_tx_flush_write()
85 IWL_ERR(mvm, "FLUSHING queues: scd_q_msk = 0x%x\n", scd_q_msk); in iwl_dbgfs_tx_flush_write()
87 mutex_lock(&mvm->mutex); in iwl_dbgfs_tx_flush_write()
88 ret = iwl_mvm_flush_tx_path(mvm, scd_q_msk, true) ? : count; in iwl_dbgfs_tx_flush_write()
89 mutex_unlock(&mvm->mutex); in iwl_dbgfs_tx_flush_write()
94 static ssize_t iwl_dbgfs_sta_drain_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_sta_drain_write() argument
100 if (!mvm->ucode_loaded || mvm->cur_ucode != IWL_UCODE_REGULAR) in iwl_dbgfs_sta_drain_write()
110 mutex_lock(&mvm->mutex); in iwl_dbgfs_sta_drain_write()
112 mvmsta = iwl_mvm_sta_from_staid_protected(mvm, sta_id); in iwl_dbgfs_sta_drain_write()
117 ret = iwl_mvm_drain_sta(mvm, mvmsta, drain) ? : count; in iwl_dbgfs_sta_drain_write()
119 mutex_unlock(&mvm->mutex); in iwl_dbgfs_sta_drain_write()
127 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_sram_read() local
133 if (!mvm->ucode_loaded) in iwl_dbgfs_sram_read()
137 img = &mvm->fw->img[mvm->cur_ucode]; in iwl_dbgfs_sram_read()
141 if (mvm->dbgfs_sram_len) { in iwl_dbgfs_sram_read()
142 ofs = mvm->dbgfs_sram_offset; in iwl_dbgfs_sram_read()
143 len = mvm->dbgfs_sram_len; in iwl_dbgfs_sram_read()
150 iwl_trans_read_mem_bytes(mvm->trans, ofs, ptr, len); in iwl_dbgfs_sram_read()
159 static ssize_t iwl_dbgfs_sram_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_sram_write() argument
166 if (!mvm->ucode_loaded) in iwl_dbgfs_sram_write()
169 img = &mvm->fw->img[mvm->cur_ucode]; in iwl_dbgfs_sram_write()
180 mvm->dbgfs_sram_offset = offset; in iwl_dbgfs_sram_write()
181 mvm->dbgfs_sram_len = len; in iwl_dbgfs_sram_write()
183 mvm->dbgfs_sram_offset = 0; in iwl_dbgfs_sram_write()
184 mvm->dbgfs_sram_len = 0; in iwl_dbgfs_sram_write()
194 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_set_nic_temperature_read() local
198 if (!mvm->temperature_test) in iwl_dbgfs_set_nic_temperature_read()
201 pos = scnprintf(buf , sizeof(buf), "%d\n", mvm->temperature); in iwl_dbgfs_set_nic_temperature_read()
213 static ssize_t iwl_dbgfs_set_nic_temperature_write(struct iwl_mvm *mvm, in iwl_dbgfs_set_nic_temperature_write() argument
219 if (!mvm->ucode_loaded && !mvm->temperature_test) in iwl_dbgfs_set_nic_temperature_write()
230 mutex_lock(&mvm->mutex); in iwl_dbgfs_set_nic_temperature_write()
232 if (!mvm->temperature_test) in iwl_dbgfs_set_nic_temperature_write()
235 mvm->temperature_test = false; in iwl_dbgfs_set_nic_temperature_write()
240 mvm->temperature = 0; in iwl_dbgfs_set_nic_temperature_write()
242 mvm->temperature_test = true; in iwl_dbgfs_set_nic_temperature_write()
243 mvm->temperature = temperature; in iwl_dbgfs_set_nic_temperature_write()
245 IWL_DEBUG_TEMP(mvm, "%sabling debug set temperature (temp = %d)\n", in iwl_dbgfs_set_nic_temperature_write()
246 mvm->temperature_test ? "En" : "Dis" , in iwl_dbgfs_set_nic_temperature_write()
247 mvm->temperature); in iwl_dbgfs_set_nic_temperature_write()
249 iwl_mvm_tt_handler(mvm); in iwl_dbgfs_set_nic_temperature_write()
252 mutex_unlock(&mvm->mutex); in iwl_dbgfs_set_nic_temperature_write()
261 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_nic_temp_read() local
265 if (!mvm->ucode_loaded) in iwl_dbgfs_nic_temp_read()
268 mutex_lock(&mvm->mutex); in iwl_dbgfs_nic_temp_read()
269 temp = iwl_mvm_get_temp(mvm); in iwl_dbgfs_nic_temp_read()
270 mutex_unlock(&mvm->mutex); in iwl_dbgfs_nic_temp_read()
283 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_stations_read() local
288 mutex_lock(&mvm->mutex); in iwl_dbgfs_stations_read()
292 sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[i], in iwl_dbgfs_stations_read()
293 lockdep_is_held(&mvm->mutex)); in iwl_dbgfs_stations_read()
304 mutex_unlock(&mvm->mutex); in iwl_dbgfs_stations_read()
313 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_disable_power_off_read() local
319 mvm->disable_power_off); in iwl_dbgfs_disable_power_off_read()
321 mvm->disable_power_off_d3); in iwl_dbgfs_disable_power_off_read()
326 static ssize_t iwl_dbgfs_disable_power_off_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_disable_power_off_write() argument
331 if (!mvm->ucode_loaded) in iwl_dbgfs_disable_power_off_write()
337 mvm->disable_power_off = val; in iwl_dbgfs_disable_power_off_write()
341 mvm->disable_power_off_d3 = val; in iwl_dbgfs_disable_power_off_write()
346 mutex_lock(&mvm->mutex); in iwl_dbgfs_disable_power_off_write()
347 ret = iwl_mvm_power_update_device(mvm); in iwl_dbgfs_disable_power_off_write()
348 mutex_unlock(&mvm->mutex); in iwl_dbgfs_disable_power_off_write()
486 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_bt_notif_read() local
494 mutex_lock(&mvm->mutex); in iwl_dbgfs_bt_notif_read()
496 if (!(mvm->fw->ucode_capa.api[0] & IWL_UCODE_TLV_API_BT_COEX_SPLIT)) { in iwl_dbgfs_bt_notif_read()
498 &mvm->last_bt_notif_old; in iwl_dbgfs_bt_notif_read()
513 mvm->last_ant_isol, mvm->last_corun_lut); in iwl_dbgfs_bt_notif_read()
516 &mvm->last_bt_notif; in iwl_dbgfs_bt_notif_read()
531 mvm->last_ant_isol, mvm->last_corun_lut); in iwl_dbgfs_bt_notif_read()
534 mutex_unlock(&mvm->mutex); in iwl_dbgfs_bt_notif_read()
546 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_bt_cmd_read() local
551 mutex_lock(&mvm->mutex); in iwl_dbgfs_bt_cmd_read()
553 if (!(mvm->fw->ucode_capa.api[0] & IWL_UCODE_TLV_API_BT_COEX_SPLIT)) { in iwl_dbgfs_bt_cmd_read()
554 struct iwl_bt_coex_ci_cmd_old *cmd = &mvm->last_bt_ci_cmd_old; in iwl_dbgfs_bt_cmd_read()
568 mvm->bt_ack_kill_msk[0]); in iwl_dbgfs_bt_cmd_read()
570 mvm->bt_cts_kill_msk[0]); in iwl_dbgfs_bt_cmd_read()
573 struct iwl_bt_coex_ci_cmd *cmd = &mvm->last_bt_ci_cmd; in iwl_dbgfs_bt_cmd_read()
585 mutex_unlock(&mvm->mutex); in iwl_dbgfs_bt_cmd_read()
591 iwl_dbgfs_bt_tx_prio_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_bt_tx_prio_write() argument
601 mvm->bt_tx_prio = bt_tx_prio; in iwl_dbgfs_bt_tx_prio_write()
607 iwl_dbgfs_bt_force_ant_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_bt_force_ant_write() argument
629 mutex_lock(&mvm->mutex); in iwl_dbgfs_bt_force_ant_write()
630 if (mvm->bt_force_ant_mode == bt_force_ant_mode) in iwl_dbgfs_bt_force_ant_write()
633 mvm->bt_force_ant_mode = bt_force_ant_mode; in iwl_dbgfs_bt_force_ant_write()
634 IWL_DEBUG_COEX(mvm, "Force mode: %s\n", in iwl_dbgfs_bt_force_ant_write()
635 modes_str[mvm->bt_force_ant_mode]); in iwl_dbgfs_bt_force_ant_write()
636 ret = iwl_send_bt_init_conf(mvm); in iwl_dbgfs_bt_force_ant_write()
639 mutex_unlock(&mvm->mutex); in iwl_dbgfs_bt_force_ant_write()
652 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_fw_rx_stats_read() local
672 mutex_lock(&mvm->mutex); in iwl_dbgfs_fw_rx_stats_read()
674 ofdm = &mvm->rx_stats.ofdm; in iwl_dbgfs_fw_rx_stats_read()
675 cck = &mvm->rx_stats.cck; in iwl_dbgfs_fw_rx_stats_read()
676 general = &mvm->rx_stats.general; in iwl_dbgfs_fw_rx_stats_read()
677 ht = &mvm->rx_stats.ofdm_ht; in iwl_dbgfs_fw_rx_stats_read()
765 mutex_unlock(&mvm->mutex); in iwl_dbgfs_fw_rx_stats_read()
774 static ssize_t iwl_dbgfs_frame_stats_read(struct iwl_mvm *mvm, in iwl_dbgfs_frame_stats_read() argument
788 spin_lock_bh(&mvm->drv_stats_lock); in iwl_dbgfs_frame_stats_read()
830 spin_unlock_bh(&mvm->drv_stats_lock); in iwl_dbgfs_frame_stats_read()
842 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_drv_rx_stats_read() local
844 return iwl_dbgfs_frame_stats_read(mvm, user_buf, count, ppos, in iwl_dbgfs_drv_rx_stats_read()
845 &mvm->drv_rx_stats); in iwl_dbgfs_drv_rx_stats_read()
848 static ssize_t iwl_dbgfs_fw_restart_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_fw_restart_write() argument
853 mutex_lock(&mvm->mutex); in iwl_dbgfs_fw_restart_write()
856 if (mvm->restart_fw >= 0) in iwl_dbgfs_fw_restart_write()
857 mvm->restart_fw++; in iwl_dbgfs_fw_restart_write()
860 ret = iwl_mvm_send_cmd_pdu(mvm, REPLY_ERROR, 0, 0, NULL); in iwl_dbgfs_fw_restart_write()
862 mutex_unlock(&mvm->mutex); in iwl_dbgfs_fw_restart_write()
867 static ssize_t iwl_dbgfs_fw_nmi_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_fw_nmi_write() argument
870 int ret = iwl_mvm_ref_sync(mvm, IWL_MVM_REF_NMI); in iwl_dbgfs_fw_nmi_write()
874 iwl_force_nmi(mvm->trans); in iwl_dbgfs_fw_nmi_write()
876 iwl_mvm_unref(mvm, IWL_MVM_REF_NMI); in iwl_dbgfs_fw_nmi_write()
886 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_scan_ant_rxchain_read() local
893 if (mvm->scan_rx_ant & ANT_A) in iwl_dbgfs_scan_ant_rxchain_read()
895 if (mvm->scan_rx_ant & ANT_B) in iwl_dbgfs_scan_ant_rxchain_read()
897 if (mvm->scan_rx_ant & ANT_C) in iwl_dbgfs_scan_ant_rxchain_read()
899 pos += scnprintf(buf + pos, bufsz - pos, " (%hhx)\n", mvm->scan_rx_ant); in iwl_dbgfs_scan_ant_rxchain_read()
905 iwl_dbgfs_scan_ant_rxchain_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_scan_ant_rxchain_write() argument
914 if (scan_rx_ant & ~(iwl_mvm_get_valid_rx_ant(mvm))) in iwl_dbgfs_scan_ant_rxchain_write()
917 if (mvm->scan_rx_ant != scan_rx_ant) { in iwl_dbgfs_scan_ant_rxchain_write()
918 mvm->scan_rx_ant = scan_rx_ant; in iwl_dbgfs_scan_ant_rxchain_write()
919 if (mvm->fw->ucode_capa.capa[0] & IWL_UCODE_TLV_CAPA_UMAC_SCAN) in iwl_dbgfs_scan_ant_rxchain_write()
920 iwl_mvm_config_scan(mvm); in iwl_dbgfs_scan_ant_rxchain_write()
930 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_fw_dbg_conf_read() local
936 mutex_lock(&mvm->mutex); in iwl_dbgfs_fw_dbg_conf_read()
937 conf = mvm->fw_dbg_conf; in iwl_dbgfs_fw_dbg_conf_read()
938 mutex_unlock(&mvm->mutex); in iwl_dbgfs_fw_dbg_conf_read()
945 static ssize_t iwl_dbgfs_fw_dbg_conf_write(struct iwl_mvm *mvm, in iwl_dbgfs_fw_dbg_conf_write() argument
958 mutex_lock(&mvm->mutex); in iwl_dbgfs_fw_dbg_conf_write()
959 ret = iwl_mvm_start_fw_dbg_conf(mvm, conf_id); in iwl_dbgfs_fw_dbg_conf_write()
960 mutex_unlock(&mvm->mutex); in iwl_dbgfs_fw_dbg_conf_write()
965 static ssize_t iwl_dbgfs_fw_dbg_collect_write(struct iwl_mvm *mvm, in iwl_dbgfs_fw_dbg_collect_write() argument
969 int ret = iwl_mvm_ref_sync(mvm, IWL_MVM_REF_PRPH_WRITE); in iwl_dbgfs_fw_dbg_collect_write()
974 iwl_mvm_fw_dbg_collect(mvm, FW_DBG_TRIGGER_USER, NULL, 0, 0); in iwl_dbgfs_fw_dbg_collect_write()
976 iwl_mvm_unref(mvm, IWL_MVM_REF_PRPH_WRITE); in iwl_dbgfs_fw_dbg_collect_write()
987 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_bcast_filters_read() local
999 mutex_lock(&mvm->mutex); in iwl_dbgfs_bcast_filters_read()
1000 if (!iwl_mvm_bcast_filter_build_cmd(mvm, &cmd)) { in iwl_dbgfs_bcast_filters_read()
1002 mutex_unlock(&mvm->mutex); in iwl_dbgfs_bcast_filters_read()
1005 mutex_unlock(&mvm->mutex); in iwl_dbgfs_bcast_filters_read()
1037 static ssize_t iwl_dbgfs_bcast_filters_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_bcast_filters_write() argument
1050 if (filter_id >= ARRAY_SIZE(mvm->dbgfs_bcast_filtering.cmd.filters) || in iwl_dbgfs_bcast_filters_write()
1075 mutex_lock(&mvm->mutex); in iwl_dbgfs_bcast_filters_write()
1076 memcpy(&mvm->dbgfs_bcast_filtering.cmd.filters[filter_id], in iwl_dbgfs_bcast_filters_write()
1080 if (mvm->dbgfs_bcast_filtering.override && in iwl_dbgfs_bcast_filters_write()
1081 iwl_mvm_bcast_filter_build_cmd(mvm, &cmd)) in iwl_dbgfs_bcast_filters_write()
1082 err = iwl_mvm_send_cmd_pdu(mvm, BCAST_FILTER_CMD, 0, in iwl_dbgfs_bcast_filters_write()
1084 mutex_unlock(&mvm->mutex); in iwl_dbgfs_bcast_filters_write()
1093 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_bcast_filters_macs_read() local
1104 mutex_lock(&mvm->mutex); in iwl_dbgfs_bcast_filters_macs_read()
1105 if (!iwl_mvm_bcast_filter_build_cmd(mvm, &cmd)) { in iwl_dbgfs_bcast_filters_macs_read()
1107 mutex_unlock(&mvm->mutex); in iwl_dbgfs_bcast_filters_macs_read()
1110 mutex_unlock(&mvm->mutex); in iwl_dbgfs_bcast_filters_macs_read()
1124 static ssize_t iwl_dbgfs_bcast_filters_macs_write(struct iwl_mvm *mvm, in iwl_dbgfs_bcast_filters_macs_write() argument
1133 if (!mvm->bcast_filters) in iwl_dbgfs_bcast_filters_macs_write()
1147 mutex_lock(&mvm->mutex); in iwl_dbgfs_bcast_filters_macs_write()
1148 memcpy(&mvm->dbgfs_bcast_filtering.cmd.macs[mac_id], in iwl_dbgfs_bcast_filters_macs_write()
1152 if (mvm->dbgfs_bcast_filtering.override && in iwl_dbgfs_bcast_filters_macs_write()
1153 iwl_mvm_bcast_filter_build_cmd(mvm, &cmd)) in iwl_dbgfs_bcast_filters_macs_write()
1154 err = iwl_mvm_send_cmd_pdu(mvm, BCAST_FILTER_CMD, 0, in iwl_dbgfs_bcast_filters_macs_write()
1156 mutex_unlock(&mvm->mutex); in iwl_dbgfs_bcast_filters_macs_write()
1163 static ssize_t iwl_dbgfs_d3_sram_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_d3_sram_write() argument
1171 mvm->store_d3_resume_sram = store; in iwl_dbgfs_d3_sram_write()
1179 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_d3_sram_read() local
1184 u8 *ptr = mvm->d3_resume_sram; in iwl_dbgfs_d3_sram_read()
1186 img = &mvm->fw->img[IWL_UCODE_WOWLAN]; in iwl_dbgfs_d3_sram_read()
1195 mvm->store_d3_resume_sram ? "en" : "dis"); in iwl_dbgfs_d3_sram_read()
1221 static ssize_t iwl_dbgfs_netdetect_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_netdetect_write() argument
1230 if (mvm->nd_config) { in iwl_dbgfs_netdetect_write()
1231 kfree(mvm->nd_config->match_sets); in iwl_dbgfs_netdetect_write()
1232 kfree(mvm->nd_config); in iwl_dbgfs_netdetect_write()
1233 mvm->nd_config = NULL; in iwl_dbgfs_netdetect_write()
1236 mvm->nd_config = kzalloc(sizeof(*mvm->nd_config) + in iwl_dbgfs_netdetect_write()
1239 if (!mvm->nd_config) { in iwl_dbgfs_netdetect_write()
1244 mvm->nd_config->n_channels = 11; in iwl_dbgfs_netdetect_write()
1245 mvm->nd_config->scan_width = NL80211_BSS_CHAN_WIDTH_20; in iwl_dbgfs_netdetect_write()
1246 mvm->nd_config->interval = 5; in iwl_dbgfs_netdetect_write()
1247 mvm->nd_config->min_rssi_thold = -80; in iwl_dbgfs_netdetect_write()
1248 for (i = 0; i < mvm->nd_config->n_channels; i++) in iwl_dbgfs_netdetect_write()
1249 mvm->nd_config->channels[i] = &mvm->nvm_data->channels[i]; in iwl_dbgfs_netdetect_write()
1251 mvm->nd_config->match_sets = in iwl_dbgfs_netdetect_write()
1253 sizeof(*mvm->nd_config->match_sets), in iwl_dbgfs_netdetect_write()
1255 if (!mvm->nd_config->match_sets) { in iwl_dbgfs_netdetect_write()
1264 if (mvm->nd_config->n_match_sets >= MAX_NUM_ND_MATCHSETS) { in iwl_dbgfs_netdetect_write()
1269 set = &mvm->nd_config->match_sets[mvm->nd_config->n_match_sets]; in iwl_dbgfs_netdetect_write()
1279 mvm->nd_config->n_match_sets++; in iwl_dbgfs_netdetect_write()
1284 if (mvm->nd_config->n_match_sets) in iwl_dbgfs_netdetect_write()
1288 if (mvm->nd_config) in iwl_dbgfs_netdetect_write()
1289 kfree(mvm->nd_config->match_sets); in iwl_dbgfs_netdetect_write()
1290 kfree(mvm->nd_config); in iwl_dbgfs_netdetect_write()
1291 mvm->nd_config = NULL; in iwl_dbgfs_netdetect_write()
1300 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_netdetect_read() local
1305 n_match_sets = mvm->nd_config ? mvm->nd_config->n_match_sets : 0; in iwl_dbgfs_netdetect_read()
1314 mvm->nd_config->match_sets[i].ssid.ssid_len + 2 > bufsz) { in iwl_dbgfs_netdetect_read()
1319 memcpy(buf + pos, mvm->nd_config->match_sets[i].ssid.ssid, in iwl_dbgfs_netdetect_read()
1320 mvm->nd_config->match_sets[i].ssid.ssid_len); in iwl_dbgfs_netdetect_read()
1321 pos += mvm->nd_config->match_sets[i].ssid.ssid_len; in iwl_dbgfs_netdetect_read()
1333 if (mvm->refs[ref]) \
1336 BIT(ref), mvm->refs[ref], #ref); \
1343 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_d0i3_refs_read() local
1350 if (mvm->refs[i]) in iwl_dbgfs_d0i3_refs_read()
1382 static ssize_t iwl_dbgfs_d0i3_refs_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_d0i3_refs_write() argument
1393 mutex_lock(&mvm->mutex); in iwl_dbgfs_d0i3_refs_write()
1395 taken = mvm->refs[IWL_MVM_REF_USER]; in iwl_dbgfs_d0i3_refs_write()
1397 iwl_mvm_ref(mvm, IWL_MVM_REF_USER); in iwl_dbgfs_d0i3_refs_write()
1399 iwl_mvm_unref(mvm, IWL_MVM_REF_USER); in iwl_dbgfs_d0i3_refs_write()
1403 mutex_unlock(&mvm->mutex); in iwl_dbgfs_d0i3_refs_write()
1415 if (!debugfs_create_file(alias, mode, parent, mvm, \
1427 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_prph_reg_read() local
1433 if (!mvm->dbgfs_prph_reg_addr) in iwl_dbgfs_prph_reg_read()
1436 ret = iwl_mvm_ref_sync(mvm, IWL_MVM_REF_PRPH_READ); in iwl_dbgfs_prph_reg_read()
1441 mvm->dbgfs_prph_reg_addr, in iwl_dbgfs_prph_reg_read()
1442 iwl_read_prph(mvm->trans, mvm->dbgfs_prph_reg_addr)); in iwl_dbgfs_prph_reg_read()
1444 iwl_mvm_unref(mvm, IWL_MVM_REF_PRPH_READ); in iwl_dbgfs_prph_reg_read()
1450 iwl_dbgfs_prph_reg_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_prph_reg_write() argument
1457 args = sscanf(buf, "%i %i", &mvm->dbgfs_prph_reg_addr, &value); in iwl_dbgfs_prph_reg_write()
1466 ret = iwl_mvm_ref_sync(mvm, IWL_MVM_REF_PRPH_WRITE); in iwl_dbgfs_prph_reg_write()
1470 iwl_write_prph(mvm->trans, mvm->dbgfs_prph_reg_addr, value); in iwl_dbgfs_prph_reg_write()
1472 iwl_mvm_unref(mvm, IWL_MVM_REF_PRPH_WRITE); in iwl_dbgfs_prph_reg_write()
1510 int iwl_mvm_dbgfs_register(struct iwl_mvm *mvm, struct dentry *dbgfs_dir) in iwl_mvm_dbgfs_register() argument
1515 spin_lock_init(&mvm->drv_stats_lock); in iwl_mvm_dbgfs_register()
1517 mvm->debugfs_dir = dbgfs_dir; in iwl_mvm_dbgfs_register()
1519 MVM_DEBUGFS_ADD_FILE(tx_flush, mvm->debugfs_dir, S_IWUSR); in iwl_mvm_dbgfs_register()
1520 MVM_DEBUGFS_ADD_FILE(sta_drain, mvm->debugfs_dir, S_IWUSR); in iwl_mvm_dbgfs_register()
1521 MVM_DEBUGFS_ADD_FILE(sram, mvm->debugfs_dir, S_IWUSR | S_IRUSR); in iwl_mvm_dbgfs_register()
1522 MVM_DEBUGFS_ADD_FILE(set_nic_temperature, mvm->debugfs_dir, in iwl_mvm_dbgfs_register()
1528 MVM_DEBUGFS_ADD_FILE(disable_power_off, mvm->debugfs_dir, in iwl_mvm_dbgfs_register()
1530 MVM_DEBUGFS_ADD_FILE(fw_rx_stats, mvm->debugfs_dir, S_IRUSR); in iwl_mvm_dbgfs_register()
1531 MVM_DEBUGFS_ADD_FILE(drv_rx_stats, mvm->debugfs_dir, S_IRUSR); in iwl_mvm_dbgfs_register()
1532 MVM_DEBUGFS_ADD_FILE(fw_restart, mvm->debugfs_dir, S_IWUSR); in iwl_mvm_dbgfs_register()
1533 MVM_DEBUGFS_ADD_FILE(fw_nmi, mvm->debugfs_dir, S_IWUSR); in iwl_mvm_dbgfs_register()
1534 MVM_DEBUGFS_ADD_FILE(bt_tx_prio, mvm->debugfs_dir, S_IWUSR); in iwl_mvm_dbgfs_register()
1535 MVM_DEBUGFS_ADD_FILE(bt_force_ant, mvm->debugfs_dir, S_IWUSR); in iwl_mvm_dbgfs_register()
1536 MVM_DEBUGFS_ADD_FILE(scan_ant_rxchain, mvm->debugfs_dir, in iwl_mvm_dbgfs_register()
1538 MVM_DEBUGFS_ADD_FILE(prph_reg, mvm->debugfs_dir, S_IWUSR | S_IRUSR); in iwl_mvm_dbgfs_register()
1539 MVM_DEBUGFS_ADD_FILE(d0i3_refs, mvm->debugfs_dir, S_IRUSR | S_IWUSR); in iwl_mvm_dbgfs_register()
1540 MVM_DEBUGFS_ADD_FILE(fw_dbg_conf, mvm->debugfs_dir, S_IRUSR | S_IWUSR); in iwl_mvm_dbgfs_register()
1541 MVM_DEBUGFS_ADD_FILE(fw_dbg_collect, mvm->debugfs_dir, S_IWUSR); in iwl_mvm_dbgfs_register()
1544 mvm->debugfs_dir, in iwl_mvm_dbgfs_register()
1545 &mvm->scan_iter_notif_enabled)) in iwl_mvm_dbgfs_register()
1549 if (mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_BCAST_FILTERING) { in iwl_mvm_dbgfs_register()
1551 mvm->debugfs_dir); in iwl_mvm_dbgfs_register()
1557 &mvm->dbgfs_bcast_filtering.override)) in iwl_mvm_dbgfs_register()
1568 MVM_DEBUGFS_ADD_FILE(d3_sram, mvm->debugfs_dir, S_IRUSR | S_IWUSR); in iwl_mvm_dbgfs_register()
1569 MVM_DEBUGFS_ADD_FILE(d3_test, mvm->debugfs_dir, S_IRUSR); in iwl_mvm_dbgfs_register()
1571 mvm->debugfs_dir, &mvm->d3_wake_sysassert)) in iwl_mvm_dbgfs_register()
1574 mvm->debugfs_dir, &mvm->last_netdetect_scans)) in iwl_mvm_dbgfs_register()
1576 MVM_DEBUGFS_ADD_FILE(netdetect, mvm->debugfs_dir, S_IRUSR | S_IWUSR); in iwl_mvm_dbgfs_register()
1580 mvm->debugfs_dir, in iwl_mvm_dbgfs_register()
1581 &mvm->low_latency_agg_frame_limit)) in iwl_mvm_dbgfs_register()
1584 mvm->debugfs_dir, &mvm->ps_disabled)) in iwl_mvm_dbgfs_register()
1587 mvm->debugfs_dir, &mvm->nvm_hw_blob)) in iwl_mvm_dbgfs_register()
1590 mvm->debugfs_dir, &mvm->nvm_sw_blob)) in iwl_mvm_dbgfs_register()
1593 mvm->debugfs_dir, &mvm->nvm_calib_blob)) in iwl_mvm_dbgfs_register()
1596 mvm->debugfs_dir, &mvm->nvm_prod_blob)) in iwl_mvm_dbgfs_register()
1606 if (!debugfs_create_symlink("iwlwifi", mvm->hw->wiphy->debugfsdir, buf)) in iwl_mvm_dbgfs_register()
1611 IWL_ERR(mvm, "Can't create the mvm debugfs directory\n"); in iwl_mvm_dbgfs_register()