Aaron Durbin has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/40968 )
Change subject: soc/intel/tigerlake: Clear TBT PCIe root ports BME at exit boot service ......................................................................
Patch Set 6:
(2 comments)
https://review.coreboot.org/c/coreboot/+/40968/6/src/soc/intel/tigerlake/chi... File src/soc/intel/tigerlake/chip.c:
https://review.coreboot.org/c/coreboot/+/40968/6/src/soc/intel/tigerlake/chi... PS6, Line 142: if ((pci_read_config32(dev, CAPID0_A) & VTD_DISABLE))
If Vt-d is enabled with opt_in(bit 2) in DMAR table along with PCIe root ports _DSD property: "ExternalFacingPort", kernel turns IOMMU on. Disabling BME at end of boot stage avoids DMA transaction to download endpoint devices.
My point was that we should be doing this no matter what and deferring to later sw to decide the policy. Keep it restricted until the OS or something else decides to enable it.
https://review.coreboot.org/c/coreboot/+/40968/6/src/soc/intel/tigerlake/chi... PS6, Line 157: clear_tbt_pcie_rp_bme(dev, PCI_DEVICE_ID_INTEL_TGL_TBT_RP3);
After bus scanning (static and generic), pci drivers resource operations (read/set/enable/assign) ar […]
This didn't answer my question or I didn't understand the response. Why would the solution I proposed not work?