mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 10:33:41 +02:00
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:
parent
07c82a4e5b
commit
5971e08b13
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user