Lines Matching refs:fw
110 struct iwl_fw fw; member
175 kfree(drv->fw.dbg_dest_tlv); in iwl_dealloc_ucode()
176 for (i = 0; i < ARRAY_SIZE(drv->fw.dbg_conf_tlv); i++) in iwl_dealloc_ucode()
177 kfree(drv->fw.dbg_conf_tlv[i]); in iwl_dealloc_ucode()
178 for (i = 0; i < ARRAY_SIZE(drv->fw.dbg_trigger_tlv); i++) in iwl_dealloc_ucode()
179 kfree(drv->fw.dbg_trigger_tlv[i]); in iwl_dealloc_ucode()
182 iwl_free_fw_img(drv, drv->fw.img + i); in iwl_dealloc_ucode()
340 static int iwl_store_cscheme(struct iwl_fw *fw, const u8 *data, const u32 len) in iwl_store_cscheme() argument
360 cs = &fw->cs[j++]; in iwl_store_cscheme()
375 static int iwl_store_gscan_capa(struct iwl_fw *fw, const u8 *data, in iwl_store_gscan_capa() argument
379 struct iwl_gscan_capabilities *capa = &fw->gscan_capa; in iwl_store_gscan_capa()
437 drv->fw.default_calib[ucode_type].flow_trigger = in iwl_set_default_calib()
439 drv->fw.default_calib[ucode_type].event_trigger = in iwl_set_default_calib()
498 drv->fw.ucode_ver = le32_to_cpu(ucode->ver); in iwl_parse_v1_v2_firmware()
499 api_ver = IWL_UCODE_API(drv->fw.ucode_ver); in iwl_parse_v1_v2_firmware()
547 snprintf(drv->fw.fw_version, in iwl_parse_v1_v2_firmware()
548 sizeof(drv->fw.fw_version), in iwl_parse_v1_v2_firmware()
550 IWL_UCODE_MAJOR(drv->fw.ucode_ver), in iwl_parse_v1_v2_firmware()
551 IWL_UCODE_MINOR(drv->fw.ucode_ver), in iwl_parse_v1_v2_firmware()
552 IWL_UCODE_API(drv->fw.ucode_ver), in iwl_parse_v1_v2_firmware()
553 IWL_UCODE_SERIAL(drv->fw.ucode_ver), in iwl_parse_v1_v2_firmware()
621 drv->fw.ucode_ver = le32_to_cpu(ucode->ver); in iwl_parse_tlv_firmware()
622 memcpy(drv->fw.human_readable, ucode->human_readable, in iwl_parse_tlv_firmware()
623 sizeof(drv->fw.human_readable)); in iwl_parse_tlv_firmware()
633 snprintf(drv->fw.fw_version, in iwl_parse_tlv_firmware()
634 sizeof(drv->fw.fw_version), in iwl_parse_tlv_firmware()
636 IWL_UCODE_MAJOR(drv->fw.ucode_ver), in iwl_parse_tlv_firmware()
637 IWL_UCODE_MINOR(drv->fw.ucode_ver), in iwl_parse_tlv_firmware()
638 IWL_UCODE_API(drv->fw.ucode_ver), in iwl_parse_tlv_firmware()
639 IWL_UCODE_SERIAL(drv->fw.ucode_ver), in iwl_parse_tlv_firmware()
780 drv->fw.enhance_sensitivity_table = true; in iwl_parse_tlv_firmware()
809 drv->fw.mvm_fw = true; in iwl_parse_tlv_firmware()
814 drv->fw.mvm_fw = true; in iwl_parse_tlv_firmware()
819 drv->fw.mvm_fw = true; in iwl_parse_tlv_firmware()
830 drv->fw.phy_config = le32_to_cpup((__le32 *)tlv_data); in iwl_parse_tlv_firmware()
831 drv->fw.valid_tx_ant = (drv->fw.phy_config & in iwl_parse_tlv_firmware()
834 drv->fw.valid_rx_ant = (drv->fw.phy_config & in iwl_parse_tlv_firmware()
841 drv->fw.mvm_fw = true; in iwl_parse_tlv_firmware()
846 drv->fw.mvm_fw = true; in iwl_parse_tlv_firmware()
851 drv->fw.mvm_fw = true; in iwl_parse_tlv_firmware()
860 drv->fw.img[IWL_UCODE_REGULAR].is_dual_cpus = in iwl_parse_tlv_firmware()
862 drv->fw.img[IWL_UCODE_INIT].is_dual_cpus = in iwl_parse_tlv_firmware()
864 drv->fw.img[IWL_UCODE_WOWLAN].is_dual_cpus = in iwl_parse_tlv_firmware()
872 if (iwl_store_cscheme(&drv->fw, tlv_data, tlv_len)) in iwl_parse_tlv_firmware()
893 snprintf(drv->fw.fw_version, in iwl_parse_tlv_firmware()
894 sizeof(drv->fw.fw_version), "%u.%u.%u", in iwl_parse_tlv_firmware()
911 drv->fw.dbg_dest_reg_num = in iwl_parse_tlv_firmware()
914 drv->fw.dbg_dest_reg_num /= in iwl_parse_tlv_firmware()
915 sizeof(drv->fw.dbg_dest_tlv->reg_ops[0]); in iwl_parse_tlv_firmware()
929 if (conf->id >= ARRAY_SIZE(drv->fw.dbg_conf_tlv)) { in iwl_parse_tlv_firmware()
958 if (trigger_id >= ARRAY_SIZE(drv->fw.dbg_trigger_tlv)) { in iwl_parse_tlv_firmware()
1007 drv->fw.img[IWL_UCODE_REGULAR].paging_mem_size = in iwl_parse_tlv_firmware()
1010 drv->fw.img[usniffer_img].paging_mem_size = in iwl_parse_tlv_firmware()
1016 drv->fw.sdio_adma_addr = in iwl_parse_tlv_firmware()
1020 if (iwl_store_gscan_capa(&drv->fw, tlv_data, tlv_len)) in iwl_parse_tlv_firmware()
1070 if (iwl_alloc_fw_desc(drv, &(drv->fw.img[type].sec[i]), in iwl_alloc_ucode()
1144 op_mode = ops->start(drv->trans, drv->cfg, &drv->fw, dbgfs_dir); in _iwl_op_mode_start()
1179 struct iwl_fw *fw = &drv->fw; in iwl_req_fw_callback() local
1192 fw->ucode_capa.max_probe_length = IWL_DEFAULT_MAX_PROBE_LENGTH; in iwl_req_fw_callback()
1193 fw->ucode_capa.standard_phy_calibration_size = in iwl_req_fw_callback()
1195 fw->ucode_capa.n_scan_channels = IWL_DEFAULT_SCAN_CHANNELS; in iwl_req_fw_callback()
1228 &fw->ucode_capa); in iwl_req_fw_callback()
1233 if (fw_has_api(&drv->fw.ucode_capa, IWL_UCODE_TLV_API_NEW_VERSION)) in iwl_req_fw_callback()
1234 api_ver = drv->fw.ucode_ver; in iwl_req_fw_callback()
1236 api_ver = IWL_UCODE_API(drv->fw.ucode_ver); in iwl_req_fw_callback()
1271 if (!fw->mvm_fw && validate_sec_sizes(drv, pieces, drv->cfg)) in iwl_req_fw_callback()
1284 drv->fw.dbg_dest_tlv = in iwl_req_fw_callback()
1288 drv->fw.dbg_dest_reg_num, GFP_KERNEL); in iwl_req_fw_callback()
1290 if (!drv->fw.dbg_dest_tlv) in iwl_req_fw_callback()
1294 for (i = 0; i < ARRAY_SIZE(drv->fw.dbg_conf_tlv); i++) { in iwl_req_fw_callback()
1296 drv->fw.dbg_conf_tlv_len[i] = in iwl_req_fw_callback()
1298 drv->fw.dbg_conf_tlv[i] = in iwl_req_fw_callback()
1300 drv->fw.dbg_conf_tlv_len[i], in iwl_req_fw_callback()
1302 if (!drv->fw.dbg_conf_tlv[i]) in iwl_req_fw_callback()
1327 for (i = 0; i < ARRAY_SIZE(drv->fw.dbg_trigger_tlv); i++) { in iwl_req_fw_callback()
1340 drv->fw.dbg_trigger_tlv_len[i] = in iwl_req_fw_callback()
1342 drv->fw.dbg_trigger_tlv[i] = in iwl_req_fw_callback()
1344 drv->fw.dbg_trigger_tlv_len[i], in iwl_req_fw_callback()
1346 if (!drv->fw.dbg_trigger_tlv[i]) in iwl_req_fw_callback()
1358 fw->init_evtlog_ptr = pieces->init_evtlog_ptr; in iwl_req_fw_callback()
1360 fw->init_evtlog_size = (pieces->init_evtlog_size - 16)/12; in iwl_req_fw_callback()
1362 fw->init_evtlog_size = in iwl_req_fw_callback()
1364 fw->init_errlog_ptr = pieces->init_errlog_ptr; in iwl_req_fw_callback()
1365 fw->inst_evtlog_ptr = pieces->inst_evtlog_ptr; in iwl_req_fw_callback()
1367 fw->inst_evtlog_size = (pieces->inst_evtlog_size - 16)/12; in iwl_req_fw_callback()
1369 fw->inst_evtlog_size = in iwl_req_fw_callback()
1371 fw->inst_errlog_ptr = pieces->inst_errlog_ptr; in iwl_req_fw_callback()
1377 if (fw->ucode_capa.standard_phy_calibration_size > in iwl_req_fw_callback()
1379 fw->ucode_capa.standard_phy_calibration_size = in iwl_req_fw_callback()
1386 if (fw->mvm_fw) in iwl_req_fw_callback()
1392 drv->fw.fw_version, op->name); in iwl_req_fw_callback()