aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/skylake/romstage/systemagent.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/skylake/romstage/systemagent.c')
-rw-r--r--src/soc/intel/skylake/romstage/systemagent.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/soc/intel/skylake/romstage/systemagent.c b/src/soc/intel/skylake/romstage/systemagent.c
index bf0d5064e4..e1272a1cb1 100644
--- a/src/soc/intel/skylake/romstage/systemagent.c
+++ b/src/soc/intel/skylake/romstage/systemagent.c
@@ -19,6 +19,7 @@
#include <device/pci_ops.h>
#include <intelblocks/systemagent.h>
#include <soc/iomap.h>
+#include <soc/p2sb.h>
#include <soc/pci_devs.h>
#include <soc/romstage.h>
#include <soc/systemagent.h>
@@ -38,6 +39,10 @@ static void systemagent_vtd_init(void)
if (!vtd_capable)
return;
+ /* Configure P2SB VT-d originators (HPET and IOAPIC) */
+ pci_write_config16(PCH_DEV_P2SB, PCH_P2SB_HBDF, V_DEFAULT_HBDF);
+ pci_write_config16(PCH_DEV_P2SB, PCH_P2SB_IBDF, V_DEFAULT_IBDF);
+
if (igd_dev && igd_dev->enabled)
sa_set_mch_bar(&soc_gfxvt_mmio_descriptor, 1);