wifi: iwlwifi: uefi: decouple UEFI and firmware APIs

The APIs in uefi.h are not firmware API files nor are they pure software
objects. They really reflect a specific layout we expect to see in the
UEFI tables.
Since the UEFI objects are encoded into the BIOS, we can't use the same
values for the declaration of the UEFI objects and for the pure software
object like iwl_sar_profile in the firmware runtime object.

Decouple the two types.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20260319110722.db39a64073db.I21486dedb7357570151437cb0211b697e0efb61d@changeid
This commit is contained in:
Emmanuel Grumbach 2026-03-19 11:09:15 +02:00 committed by Miri Korenblit
parent 07c82a4e5b
commit 5971e08b13

View File

@ -76,13 +76,24 @@ struct uefi_cnv_common_step_data {
u8 radio2;
} __packed;
#define UEFI_SAR_MAX_SUB_BANDS_NUM 11
#define UEFI_SAR_MAX_CHAINS_PER_PROFILE 4
/*
* struct uefi_sar_profile_chain - per-chain values of a SAR profile
* @subbands: the SAR value for each subband
*/
struct uefi_sar_profile_chain {
u8 subbands[UEFI_SAR_MAX_SUB_BANDS_NUM];
};
/*
* struct uefi_sar_profile - a SAR profile as defined in UEFI
*
* @chains: a per-chain table of SAR values
*/
struct uefi_sar_profile {
struct iwl_sar_profile_chain chains[BIOS_SAR_MAX_CHAINS_PER_PROFILE];
struct uefi_sar_profile_chain chains[UEFI_SAR_MAX_CHAINS_PER_PROFILE];
} __packed;
/*
@ -125,6 +136,14 @@ struct uefi_cnv_var_wgds {
struct iwl_geo_profile geo_profiles[BIOS_GEO_MAX_PROFILE_NUM];
} __packed;
/*
* struct uefi_ppag_chain - PPAG table for a specific chain
* @subbands: the PPAG values for band
*/
struct uefi_ppag_chain {
s8 subbands[UEFI_SAR_MAX_SUB_BANDS_NUM];
};
/*
* struct uefi_cnv_var_ppag - PPAG table as defined in UEFI
* @revision: the revision of the table
@ -134,7 +153,7 @@ struct uefi_cnv_var_wgds {
struct uefi_cnv_var_ppag {
u8 revision;
u32 ppag_modes;
struct iwl_ppag_chain ppag_chains[IWL_NUM_CHAIN_LIMITS];
struct uefi_ppag_chain ppag_chains[IWL_NUM_CHAIN_LIMITS];
} __packed;
/* struct uefi_cnv_var_wtas - WTAS tabled as defined in UEFI