Lines Matching full:data

26 	const u8 data[];  member
33 void *data; in iwl_uefi_get_variable() local
41 /* first call with NULL data to get the exact entry size */ in iwl_uefi_get_variable()
47 data = kmalloc(*data_size, GFP_KERNEL); in iwl_uefi_get_variable()
48 if (!data) in iwl_uefi_get_variable()
51 status = efi.get_variable(name, guid, NULL, data_size, data); in iwl_uefi_get_variable()
53 kfree(data); in iwl_uefi_get_variable()
57 return data; in iwl_uefi_get_variable()
63 void *data; in iwl_uefi_get_pnvm() local
67 data = iwl_uefi_get_variable(IWL_UEFI_OEM_PNVM_NAME, &IWL_EFI_WIFI_GUID, in iwl_uefi_get_pnvm()
69 if (IS_ERR(data)) { in iwl_uefi_get_pnvm()
72 PTR_ERR(data), package_size); in iwl_uefi_get_pnvm()
73 return data; in iwl_uefi_get_pnvm()
79 return data; in iwl_uefi_get_pnvm()
130 int iwl_uefi_handle_tlv_mem_desc(struct iwl_trans *trans, const u8 *data, in iwl_uefi_handle_tlv_mem_desc() argument
133 const struct iwl_uefi_pnvm_mem_desc *desc = (const void *)data; in iwl_uefi_handle_tlv_mem_desc()
157 IWL_DEBUG_FW(trans, "Adding data (size %d)\n", data_len); in iwl_uefi_handle_tlv_mem_desc()
159 pnvm_data->chunks[pnvm_data->n_chunks].data = desc->data; in iwl_uefi_handle_tlv_mem_desc()
167 const u8 *data, size_t len, in iwl_uefi_reduce_power_section() argument
179 tlv = (const void *)data; in iwl_uefi_reduce_power_section()
190 data += sizeof(*tlv); in iwl_uefi_reduce_power_section()
194 if (iwl_uefi_handle_tlv_mem_desc(trans, data, tlv_len, in iwl_uefi_reduce_power_section()
209 data += ALIGN(tlv_len, 4); in iwl_uefi_reduce_power_section()
221 const u8 *data, size_t len, in iwl_uefi_reduce_power_parse() argument
227 IWL_DEBUG_FW(trans, "Parsing REDUCE_POWER data\n"); in iwl_uefi_reduce_power_parse()
233 tlv = (const void *)data; in iwl_uefi_reduce_power_parse()
246 (const void *)(data + sizeof(*tlv)); in iwl_uefi_reduce_power_parse()
252 le32_to_cpu(tlv_sku_id->data[0]), in iwl_uefi_reduce_power_parse()
253 le32_to_cpu(tlv_sku_id->data[1]), in iwl_uefi_reduce_power_parse()
254 le32_to_cpu(tlv_sku_id->data[2])); in iwl_uefi_reduce_power_parse()
256 data += sizeof(*tlv) + ALIGN(tlv_len, 4); in iwl_uefi_reduce_power_parse()
259 if (sku_id[0] == tlv_sku_id->data[0] && in iwl_uefi_reduce_power_parse()
260 sku_id[1] == tlv_sku_id->data[1] && in iwl_uefi_reduce_power_parse()
261 sku_id[2] == tlv_sku_id->data[2]) { in iwl_uefi_reduce_power_parse()
263 data, len, in iwl_uefi_reduce_power_parse()
271 data += sizeof(*tlv) + ALIGN(tlv_len, 4); in iwl_uefi_reduce_power_parse()
283 u8 *data; in iwl_uefi_get_reduced_power() local
297 data = kmemdup(package->data, *len, GFP_KERNEL); in iwl_uefi_get_reduced_power()
298 if (!data) { in iwl_uefi_get_reduced_power()
305 return data; in iwl_uefi_get_reduced_power()
325 struct uefi_cnv_common_step_data *data; in iwl_uefi_get_step_table() local
331 data = iwl_uefi_get_verified_variable_guid(trans, &IWL_EFI_WIFI_BT_GUID, in iwl_uefi_get_step_table()
333 "STEP", sizeof(*data), NULL); in iwl_uefi_get_step_table()
334 if (IS_ERR(data)) in iwl_uefi_get_step_table()
337 ret = iwl_uefi_step_parse(data, trans); in iwl_uefi_get_step_table()
341 kfree(data); in iwl_uefi_get_step_table()
380 struct uefi_cnv_wlan_sgom_data *data; in iwl_uefi_get_sgom_table() local
386 data = iwl_uefi_get_verified_variable(trans, IWL_UEFI_SGOM_NAME, in iwl_uefi_get_sgom_table()
387 "SGOM", sizeof(*data), NULL); in iwl_uefi_get_sgom_table()
388 if (IS_ERR(data)) in iwl_uefi_get_sgom_table()
391 ret = iwl_uefi_sgom_parse(data, fwrt); in iwl_uefi_get_sgom_table()
395 kfree(data); in iwl_uefi_get_sgom_table()
416 struct uefi_cnv_wlan_uats_data *data; in iwl_uefi_get_uats_table() local
419 data = iwl_uefi_get_verified_variable(trans, IWL_UEFI_UATS_NAME, in iwl_uefi_get_uats_table()
420 "UATS", sizeof(*data), NULL); in iwl_uefi_get_uats_table()
421 if (IS_ERR(data)) in iwl_uefi_get_uats_table()
424 ret = iwl_uefi_uats_parse(data, fwrt); in iwl_uefi_get_uats_table()
427 kfree(data); in iwl_uefi_get_uats_table()
443 struct uefi_cnv_var_wrds *data; in iwl_uefi_get_wrds_table() local
446 data = iwl_uefi_get_verified_variable(fwrt->trans, IWL_UEFI_WRDS_NAME, in iwl_uefi_get_wrds_table()
447 "WRDS", sizeof(*data), NULL); in iwl_uefi_get_wrds_table()
448 if (IS_ERR(data)) in iwl_uefi_get_wrds_table()
451 if (data->revision != IWL_UEFI_WRDS_REVISION) { in iwl_uefi_get_wrds_table()
454 data->revision); in iwl_uefi_get_wrds_table()
461 iwl_uefi_set_sar_profile(fwrt, &data->sar_profile, 0, data->mode); in iwl_uefi_get_wrds_table()
463 kfree(data); in iwl_uefi_get_wrds_table()
469 struct uefi_cnv_var_ewrd *data; in iwl_uefi_get_ewrd_table() local
472 data = iwl_uefi_get_verified_variable(fwrt->trans, IWL_UEFI_EWRD_NAME, in iwl_uefi_get_ewrd_table()
473 "EWRD", sizeof(*data), NULL); in iwl_uefi_get_ewrd_table()
474 if (IS_ERR(data)) in iwl_uefi_get_ewrd_table()
477 if (data->revision != IWL_UEFI_EWRD_REVISION) { in iwl_uefi_get_ewrd_table()
480 data->revision); in iwl_uefi_get_ewrd_table()
484 if (data->num_profiles >= BIOS_SAR_MAX_PROFILE_NUM) { in iwl_uefi_get_ewrd_table()
489 for (i = 0; i < data->num_profiles; i++) in iwl_uefi_get_ewrd_table()
494 iwl_uefi_set_sar_profile(fwrt, &data->sar_profiles[i], i + 1, in iwl_uefi_get_ewrd_table()
495 data->mode); in iwl_uefi_get_ewrd_table()
498 kfree(data); in iwl_uefi_get_ewrd_table()
504 struct uefi_cnv_var_wgds *data; in iwl_uefi_get_wgds_table() local
507 data = iwl_uefi_get_verified_variable(fwrt->trans, IWL_UEFI_WGDS_NAME, in iwl_uefi_get_wgds_table()
508 "WGDS", sizeof(*data), NULL); in iwl_uefi_get_wgds_table()
509 if (IS_ERR(data)) in iwl_uefi_get_wgds_table()
512 if (data->revision != IWL_UEFI_WGDS_REVISION) { in iwl_uefi_get_wgds_table()
515 data->revision); in iwl_uefi_get_wgds_table()
519 if (data->num_profiles < BIOS_GEO_MIN_PROFILE_NUM || in iwl_uefi_get_wgds_table()
520 data->num_profiles > BIOS_GEO_MAX_PROFILE_NUM) { in iwl_uefi_get_wgds_table()
523 data->num_profiles); in iwl_uefi_get_wgds_table()
527 fwrt->geo_rev = data->revision; in iwl_uefi_get_wgds_table()
528 for (i = 0; i < data->num_profiles; i++) in iwl_uefi_get_wgds_table()
529 memcpy(&fwrt->geo_profiles[i], &data->geo_profiles[i], in iwl_uefi_get_wgds_table()
532 fwrt->geo_num_profiles = data->num_profiles; in iwl_uefi_get_wgds_table()
535 kfree(data); in iwl_uefi_get_wgds_table()
541 struct uefi_cnv_var_ppag *data; in iwl_uefi_get_ppag_table() local
544 data = iwl_uefi_get_verified_variable(fwrt->trans, IWL_UEFI_PPAG_NAME, in iwl_uefi_get_ppag_table()
545 "PPAG", sizeof(*data), NULL); in iwl_uefi_get_ppag_table()
546 if (IS_ERR(data)) in iwl_uefi_get_ppag_table()
549 if (data->revision < IWL_UEFI_MIN_PPAG_REV || in iwl_uefi_get_ppag_table()
550 data->revision > IWL_UEFI_MAX_PPAG_REV) { in iwl_uefi_get_ppag_table()
553 data->revision); in iwl_uefi_get_ppag_table()
557 fwrt->ppag_bios_rev = data->revision; in iwl_uefi_get_ppag_table()
558 fwrt->ppag_flags = iwl_bios_get_ppag_flags(data->ppag_modes, in iwl_uefi_get_ppag_table()
561 BUILD_BUG_ON(sizeof(fwrt->ppag_chains) != sizeof(data->ppag_chains)); in iwl_uefi_get_ppag_table()
562 memcpy(&fwrt->ppag_chains, &data->ppag_chains, in iwl_uefi_get_ppag_table()
563 sizeof(data->ppag_chains)); in iwl_uefi_get_ppag_table()
566 kfree(data); in iwl_uefi_get_ppag_table()
626 struct uefi_cnv_var_splc *data; in iwl_uefi_get_pwr_limit() local
629 data = iwl_uefi_get_verified_variable(fwrt->trans, IWL_UEFI_SPLC_NAME, in iwl_uefi_get_pwr_limit()
630 "SPLC", sizeof(*data), NULL); in iwl_uefi_get_pwr_limit()
631 if (IS_ERR(data)) in iwl_uefi_get_pwr_limit()
634 if (data->revision != IWL_UEFI_SPLC_REVISION) { in iwl_uefi_get_pwr_limit()
637 data->revision); in iwl_uefi_get_pwr_limit()
640 *dflt_pwr_limit = data->default_pwr_limit; in iwl_uefi_get_pwr_limit()
642 kfree(data); in iwl_uefi_get_pwr_limit()
648 struct uefi_cnv_var_wrdd *data; in iwl_uefi_get_mcc() local
651 data = iwl_uefi_get_verified_variable(fwrt->trans, IWL_UEFI_WRDD_NAME, in iwl_uefi_get_mcc()
652 "WRDD", sizeof(*data), NULL); in iwl_uefi_get_mcc()
653 if (IS_ERR(data)) in iwl_uefi_get_mcc()
656 if (data->revision != IWL_UEFI_WRDD_REVISION) { in iwl_uefi_get_mcc()
659 data->revision); in iwl_uefi_get_mcc()
663 if (data->mcc != BIOS_MCC_CHINA) { in iwl_uefi_get_mcc()
669 mcc[0] = (data->mcc >> 8) & 0xff; in iwl_uefi_get_mcc()
670 mcc[1] = data->mcc & 0xff; in iwl_uefi_get_mcc()
673 kfree(data); in iwl_uefi_get_mcc()
679 struct uefi_cnv_var_eckv *data; in iwl_uefi_get_eckv() local
682 data = iwl_uefi_get_verified_variable_guid(fwrt->trans, in iwl_uefi_get_eckv()
685 "ECKV", sizeof(*data), NULL); in iwl_uefi_get_eckv()
686 if (IS_ERR(data)) in iwl_uefi_get_eckv()
689 if (data->revision != IWL_UEFI_ECKV_REVISION) { in iwl_uefi_get_eckv()
692 data->revision); in iwl_uefi_get_eckv()
695 *extl_clk = data->ext_clock_valid; in iwl_uefi_get_eckv()
697 kfree(data); in iwl_uefi_get_eckv()
703 struct uefi_cnv_wlan_wbem_data *data; in iwl_uefi_get_wbem() local
706 data = iwl_uefi_get_verified_variable(fwrt->trans, IWL_UEFI_WBEM_NAME, in iwl_uefi_get_wbem()
707 "WBEM", sizeof(*data), NULL); in iwl_uefi_get_wbem()
708 if (IS_ERR(data)) in iwl_uefi_get_wbem()
711 if (data->revision != IWL_UEFI_WBEM_REVISION) { in iwl_uefi_get_wbem()
714 data->revision); in iwl_uefi_get_wbem()
717 *value = data->wbem_320mhz_per_mcc & IWL_UEFI_WBEM_REV0_MASK; in iwl_uefi_get_wbem()
720 kfree(data); in iwl_uefi_get_wbem()
727 struct uefi_cnv_var_general_cfg *data; in iwl_uefi_get_dsm() local
730 BUILD_BUG_ON(ARRAY_SIZE(data->functions) < DSM_FUNC_NUM_FUNCS); in iwl_uefi_get_dsm()
736 data = iwl_uefi_get_verified_variable(fwrt->trans, IWL_UEFI_DSM_NAME, in iwl_uefi_get_dsm()
737 "DSM", sizeof(*data), NULL); in iwl_uefi_get_dsm()
738 if (IS_ERR(data)) in iwl_uefi_get_dsm()
741 if (data->revision != IWL_UEFI_DSM_REVISION) { in iwl_uefi_get_dsm()
743 data->revision); in iwl_uefi_get_dsm()
747 if (!(data->functions[DSM_FUNC_QUERY] & BIT(func))) { in iwl_uefi_get_dsm()
749 func, data->functions[DSM_FUNC_QUERY]); in iwl_uefi_get_dsm()
753 *value = data->functions[func]; in iwl_uefi_get_dsm()
760 kfree(data); in iwl_uefi_get_dsm()
766 struct uefi_cnv_var_puncturing_data *data; in iwl_uefi_get_puncturing() local
772 data = iwl_uefi_get_verified_variable(fwrt->trans, in iwl_uefi_get_puncturing()
775 sizeof(*data), NULL); in iwl_uefi_get_puncturing()
776 if (IS_ERR(data)) in iwl_uefi_get_puncturing()
779 if (data->revision != IWL_UEFI_PUNCTURING_REVISION) { in iwl_uefi_get_puncturing()
781 data->revision); in iwl_uefi_get_puncturing()
783 puncturing = data->puncturing & IWL_UEFI_PUNCTURING_REV0_MASK; in iwl_uefi_get_puncturing()
788 kfree(data); in iwl_uefi_get_puncturing()
795 struct uefi_cnv_wlan_dsbr_data *data; in iwl_uefi_get_dsbr() local
798 data = iwl_uefi_get_verified_variable_guid(fwrt->trans, in iwl_uefi_get_dsbr()
801 sizeof(*data), NULL); in iwl_uefi_get_dsbr()
802 if (IS_ERR(data)) in iwl_uefi_get_dsbr()
805 if (data->revision != IWL_UEFI_DSBR_REVISION) { in iwl_uefi_get_dsbr()
808 data->revision); in iwl_uefi_get_dsbr()
811 *value = data->config; in iwl_uefi_get_dsbr()
815 kfree(data); in iwl_uefi_get_dsbr()
821 struct uefi_cnv_wpfc_data *data __free(kfree); in iwl_uefi_get_phy_filters()
824 data = iwl_uefi_get_verified_variable(fwrt->trans, IWL_UEFI_WPFC_NAME, in iwl_uefi_get_phy_filters()
825 "WPFC", sizeof(*data), NULL); in iwl_uefi_get_phy_filters()
826 if (IS_ERR(data)) in iwl_uefi_get_phy_filters()
829 if (data->revision != 0) { in iwl_uefi_get_phy_filters()
831 data->revision); in iwl_uefi_get_phy_filters()
836 ARRAY_SIZE(data->chains)); in iwl_uefi_get_phy_filters()
839 filters->filter_cfg_chains[i] = cpu_to_le32(data->chains[i]); in iwl_uefi_get_phy_filters()
840 IWL_DEBUG_RADIO(fwrt, "WPFC: chain %d: %u\n", i, data->chains[i]); in iwl_uefi_get_phy_filters()