Skip to content

Commit

Permalink
soc/intel/mtl: Set HDA subsystem ID during FSP-M
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
crawfxrd authored and jackpot51 committed May 7, 2024
1 parent 2ff8127 commit 7dbc405
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions src/soc/intel/meteorlake/romstage/fsp_params.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
const struct soc_intel_meteorlake_config *config)
{
Expand All @@ -433,6 +447,7 @@ static void soc_memory_init_params(FSP_M_CONFIG *m_cfg,
fill_fspm_vr_config_params,
fill_fspm_ibecc_params,
fill_fsps_acoustic_params,
fill_fspm_pci_ssid_params,
};

for (size_t i = 0; i < ARRAY_SIZE(fill_fspm_params); i++)
Expand Down

0 comments on commit 7dbc405

Please sign in to comment.