/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ /* * Copyright(c) 2021 Intel Corporation */ #ifndef __iwl_fw_uefi__ #define __iwl_fw_uefi__ #define IWL_UEFI_OEM_PNVM_NAME L"UefiCnvWlanOemSignedPnvm" #define IWL_UEFI_REDUCED_POWER_NAME L"UefiCnvWlanReducedPower" /* * TODO: we have these hardcoded values that the caller must pass, * because reading from the UEFI is not working. To implement this * properly, we have to change iwl_pnvm_get_from_uefi() to call * efivar_entry_size() and return the value to the caller instead. */ #define IWL_HARDCODED_PNVM_SIZE 4096 #define IWL_HARDCODED_REDUCE_POWER_SIZE 32768 struct pnvm_sku_package { u8 rev; u32 total_size; u8 n_skus; u32 reserved[2]; u8 data[]; } __packed; #ifdef CONFIG_EFI void *iwl_uefi_get_pnvm(struct iwl_trans *trans, size_t *len); void *iwl_uefi_get_reduced_power(struct iwl_trans *trans, size_t *len); #else /* CONFIG_EFI */ static inline void *iwl_uefi_get_pnvm(struct iwl_trans *trans, size_t *len) { return ERR_PTR(-EOPNOTSUPP); } static inline void *iwl_uefi_get_reduced_power(struct iwl_trans *trans, size_t *len) { return ERR_PTR(-EOPNOTSUPP); } #endif /* CONFIG_EFI */ #endif /* __iwl_fw_uefi__ */