Lines Matching refs:fwrt

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); } \
162 bool iwl_sar_geo_support(struct iwl_fw_runtime *fwrt)
175 return IWL_UCODE_SERIAL(fwrt->fw->ucode_ver) >= 38 ||
176 (IWL_UCODE_SERIAL(fwrt->fw->ucode_ver) == 17 &&
177 fwrt->trans->hw_rev != CSR_HW_REV_TYPE_3160) ||
178 (IWL_UCODE_SERIAL(fwrt->fw->ucode_ver) == 29 &&
179 ((fwrt->trans->hw_rev & CSR_HW_REV_TYPE_MSK) ==
184 int iwl_sar_geo_fill_table(struct iwl_fw_runtime *fwrt,
190 if (!fwrt->geo_enabled)
193 if (!iwl_sar_geo_support(fwrt))
202 cpu_to_le16(fwrt->geo_profiles[i].bands[j].max);
204 fwrt->geo_profiles[i].bands[j].chains[0];
206 fwrt->geo_profiles[i].bands[j].chains[1];
207 IWL_DEBUG_RADIO(fwrt,
210 fwrt->geo_profiles[i].bands[j].chains[0],
211 fwrt->geo_profiles[i].bands[j].chains[1],
212 fwrt->geo_profiles[i].bands[j].max);
220 static int iwl_sar_fill_table(struct iwl_fw_runtime *fwrt,
239 prof = &fwrt->sar_profiles[profs[i] - 1];
243 IWL_DEBUG_RADIO(fwrt, "SAR profile %d is disabled.\n",
253 IWL_DEBUG_INFO(fwrt,
256 IWL_DEBUG_RADIO(fwrt, " Chain[%d]:\n", i);
260 IWL_DEBUG_RADIO(fwrt, " Band[%d] = %d * .125dBm\n",
268 int iwl_sar_fill_profile(struct iwl_fw_runtime *fwrt,
275 ret = iwl_sar_fill_table(fwrt,
286 static bool iwl_ppag_value_valid(struct iwl_fw_runtime *fwrt, int chain,
289 s8 ppag_val = fwrt->ppag_chains[chain].subbands[subband];
295 IWL_DEBUG_RADIO(fwrt, "Invalid PPAG value: %d\n", ppag_val);
301 int iwl_fill_ppag_table(struct iwl_fw_runtime *fwrt,
310 if (CSR_HW_RFID_TYPE(fwrt->trans->hw_rf_id) ==
314 if (!fw_has_capa(&fwrt->fw->ucode_capa, IWL_UCODE_TLV_CAPA_SET_PPAG)) {
315 IWL_DEBUG_RADIO(fwrt,
320 cmd_ver = iwl_fw_lookup_cmd_ver(fwrt->fw,
330 if (!send_ppag_always && !fwrt->ppag_flags) {
331 IWL_DEBUG_RADIO(fwrt, "PPAG not enabled, command not sent.\n");
338 cmd->v1.flags = cpu_to_le32(fwrt->ppag_flags);
340 IWL_DEBUG_RADIO(fwrt, "PPAG cmd ver is %d\n", cmd_ver);
345 if (fwrt->ppag_ver >= 1) {
347 IWL_DEBUG_RADIO(fwrt,
349 fwrt->ppag_ver);
355 if (fwrt->ppag_ver == 0) {
357 IWL_DEBUG_RADIO(fwrt,
361 IWL_DEBUG_RADIO(fwrt, "Unsupported PPAG command version\n");
366 IWL_DEBUG_RADIO(fwrt,
376 !fw_has_capa(&fwrt->fw->ucode_capa,
378 (cmd_ver == 2 && fwrt->ppag_ver >= 2)) {
380 IWL_DEBUG_RADIO(fwrt, "masking ppag China bit\n");
382 IWL_DEBUG_RADIO(fwrt, "isn't masking ppag China bit\n");
385 IWL_DEBUG_RADIO(fwrt,
392 !iwl_ppag_value_valid(fwrt, i, j))
396 fwrt->ppag_chains[i].subbands[j];
397 IWL_DEBUG_RADIO(fwrt,
407 bool iwl_is_ppag_approved(struct iwl_fw_runtime *fwrt)
410 IWL_DEBUG_RADIO(fwrt,
413 fwrt->ppag_flags = 0;
427 int iwl_parse_tas_selection(struct iwl_fw_runtime *fwrt,
437 IWL_DEBUG_RADIO(fwrt, "TAS selection as read from BIOS: 0x%x\n",
447 static __le32 iwl_get_lari_config_bitmap(struct iwl_fw_runtime *fwrt)
453 switch (CSR_HW_RFID_TYPE(fwrt->trans->hw_rf_id)) {
458 ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_ENABLE_INDONESIA_5G2,
469 ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_DISABLE_SRD, &val);
479 if (fw_has_capa(&fwrt->fw->ucode_capa,
481 ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_REGULATORY_CONFIG,
530 int iwl_fill_lari_config(struct iwl_fw_runtime *fwrt,
536 u8 cmd_ver = iwl_fw_lookup_cmd_ver(fwrt->fw,
543 cmd->config_bitmap = iwl_get_lari_config_bitmap(fwrt);
545 ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_11AX_ENABLEMENT, &value);
549 ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_ENABLE_UNII4_CHAN, &value);
559 ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_ACTIVATE_CHANNEL, &value);
566 ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_ENABLE_6E, &value);
570 ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_FORCE_DISABLE_CHANNELS, &value);
574 ret = iwl_bios_get_dsm(fwrt, DSM_FUNC_ENERGY_DETECTION_THRESHOLD,
579 ret = iwl_bios_get_wbem(fwrt, &value);
591 IWL_DEBUG_RADIO(fwrt,
595 IWL_DEBUG_RADIO(fwrt,
600 IWL_DEBUG_RADIO(fwrt,
604 IWL_DEBUG_RADIO(fwrt,
616 int iwl_bios_get_dsm(struct iwl_fw_runtime *fwrt, enum iwl_dsm_funcs func,
619 GET_BIOS_TABLE(dsm, fwrt, func, value);