Tim Crawford has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/82731?usp=email )
Change subject: soc/intel/mtl: Set HDA subsystem ID during FSP-M ......................................................................
soc/intel/mtl: Set HDA subsystem ID during FSP-M
Intel introduced a new UPD specifically for setting the HDA subsystem ID in FSM-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: I5e668747d99b955b0a3946524c5918d328b8e1d3 Signed-off-by: Tim Crawford tcrawford@system76.com --- M src/soc/intel/meteorlake/romstage/fsp_params.c 1 file changed, 8 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/31/82731/1
diff --git a/src/soc/intel/meteorlake/romstage/fsp_params.c b/src/soc/intel/meteorlake/romstage/fsp_params.c index 0f44d65..807f9fd 100644 --- a/src/soc/intel/meteorlake/romstage/fsp_params.c +++ b/src/soc/intel/meteorlake/romstage/fsp_params.c @@ -282,6 +282,8 @@ static void fill_fspm_audio_params(FSP_M_CONFIG *m_cfg, const struct soc_intel_meteorlake_config *config) { + const struct device *dev; + /* Audio: HDAUDIO_LINK_MODE I2S/SNDW */ m_cfg->PchHdaEnable = is_devfn_enabled(PCI_DEVFN_HDA); m_cfg->PchHdaDspEnable = config->pch_hda_dsp_enable; @@ -302,6 +304,12 @@ memset(m_cfg->PchHdaAudioLinkDmicEnable, 0, sizeof(m_cfg->PchHdaAudioLinkDmicEnable)); memset(m_cfg->PchHdaAudioLinkSspEnable, 0, sizeof(m_cfg->PchHdaAudioLinkSspEnable)); memset(m_cfg->PchHdaAudioLinkSndwEnable, 0, sizeof(m_cfg->PchHdaAudioLinkSndwEnable)); + + 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 fill_fspm_cnvi_params(FSP_M_CONFIG *m_cfg,