soc/intel/mtl: Set HDA subsystem ID during FSP-M
Intel introduced a new UPD for setting the HDA subsystem ID in FSP-M. Using SiSsidTablePtr in FSP-S no longer works as it will be locked with a default value of 0 by that point. Change-Id: I174f9a5faf7e8dbbb370d7a4c3d6e9107fb59123 Signed-off-by: Tim Crawford <tcrawford@system76.com>
This commit is contained in:
committed by
Jeremy Soller
parent
2ff8127cdf
commit
7dbc4052ed
@@ -409,6 +409,20 @@ static void fill_fsps_acoustic_params(FSP_M_CONFIG *m_cfg,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void fill_fspm_pci_ssid_params(FSP_M_CONFIG *m_cfg,
|
||||||
|
const struct soc_intel_meteorlake_config *config)
|
||||||
|
{
|
||||||
|
const struct device *dev;
|
||||||
|
|
||||||
|
/* FSP moved setting HDA subsystem ID from FSP-S to FSP-M. */
|
||||||
|
dev = pcidev_path_on_root(PCI_DEVFN_HDA);
|
||||||
|
if (dev) {
|
||||||
|
uint32_t ssid = (dev->subsystem_device << 16) |
|
||||||
|
dev->subsystem_vendor;
|
||||||
|
m_cfg->PchHdaSubSystemIds = ssid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void soc_memory_init_params(FSP_M_CONFIG *m_cfg,
|
static void soc_memory_init_params(FSP_M_CONFIG *m_cfg,
|
||||||
const struct soc_intel_meteorlake_config *config)
|
const struct soc_intel_meteorlake_config *config)
|
||||||
{
|
{
|
||||||
@@ -433,6 +447,7 @@ static void soc_memory_init_params(FSP_M_CONFIG *m_cfg,
|
|||||||
fill_fspm_vr_config_params,
|
fill_fspm_vr_config_params,
|
||||||
fill_fspm_ibecc_params,
|
fill_fspm_ibecc_params,
|
||||||
fill_fsps_acoustic_params,
|
fill_fsps_acoustic_params,
|
||||||
|
fill_fspm_pci_ssid_params,
|
||||||
};
|
};
|
||||||
|
|
||||||
for (size_t i = 0; i < ARRAY_SIZE(fill_fspm_params); i++)
|
for (size_t i = 0; i < ARRAY_SIZE(fill_fspm_params); i++)
|
||||||
|
Reference in New Issue
Block a user