| /linux/drivers/net/wireless/intel/iwlwifi/fw/ |
| H A D | dump.c | 99 static void iwl_fwrt_dump_umac_error_log(struct iwl_fw_runtime *fwrt) in iwl_fwrt_dump_umac_error_log() argument 101 struct iwl_trans *trans = fwrt->trans; in iwl_fwrt_dump_umac_error_log() 103 u32 base = fwrt->trans->dbg.umac_error_event_table; in iwl_fwrt_dump_umac_error_log() 107 !(fwrt->trans->dbg.error_event_table_tlv_status & in iwl_fwrt_dump_umac_error_log() 114 fwrt->dump.umac_err_id = table.error_id; in iwl_fwrt_dump_umac_error_log() 119 fwrt->trans->status, table.valid); in iwl_fwrt_dump_umac_error_log() 125 IWL_ERR(fwrt, "PNVM data is missing, please install %s\n", in iwl_fwrt_dump_umac_error_log() 129 IWL_ERR(fwrt, "0x%08X | %s\n", table.error_id, in iwl_fwrt_dump_umac_error_log() 131 IWL_ERR(fwrt, "0x%08X | umac interruptlink2\n", table.ilink2); in iwl_fwrt_dump_umac_error_log() 132 IWL_ERR(fwrt, "0x%08X | umac data1\n", table.data1); in iwl_fwrt_dump_umac_error_log() [all …]
|
| H A D | uefi.c | 352 struct iwl_fw_runtime *fwrt) in iwl_uefi_sgom_parse() argument 359 memcpy(fwrt->sgom_table.offset_map, sgom_data->offset_map, in iwl_uefi_sgom_parse() 360 sizeof(fwrt->sgom_table.offset_map)); in iwl_uefi_sgom_parse() 367 u8 value = fwrt->sgom_table.offset_map[i][j]; in iwl_uefi_sgom_parse() 371 if (high > fwrt->geo_num_profiles) in iwl_uefi_sgom_parse() 373 if (low > fwrt->geo_num_profiles) in iwl_uefi_sgom_parse() 375 fwrt->sgom_table.offset_map[i][j] = (high << 4) | low; in iwl_uefi_sgom_parse() 379 fwrt->sgom_enabled = true; in iwl_uefi_sgom_parse() 384 struct iwl_fw_runtime *fwrt) in iwl_uefi_get_sgom_table() argument 389 if (!fwrt->geo_enabled) in iwl_uefi_get_sgom_table() [all …]
|
| H A D | regulatory.c | 15 if (fwrt->uefi_tables_lock_status > UEFI_WIFI_GUID_UNLOCKED) \ 23 int iwl_bios_get_ ## __name(struct iwl_fw_runtime *fwrt) \ 24 {GET_BIOS_TABLE(__name, fwrt); } \ 28 int iwl_bios_get_ ## __name(struct iwl_fw_runtime *fwrt, \ 30 {GET_BIOS_TABLE(__name, fwrt, data); } \ 184 bool iwl_sar_geo_support(struct iwl_fw_runtime *fwrt) in iwl_sar_geo_support() argument 197 return IWL_UCODE_SERIAL(fwrt->fw->ucode_ver) >= 38 || in iwl_sar_geo_support() 198 (IWL_UCODE_SERIAL(fwrt->fw->ucode_ver) == 17 && in iwl_sar_geo_support() 199 fwrt->trans->info.hw_rev != CSR_HW_REV_TYPE_3160) || in iwl_sar_geo_support() 200 (IWL_UCODE_SERIAL(fwrt->fw->ucode_ver) == 29 && in iwl_sar_geo_support() [all …]
|
| H A D | smem.c | 12 static void iwl_parse_shared_mem_22000(struct iwl_fw_runtime *fwrt, in iwl_parse_shared_mem_22000() argument 20 if (IWL_FW_CHECK(fwrt, iwl_rx_packet_payload_len(pkt) < in iwl_parse_shared_mem_22000() 26 api_ver = iwl_fw_lookup_notif_ver(fwrt->fw, SYSTEM_GROUP, in iwl_parse_shared_mem_22000() 30 if (IWL_FW_CHECK(fwrt, lmac_num > ARRAY_SIZE(fwrt->smem_cfg.lmac), in iwl_parse_shared_mem_22000() 34 fwrt->smem_cfg.num_lmacs = lmac_num; in iwl_parse_shared_mem_22000() 35 fwrt->smem_cfg.num_txfifo_entries = in iwl_parse_shared_mem_22000() 37 fwrt->smem_cfg.rxfifo2_size = le32_to_cpu(mem_cfg->rxfifo2_size); in iwl_parse_shared_mem_22000() 40 !IWL_FW_CHECK(fwrt, iwl_rx_packet_payload_len(pkt) < sizeof(*mem_cfg), in iwl_parse_shared_mem_22000() 42 fwrt->smem_cfg.rxfifo2_control_size = in iwl_parse_shared_mem_22000() 51 fwrt->smem_cfg.lmac[lmac].txfifo_size[i] = in iwl_parse_shared_mem_22000() [all …]
|
| H A D | acpi.c | 165 static int iwl_acpi_load_dsm_values(struct iwl_fw_runtime *fwrt) in iwl_acpi_load_dsm_values() argument 172 ret = iwl_acpi_get_dsm_integer(fwrt->dev, ACPI_DSM_REV, in iwl_acpi_load_dsm_values() 178 IWL_DEBUG_RADIO(fwrt, "ACPI QUERY FUNC not valid: %d\n", ret); in iwl_acpi_load_dsm_values() 182 fwrt->dsm_revision = ACPI_DSM_REV; in iwl_acpi_load_dsm_values() 183 fwrt->dsm_source = BIOS_SOURCE_ACPI; in iwl_acpi_load_dsm_values() 184 fwrt->dsm_values[DSM_FUNC_QUERY] = (u32)query_func_val; in iwl_acpi_load_dsm_values() 186 IWL_DEBUG_RADIO(fwrt, "ACPI DSM validity bitmap 0x%x\n", in iwl_acpi_load_dsm_values() 190 for (int func = 1; func < ARRAY_SIZE(fwrt->dsm_values); func++) { in iwl_acpi_load_dsm_values() 195 IWL_DEBUG_RADIO(fwrt, in iwl_acpi_load_dsm_values() 209 ret = iwl_acpi_get_dsm_integer(fwrt->dev, ACPI_DSM_REV, func, in iwl_acpi_load_dsm_values() [all …]
|
| H A D | acpi.h | 163 int iwl_acpi_get_mcc(struct iwl_fw_runtime *fwrt, char *mcc); 165 int iwl_acpi_get_pwr_limit(struct iwl_fw_runtime *fwrt, u64 *dflt_pwr_limit); 176 int iwl_acpi_get_eckv(struct iwl_fw_runtime *fwrt, u32 *extl_clk); 178 int iwl_acpi_get_wrds_table(struct iwl_fw_runtime *fwrt); 180 int iwl_acpi_get_ewrd_table(struct iwl_fw_runtime *fwrt); 182 int iwl_acpi_get_wgds_table(struct iwl_fw_runtime *fwrt); 184 int iwl_acpi_get_tas_table(struct iwl_fw_runtime *fwrt, 187 int iwl_acpi_get_ppag_table(struct iwl_fw_runtime *fwrt); 189 int iwl_acpi_get_phy_filters(struct iwl_fw_runtime *fwrt); 191 void iwl_acpi_get_guid_lock_status(struct iwl_fw_runtime *fwrt); [all …]
|
| H A D | uefi.h | 331 int iwl_uefi_get_wrds_table(struct iwl_fw_runtime *fwrt); 332 int iwl_uefi_get_ewrd_table(struct iwl_fw_runtime *fwrt); 333 int iwl_uefi_get_wgds_table(struct iwl_fw_runtime *fwrt); 334 int iwl_uefi_get_ppag_table(struct iwl_fw_runtime *fwrt); 335 int iwl_uefi_get_tas_table(struct iwl_fw_runtime *fwrt, 337 int iwl_uefi_get_pwr_limit(struct iwl_fw_runtime *fwrt, 339 int iwl_uefi_get_mcc(struct iwl_fw_runtime *fwrt, char *mcc); 340 int iwl_uefi_get_eckv(struct iwl_fw_runtime *fwrt, u32 *extl_clk); 341 int iwl_uefi_get_wbem(struct iwl_fw_runtime *fwrt, u32 *value); 342 int iwl_uefi_get_dsm(struct iwl_fw_runtime *fwrt, enum iwl_dsm_funcs func, [all …]
|
| H A D | regulatory.h | 177 bool iwl_rfi_is_enabled_in_bios(struct iwl_fw_runtime *fwrt); 186 void iwl_bios_print_ppag(struct iwl_fw_runtime *fwrt, int n_subbands); 188 bool iwl_sar_geo_support(struct iwl_fw_runtime *fwrt); 190 int iwl_sar_geo_fill_table(struct iwl_fw_runtime *fwrt, 194 int iwl_sar_fill_profile(struct iwl_fw_runtime *fwrt, 198 bool iwl_is_ppag_approved(struct iwl_fw_runtime *fwrt); 206 int iwl_bios_get_wrds_table(struct iwl_fw_runtime *fwrt); 208 int iwl_bios_get_ewrd_table(struct iwl_fw_runtime *fwrt); 210 int iwl_bios_get_wgds_table(struct iwl_fw_runtime *fwrt); 212 int iwl_bios_get_ppag_table(struct iwl_fw_runtime *fwrt); [all …]
|
| H A D | runtime.h | 242 void iwl_fw_runtime_init(struct iwl_fw_runtime *fwrt, struct iwl_trans *trans, 249 static inline void iwl_fw_runtime_free(struct iwl_fw_runtime *fwrt) in iwl_fw_runtime_free() argument 253 kfree(fwrt->dump.d3_debug_data); in iwl_fw_runtime_free() 254 fwrt->dump.d3_debug_data = NULL; in iwl_fw_runtime_free() 256 iwl_dbg_tlv_del_timers(fwrt->trans); in iwl_fw_runtime_free() 258 cancel_delayed_work_sync(&fwrt->dump.wks[i].wk); in iwl_fw_runtime_free() 261 void iwl_fw_runtime_suspend(struct iwl_fw_runtime *fwrt); 263 void iwl_fw_runtime_resume(struct iwl_fw_runtime *fwrt); 265 static inline void iwl_fw_set_current_image(struct iwl_fw_runtime *fwrt, in iwl_fw_set_current_image() argument 268 fwrt->cur_fw_img = cur_fw_img; in iwl_fw_set_current_image() [all …]
|
| H A D | debugfs.h | 10 void iwl_fwrt_dbgfs_register(struct iwl_fw_runtime *fwrt, 14 static inline void iwl_fwrt_dbgfs_register(struct iwl_fw_runtime *fwrt, in iwl_fwrt_dbgfs_register() argument
|
| /linux/drivers/net/wireless/intel/iwlwifi/mld/ |
| H A D | regulatory.c | 40 iwl_acpi_get_guid_lock_status(&mld->fwrt); in iwl_mld_get_bios_tables() 42 ret = iwl_bios_get_ppag_table(&mld->fwrt); in iwl_mld_get_bios_tables() 49 ret = iwl_bios_get_wrds_table(&mld->fwrt); in iwl_mld_get_bios_tables() 59 if (!iwl_bios_get_wgds_table(&mld->fwrt)) { in iwl_mld_get_bios_tables() 69 ret = iwl_bios_get_ewrd_table(&mld->fwrt); in iwl_mld_get_bios_tables() 78 ret = iwl_bios_get_wgds_table(&mld->fwrt); in iwl_mld_get_bios_tables() 86 iwl_uefi_get_uats_table(mld->trans, &mld->fwrt); in iwl_mld_get_bios_tables() 87 iwl_uefi_get_uneb_table(mld->trans, &mld->fwrt); in iwl_mld_get_bios_tables() 89 iwl_bios_get_phy_filters(&mld->fwrt); in iwl_mld_get_bios_tables() 91 iwl_uefi_get_sgom_table(mld->trans, &mld->fwrt); in iwl_mld_get_bios_tables() [all …]
|
| H A D | mld.c | 139 iwl_fw_runtime_init(&mld->fwrt, trans, fw, &iwl_mld_fwrt_ops, mld, in iwl_mld_construct_fw_runtime() 142 iwl_fw_set_current_image(&mld->fwrt, IWL_UCODE_REGULAR); in iwl_mld_construct_fw_runtime() 357 iwl_bios_setup_step(trans, &mld->fwrt); in iwl_mld_configure_trans() 360 if (iwl_bios_get_eckv(&mld->fwrt, &eckv_value)) in iwl_mld_configure_trans() 522 iwl_fw_runtime_free(&mld->fwrt); in iwl_op_mode_mld_stop() 644 mld->fwrt.trans->dbg.restart_required = false; in iwl_mld_restart_nic() 659 iwl_fwrt_dump_error_logs(&mld->fwrt); in iwl_mld_nic_error() 700 iwl_fw_error_collect(&mld->fwrt); in iwl_mld_dump_error() 704 iwl_fw_error_collect(&mld->fwrt); in iwl_mld_dump_error() 726 if (!mld->fw_status.running || !mld->fwrt.trans->dbg.restart_required) in iwl_mld_sw_reset() [all …]
|
| H A D | mcc.c | 152 if (!iwl_puncturing_is_allowed_in_bios(mld->fwrt.bios_puncturing, in iwl_mld_get_regdomain() 245 if (!iwl_bios_get_mcc(&mld->fwrt, mcc)) { in iwl_mld_init_mcc()
|
| H A D | mac80211.c | 604 iwl_dbg_tlv_time_point(&mld->fwrt, IWL_FW_INI_TIME_POINT_POST_INIT, in iwl_mld_mac80211_start() 606 iwl_dbg_tlv_time_point(&mld->fwrt, IWL_FW_INI_TIME_POINT_PERIODIC, in iwl_mld_mac80211_start() 1189 iwl_dbg_tlv_time_point(&mld->fwrt, IWL_FW_INI_TIME_ESR_LINK_UP, in iwl_mld_assign_vif_chanctx() 1273 iwl_dbg_tlv_time_point(&mld->fwrt, in iwl_mld_unassign_vif_chanctx() 2142 iwl_fw_runtime_suspend(&mld->fwrt); in iwl_mld_suspend() 2163 iwl_fw_runtime_resume(&mld->fwrt); in iwl_mld_resume()
|
| H A D | mld.h | 244 struct iwl_fw_runtime fwrt; member
|
| H A D | thermal.c | 429 iwl_bios_get_pwr_limit(&mld->fwrt, &bios_power_budget); in iwl_mld_ctdp_get_max_budget()
|
| /linux/drivers/net/wireless/intel/iwlwifi/ |
| H A D | iwl-dbg-tlv.c | 53 struct iwl_fw_runtime *fwrt; member 549 static int iwl_dbg_tlv_alloc_fragment(struct iwl_fw_runtime *fwrt, in iwl_dbg_tlv_alloc_fragment() argument 566 block = dma_alloc_coherent(fwrt->dev, pages * PAGE_SIZE, in iwl_dbg_tlv_alloc_fragment() 572 IWL_WARN(fwrt, "WRT: Failed to allocate fragment size %lu\n", in iwl_dbg_tlv_alloc_fragment() 588 static int iwl_dbg_tlv_alloc_fragments(struct iwl_fw_runtime *fwrt, in iwl_dbg_tlv_alloc_fragments() argument 600 fw_mon_cfg = &fwrt->trans->dbg.fw_mon_cfg[alloc_id]; in iwl_dbg_tlv_alloc_fragments() 601 fw_mon = &fwrt->trans->dbg.fw_mon_ini[alloc_id]; in iwl_dbg_tlv_alloc_fragments() 618 if (fwrt->trans->mac_cfg->device_family < IWL_DEVICE_FAMILY_AX210) { in iwl_dbg_tlv_alloc_fragments() 622 } else if (fwrt->trans->mac_cfg->device_family < IWL_DEVICE_FAMILY_BZ && in iwl_dbg_tlv_alloc_fragments() 643 IWL_DEBUG_FW(fwrt, in iwl_dbg_tlv_alloc_fragments() [all …]
|
| /linux/drivers/net/wireless/intel/iwlwifi/mvm/ |
| H A D | fw.c | 235 iwl_fwrt_update_fw_versions(&mvm->fwrt, lmac1, umac); in iwl_alive_fn() 292 enum iwl_ucode_type old_type = mvm->fwrt.cur_fw_img; in iwl_mvm_load_ucode_wait_alive() 304 iwl_fw_set_current_image(&mvm->fwrt, ucode_type); in iwl_mvm_load_ucode_wait_alive() 319 iwl_fw_set_current_image(&mvm->fwrt, old_type); in iwl_mvm_load_ucode_wait_alive() 389 iwl_fw_dbg_error_collect(&mvm->fwrt, in iwl_mvm_load_ucode_wait_alive() 392 iwl_fw_set_current_image(&mvm->fwrt, old_type); in iwl_mvm_load_ucode_wait_alive() 398 iwl_fw_set_current_image(&mvm->fwrt, old_type); in iwl_mvm_load_ucode_wait_alive() 411 iwl_fw_set_current_image(&mvm->fwrt, old_type); in iwl_mvm_load_ucode_wait_alive() 436 iwl_fw_set_dbg_rec_on(&mvm->fwrt); in iwl_mvm_load_ucode_wait_alive() 456 *phy_filters = mvm->fwrt.phy_filters; in iwl_mvm_phy_filter_init() [all …]
|
| H A D | ops.c | 122 if (iwl_fw_dbg_is_d3_debug_enabled(&mvm->fwrt)) in iwl_mvm_nic_config() 756 iwl_bios_get_pwr_limit(&mvm->fwrt, &dflt_pwr_limit); in iwl_mvm_min_backoff() 868 iwl_fw_dbg_error_collect(&mvm->fwrt, FW_DBG_TRIGGER_DRIVER); in iwl_mvm_start_get_nvm() 1045 switch (mvm->fwrt.cur_fw_img) { in iwl_mvm_frob_mem() 1160 iwl_fw_flush_dumps(&mvm->fwrt); in iwl_mvm_sap_connected_wk() 1162 iwl_fw_runtime_free(&mvm->fwrt); in iwl_mvm_sap_connected_wk() 1248 iwl_fw_runtime_init(&mvm->fwrt, trans, fw, &iwl_mvm_fwrt_ops, mvm, in iwl_op_mode_mvm_start() 1252 iwl_uefi_get_sgom_table(trans, &mvm->fwrt); in iwl_op_mode_mvm_start() 1254 iwl_bios_setup_step(trans, &mvm->fwrt); in iwl_op_mode_mvm_start() 1338 iwl_fw_set_current_image(&mvm->fwrt, IWL_UCODE_REGULAR); in iwl_op_mode_mvm_start() [all …]
|
| H A D | tx.c | 28 trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, NULL, FW_DBG_TRIGGER_BA); in iwl_mvm_bar_check_trigger() 37 iwl_fw_dbg_collect_trig(&mvm->fwrt, trig, in iwl_mvm_bar_check_trigger() 890 mvm->fwrt.smem_cfg.lmac[lmac].txfifo_size[txf] - 256); in iwl_mvm_max_amsdu_size() 1494 iwl_dbg_tlv_time_point(&mvm->fwrt, in iwl_mvm_tx_status_check_trigger() 1499 trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, NULL, in iwl_mvm_tx_status_check_trigger() 1514 iwl_fw_dbg_collect_trig(&mvm->fwrt, trig, in iwl_mvm_tx_status_check_trigger() 1840 iwl_dbg_tlv_time_point(&mvm->fwrt, in iwl_mvm_rx_tx_cmd_agg_dbg()
|
| H A D | rx.c | 435 trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, in iwl_mvm_rx_rx_mpdu() 447 iwl_fw_dbg_collect_trig(&mvm->fwrt, trig, in iwl_mvm_rx_rx_mpdu() 702 trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, NULL, FW_DBG_TRIGGER_STATS); in iwl_mvm_rx_stats_check_trigger() 717 iwl_fw_dbg_collect_trig(&mvm->fwrt, trig, NULL); in iwl_mvm_rx_stats_check_trigger()
|
| H A D | utils.c | 744 trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, ieee80211_vif_to_wdev(vif), in iwl_mvm_connection_loss() 755 iwl_fw_dbg_collect_trig(&mvm->fwrt, trig, "%s", errmsg); in iwl_mvm_connection_loss() 769 trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, ieee80211_vif_to_wdev(vif), in iwl_mvm_event_frame_timeout_callback() 779 iwl_fw_dbg_collect_trig(&mvm->fwrt, trig, in iwl_mvm_event_frame_timeout_callback()
|
| H A D | d3.c | 1347 iwl_fw_dbg_stop_restart_recording(&mvm->fwrt, NULL, true); in __iwl_mvm_suspend() 1377 iwl_fw_runtime_suspend(&mvm->fwrt); in iwl_mvm_suspend() 3094 iwl_fw_dbg_read_d3_debug_data(&mvm->fwrt); in __iwl_mvm_resume() 3102 iwl_dbg_tlv_time_point(&mvm->fwrt, in __iwl_mvm_resume() 3105 iwl_fw_dbg_collect_desc(&mvm->fwrt, in __iwl_mvm_resume() 3214 iwl_fw_runtime_resume(&mvm->fwrt); in iwl_mvm_resume() 3266 iwl_fw_dbg_read_d3_debug_data(&mvm->fwrt); in iwl_mvm_fast_resume() 3275 iwl_dbg_tlv_time_point(&mvm->fwrt, in iwl_mvm_fast_resume() 3278 iwl_fw_dbg_collect_desc(&mvm->fwrt, in iwl_mvm_fast_resume()
|
| H A D | mac80211.c | 959 iwl_fw_dbg_collect_trig(&(_mvm)->fwrt, _trig, _fmt); \ 970 trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, ieee80211_vif_to_wdev(vif), in iwl_mvm_ampdu_check_trigger() 1162 mvm->fwrt.dump.conf = FW_DBG_INVALID; in iwl_mvm_restart_cleanup() 1240 iwl_dbg_tlv_time_point(&mvm->fwrt, IWL_FW_INI_TIME_POINT_POST_INIT, in __iwl_mvm_mac_start() 1242 iwl_dbg_tlv_time_point(&mvm->fwrt, IWL_FW_INI_TIME_POINT_PERIODIC, in __iwl_mvm_mac_start() 3453 trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, ieee80211_vif_to_wdev(vif), in iwl_mvm_tdls_check_trigger() 3467 iwl_fw_dbg_collect_trig(&mvm->fwrt, trig, in iwl_mvm_tdls_check_trigger() 5471 iwl_fw_dbg_trigger_simple_stop(&mvm->fwrt, in iwl_mvm_pre_channel_switch() 6078 iwl_dbg_tlv_time_point(&mvm->fwrt, in iwl_mvm_event_mlme_callback_ini() 6085 iwl_dbg_tlv_time_point(&mvm->fwrt, in iwl_mvm_event_mlme_callback_ini() [all …]
|
| H A D | time-event.c | 217 iwl_dbg_tlv_time_point(&mvm->fwrt, in iwl_mvm_te_check_disconnect() 273 trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, in iwl_mvm_te_check_trigger() 293 iwl_fw_dbg_collect_trig(&mvm->fwrt, trig, in iwl_mvm_te_check_trigger()
|