Lines Matching refs:mvm

69 static void iwl_dbgfs_update_pm(struct iwl_mvm *mvm,  in iwl_dbgfs_update_pm()  argument
83 IWL_DEBUG_POWER(mvm, "debugfs: set keep_alive= %d sec\n", val); in iwl_dbgfs_update_pm()
85 IWL_WARN(mvm, in iwl_dbgfs_update_pm()
92 IWL_DEBUG_POWER(mvm, "skip_over_dtim %s\n", in iwl_dbgfs_update_pm()
97 IWL_DEBUG_POWER(mvm, "skip_dtim_periods=%d\n", val); in iwl_dbgfs_update_pm()
101 IWL_DEBUG_POWER(mvm, "rx_data_timeout=%d\n", val); in iwl_dbgfs_update_pm()
105 IWL_DEBUG_POWER(mvm, "tx_data_timeout=%d\n", val); in iwl_dbgfs_update_pm()
109 IWL_DEBUG_POWER(mvm, "lprx %s\n", val ? "enabled" : "disabled"); in iwl_dbgfs_update_pm()
113 IWL_DEBUG_POWER(mvm, "lprx_rssi_threshold=%d\n", val); in iwl_dbgfs_update_pm()
117 IWL_DEBUG_POWER(mvm, "snooze_enable=%d\n", val); in iwl_dbgfs_update_pm()
121 IWL_DEBUG_POWER(mvm, "uapsd_misbehaving_enable=%d\n", val); in iwl_dbgfs_update_pm()
125 IWL_DEBUG_POWER(mvm, "use_ps_poll=%d\n", val); in iwl_dbgfs_update_pm()
135 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_pm_params_write() local
186 mutex_lock(&mvm->mutex); in iwl_dbgfs_pm_params_write()
187 iwl_dbgfs_update_pm(mvm, vif, param, val); in iwl_dbgfs_pm_params_write()
188 ret = iwl_mvm_power_update_mac(mvm); in iwl_dbgfs_pm_params_write()
189 mutex_unlock(&mvm->mutex); in iwl_dbgfs_pm_params_write()
215 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_pm_params_read() local
220 pos = iwl_mvm_power_mac_dbgfs_read(mvm, vif, buf, bufsz); in iwl_dbgfs_pm_params_read()
231 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_mac_params_read() local
239 mutex_lock(&mvm->mutex); in iwl_dbgfs_mac_params_read()
284 sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[ap_sta_id], in iwl_dbgfs_mac_params_read()
285 lockdep_is_held(&mvm->mutex)); in iwl_dbgfs_mac_params_read()
305 mutex_unlock(&mvm->mutex); in iwl_dbgfs_mac_params_read()
359 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_bf_params_write() local
441 mutex_lock(&mvm->mutex); in iwl_dbgfs_bf_params_write()
444 ret = iwl_mvm_disable_beacon_filter(mvm, vif, 0); in iwl_dbgfs_bf_params_write()
446 ret = iwl_mvm_enable_beacon_filter(mvm, vif, 0); in iwl_dbgfs_bf_params_write()
447 mutex_unlock(&mvm->mutex); in iwl_dbgfs_bf_params_write()
513 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_tof_enable_write() local
518 mutex_lock(&mvm->mutex); in iwl_dbgfs_tof_enable_write()
524 mvm->tof_data.tof_cfg.tof_disabled = value; in iwl_dbgfs_tof_enable_write()
532 mvm->tof_data.tof_cfg.one_sided_disabled = value; in iwl_dbgfs_tof_enable_write()
540 mvm->tof_data.tof_cfg.is_debug_mode = value; in iwl_dbgfs_tof_enable_write()
548 mvm->tof_data.tof_cfg.is_buf_required = value; in iwl_dbgfs_tof_enable_write()
556 ret = iwl_mvm_tof_config_cmd(mvm); in iwl_dbgfs_tof_enable_write()
562 mutex_unlock(&mvm->mutex); in iwl_dbgfs_tof_enable_write()
573 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_tof_enable_read() local
579 cmd = &mvm->tof_data.tof_cfg; in iwl_dbgfs_tof_enable_read()
581 mutex_lock(&mvm->mutex); in iwl_dbgfs_tof_enable_read()
592 mutex_unlock(&mvm->mutex); in iwl_dbgfs_tof_enable_read()
602 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_tof_responder_params_write() local
607 mutex_lock(&mvm->mutex); in iwl_dbgfs_tof_responder_params_write()
613 mvm->tof_data.responder_cfg.burst_period = in iwl_dbgfs_tof_responder_params_write()
622 mvm->tof_data.responder_cfg.min_delta_ftm = value; in iwl_dbgfs_tof_responder_params_write()
630 mvm->tof_data.responder_cfg.burst_duration = value; in iwl_dbgfs_tof_responder_params_write()
638 mvm->tof_data.responder_cfg.num_of_burst_exp = value; in iwl_dbgfs_tof_responder_params_write()
646 mvm->tof_data.responder_cfg.abort_responder = value; in iwl_dbgfs_tof_responder_params_write()
654 mvm->tof_data.responder_cfg.get_ch_est = value; in iwl_dbgfs_tof_responder_params_write()
662 mvm->tof_data.responder_cfg.recv_sta_req_params = value; in iwl_dbgfs_tof_responder_params_write()
670 mvm->tof_data.responder_cfg.channel_num = value; in iwl_dbgfs_tof_responder_params_write()
678 mvm->tof_data.responder_cfg.bandwidth = value; in iwl_dbgfs_tof_responder_params_write()
686 mvm->tof_data.responder_cfg.rate = value; in iwl_dbgfs_tof_responder_params_write()
692 u8 *mac = mvm->tof_data.responder_cfg.bssid; in iwl_dbgfs_tof_responder_params_write()
704 mvm->tof_data.responder_cfg.tsf_timer_offset_msecs = in iwl_dbgfs_tof_responder_params_write()
713 mvm->tof_data.responder_cfg.toa_offset = in iwl_dbgfs_tof_responder_params_write()
721 &mvm->tof_data.responder_cfg; in iwl_dbgfs_tof_responder_params_write()
749 mvm->tof_data.responder_cfg.ftm_per_burst = value; in iwl_dbgfs_tof_responder_params_write()
757 mvm->tof_data.responder_cfg.ftm_resp_ts_avail = value; in iwl_dbgfs_tof_responder_params_write()
765 mvm->tof_data.responder_cfg.asap_mode = value; in iwl_dbgfs_tof_responder_params_write()
773 ret = iwl_mvm_tof_responder_cmd(mvm, vif); in iwl_dbgfs_tof_responder_params_write()
779 mutex_unlock(&mvm->mutex); in iwl_dbgfs_tof_responder_params_write()
790 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_tof_responder_params_read() local
796 cmd = &mvm->tof_data.responder_cfg; in iwl_dbgfs_tof_responder_params_read()
798 mutex_lock(&mvm->mutex); in iwl_dbgfs_tof_responder_params_read()
835 mutex_unlock(&mvm->mutex); in iwl_dbgfs_tof_responder_params_read()
845 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_tof_range_request_write() local
850 mutex_lock(&mvm->mutex); in iwl_dbgfs_tof_range_request_write()
856 mvm->tof_data.range_req.request_id = value; in iwl_dbgfs_tof_range_request_write()
864 mvm->tof_data.range_req.initiator = value; in iwl_dbgfs_tof_range_request_write()
872 mvm->tof_data.range_req.one_sided_los_disable = value; in iwl_dbgfs_tof_range_request_write()
880 mvm->tof_data.range_req.req_timeout = value; in iwl_dbgfs_tof_range_request_write()
888 mvm->tof_data.range_req.report_policy = value; in iwl_dbgfs_tof_range_request_write()
896 mvm->tof_data.range_req.macaddr_random = value; in iwl_dbgfs_tof_range_request_write()
904 mvm->tof_data.range_req.num_of_ap = value; in iwl_dbgfs_tof_range_request_write()
916 memcpy(mvm->tof_data.range_req.macaddr_template, mac, ETH_ALEN); in iwl_dbgfs_tof_range_request_write()
928 memcpy(mvm->tof_data.range_req.macaddr_mask, mac, ETH_ALEN); in iwl_dbgfs_tof_range_request_write()
957 IWL_ERR(mvm, "Invalid AP index %d\n", i); in iwl_dbgfs_tof_range_request_write()
964 memcpy(&mvm->tof_data.range_req.ap[i], &ap, size); in iwl_dbgfs_tof_range_request_write()
972 ret = iwl_mvm_tof_range_request_cmd(mvm, vif); in iwl_dbgfs_tof_range_request_write()
978 mutex_unlock(&mvm->mutex); in iwl_dbgfs_tof_range_request_write()
988 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_tof_range_request_read() local
995 cmd = &mvm->tof_data.range_req; in iwl_dbgfs_tof_range_request_read()
997 mutex_lock(&mvm->mutex); in iwl_dbgfs_tof_range_request_read()
1037 mutex_unlock(&mvm->mutex); in iwl_dbgfs_tof_range_request_read()
1047 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_tof_range_req_ext_write() local
1052 mutex_lock(&mvm->mutex); in iwl_dbgfs_tof_range_req_ext_write()
1058 mvm->tof_data.range_req_ext.tsf_timer_offset_msec = in iwl_dbgfs_tof_range_req_ext_write()
1067 mvm->tof_data.range_req_ext.min_delta_ftm = value; in iwl_dbgfs_tof_range_req_ext_write()
1075 mvm->tof_data.range_req_ext.ftm_format_and_bw20M = in iwl_dbgfs_tof_range_req_ext_write()
1084 mvm->tof_data.range_req_ext.ftm_format_and_bw40M = in iwl_dbgfs_tof_range_req_ext_write()
1093 mvm->tof_data.range_req_ext.ftm_format_and_bw80M = in iwl_dbgfs_tof_range_req_ext_write()
1102 ret = iwl_mvm_tof_range_request_ext_cmd(mvm, vif); in iwl_dbgfs_tof_range_req_ext_write()
1108 mutex_unlock(&mvm->mutex); in iwl_dbgfs_tof_range_req_ext_write()
1118 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_tof_range_req_ext_read() local
1124 cmd = &mvm->tof_data.range_req_ext; in iwl_dbgfs_tof_range_req_ext_read()
1126 mutex_lock(&mvm->mutex); in iwl_dbgfs_tof_range_req_ext_read()
1143 mutex_unlock(&mvm->mutex); in iwl_dbgfs_tof_range_req_ext_read()
1152 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_tof_range_abort_write() local
1157 mutex_lock(&mvm->mutex); in iwl_dbgfs_tof_range_abort_write()
1163 mvm->tof_data.last_abort_id = value; in iwl_dbgfs_tof_range_abort_write()
1171 abort_id = mvm->tof_data.last_abort_id; in iwl_dbgfs_tof_range_abort_write()
1172 ret = iwl_mvm_tof_range_abort_cmd(mvm, abort_id); in iwl_dbgfs_tof_range_abort_write()
1178 mutex_unlock(&mvm->mutex); in iwl_dbgfs_tof_range_abort_write()
1188 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_tof_range_abort_read() local
1194 mutex_lock(&mvm->mutex); in iwl_dbgfs_tof_range_abort_read()
1195 last_abort_id = mvm->tof_data.last_abort_id; in iwl_dbgfs_tof_range_abort_read()
1196 mutex_unlock(&mvm->mutex); in iwl_dbgfs_tof_range_abort_read()
1209 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_tof_range_response_read() local
1220 mutex_lock(&mvm->mutex); in iwl_dbgfs_tof_range_response_read()
1221 cmd = &mvm->tof_data.range_resp; in iwl_dbgfs_tof_range_response_read()
1246 mutex_unlock(&mvm->mutex); in iwl_dbgfs_tof_range_response_read()
1257 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_low_latency_write() local
1267 mutex_lock(&mvm->mutex); in iwl_dbgfs_low_latency_write()
1268 iwl_mvm_update_low_latency(mvm, vif, value); in iwl_dbgfs_low_latency_write()
1269 mutex_unlock(&mvm->mutex); in iwl_dbgfs_low_latency_write()
1305 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_uapsd_misbehaving_write() local
1308 mutex_lock(&mvm->mutex); in iwl_dbgfs_uapsd_misbehaving_write()
1310 mutex_unlock(&mvm->mutex); in iwl_dbgfs_uapsd_misbehaving_write()
1319 struct iwl_mvm *mvm = mvmvif->mvm; in iwl_dbgfs_rx_phyinfo_write() local
1329 mutex_lock(&mvm->mutex); in iwl_dbgfs_rx_phyinfo_write()
1336 mutex_unlock(&mvm->mutex); in iwl_dbgfs_rx_phyinfo_write()
1340 phy_ctxt = &mvm->phy_ctxts[*(u16 *)chanctx_conf->drv_priv]; in iwl_dbgfs_rx_phyinfo_write()
1343 mvm->dbgfs_rx_phyinfo = value; in iwl_dbgfs_rx_phyinfo_write()
1345 ret = iwl_mvm_phy_ctxt_changed(mvm, phy_ctxt, &chanctx_conf->min_def, in iwl_dbgfs_rx_phyinfo_write()
1348 mutex_unlock(&mvm->mutex); in iwl_dbgfs_rx_phyinfo_write()
1361 snprintf(buf, sizeof(buf), "0x%04x\n", mvmvif->mvm->dbgfs_rx_phyinfo); in iwl_dbgfs_rx_phyinfo_read()
1390 void iwl_mvm_vif_dbgfs_register(struct iwl_mvm *mvm, struct ieee80211_vif *vif) in iwl_mvm_vif_dbgfs_register() argument
1406 IWL_ERR(mvm, "Failed to create debugfs directory under %s\n", in iwl_mvm_vif_dbgfs_register()
1414 mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_BSS_P2P_PS_DCM))) in iwl_mvm_vif_dbgfs_register()
1428 mvmvif == mvm->bf_allowed_vif) in iwl_mvm_vif_dbgfs_register()
1432 if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_TOF_SUPPORT) && in iwl_mvm_vif_dbgfs_register()
1465 mvm->debugfs_dir, buf); in iwl_mvm_vif_dbgfs_register()
1467 IWL_ERR(mvm, "Can't create debugfs symbolic link under %s\n", in iwl_mvm_vif_dbgfs_register()
1471 IWL_ERR(mvm, "Can't create debugfs entity\n"); in iwl_mvm_vif_dbgfs_register()
1474 void iwl_mvm_vif_dbgfs_clean(struct iwl_mvm *mvm, struct ieee80211_vif *vif) in iwl_mvm_vif_dbgfs_clean() argument