#include "iwl-drv.h"
#include "pnvm.h"
#include "iwl-prph.h"
#include "iwl-io.h"
#include "fw/uefi.h"
#include "fw/api/alive.h"
#include <linux/efi.h>
#include "fw/runtime.h"
#define IWL_EFI_VAR_GUID …
struct iwl_uefi_pnvm_mem_desc { … } __packed;
static void *iwl_uefi_get_variable(efi_char16_t *name, efi_guid_t *guid,
unsigned long *data_size)
{ … }
void *iwl_uefi_get_pnvm(struct iwl_trans *trans, size_t *len)
{ … }
static
void *iwl_uefi_get_verified_variable(struct iwl_trans *trans,
efi_char16_t *uefi_var_name,
char *var_name,
unsigned int expected_size,
unsigned long *size)
{ … }
int iwl_uefi_handle_tlv_mem_desc(struct iwl_trans *trans, const u8 *data,
u32 tlv_len, struct iwl_pnvm_image *pnvm_data)
{ … }
static int iwl_uefi_reduce_power_section(struct iwl_trans *trans,
const u8 *data, size_t len,
struct iwl_pnvm_image *pnvm_data)
{ … }
int iwl_uefi_reduce_power_parse(struct iwl_trans *trans,
const u8 *data, size_t len,
struct iwl_pnvm_image *pnvm_data)
{ … }
u8 *iwl_uefi_get_reduced_power(struct iwl_trans *trans, size_t *len)
{ … }
static int iwl_uefi_step_parse(struct uefi_cnv_common_step_data *common_step_data,
struct iwl_trans *trans)
{ … }
void iwl_uefi_get_step_table(struct iwl_trans *trans)
{ … }
IWL_EXPORT_SYMBOL(iwl_uefi_get_step_table);
static int iwl_uefi_sgom_parse(struct uefi_cnv_wlan_sgom_data *sgom_data,
struct iwl_fw_runtime *fwrt)
{ … }
void iwl_uefi_get_sgom_table(struct iwl_trans *trans,
struct iwl_fw_runtime *fwrt)
{ … }
IWL_EXPORT_SYMBOL(iwl_uefi_get_sgom_table);
static int iwl_uefi_uats_parse(struct uefi_cnv_wlan_uats_data *uats_data,
struct iwl_fw_runtime *fwrt)
{ … }
int iwl_uefi_get_uats_table(struct iwl_trans *trans,
struct iwl_fw_runtime *fwrt)
{ … }
IWL_EXPORT_SYMBOL(iwl_uefi_get_uats_table);
static void iwl_uefi_set_sar_profile(struct iwl_fw_runtime *fwrt,
struct uefi_sar_profile *uefi_sar_prof,
u8 prof_index, bool enabled)
{ … }
int iwl_uefi_get_wrds_table(struct iwl_fw_runtime *fwrt)
{ … }
int iwl_uefi_get_ewrd_table(struct iwl_fw_runtime *fwrt)
{ … }
int iwl_uefi_get_wgds_table(struct iwl_fw_runtime *fwrt)
{ … }
int iwl_uefi_get_ppag_table(struct iwl_fw_runtime *fwrt)
{ … }
int iwl_uefi_get_tas_table(struct iwl_fw_runtime *fwrt,
struct iwl_tas_data *tas_data)
{ … }
int iwl_uefi_get_pwr_limit(struct iwl_fw_runtime *fwrt,
u64 *dflt_pwr_limit)
{ … }
int iwl_uefi_get_mcc(struct iwl_fw_runtime *fwrt, char *mcc)
{ … }
int iwl_uefi_get_eckv(struct iwl_fw_runtime *fwrt, u32 *extl_clk)
{ … }
int iwl_uefi_get_wbem(struct iwl_fw_runtime *fwrt, u32 *value)
{ … }
int iwl_uefi_get_dsm(struct iwl_fw_runtime *fwrt, enum iwl_dsm_funcs func,
u32 *value)
{ … }