John Zhao 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: "Ext […]
Disabling BME before handing off to OS is guided for Thunderbolt Vt-d security based platform. The implication seems not necessary to implement it if Vt-d is disabled.
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);
This didn't answer my question or I didn't understand the response. […]
As specified in Thunderbolt implementation guide on Vt-d security based platform, the requirement is to disable BME before handing off to OS. Your proposal through pci driver resource operation is unconditionally implemented at early boot stage. The question arises from the policy of disabling BME as to what, when and where the implementation should be done.