coreboot/src
Aamir Bohra af343cff76 soc/amd/picasso: Allow end range entry for max device ID in IVRS
Allow hot plug devices to subscribe to IOMMU services. Currently the
IOMMU end range is limited to device B:0 D:1f F:6. This prevents the
devices on bus 1 and higher to subscribe to IOMMU services. As per AMD
IOMMU spec v3 section 5.2.2.1 all possible device IDs must be defined,
whether the device ID is actually populated or not. Device entries are
used to report ranges when hot-plug and SR-IOV devices are possible.
With this change the hot plug devices can now bind to IOMMU services
(as tested on kernel v5.4), and below errors are not seen in dmesg.

AMD-Vi: Event logged [IO_PAGE_FAULT device=04:00.3 domain=0x0000]

AMD-Vi: Event logged [IO_PAGE_FAULT device=05:00.0 domain=0x0000]

AMD-Vi: Event logged [IO_PAGE_FAULT device=04:00.4 domain=0x0000]

TEST= Verify dGPU can enumerate on hotplug. No IO page fault errors seen.
      The hot plug devices can successfully bind to IOMMU services in
      kernel.

Signed-off-by: Aamir Bohra <aamirbohra@gmail.com>
Change-Id: I256c0f8032662674a4d75746de49c250e341c579
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55816
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Reviewed-by: Jason Glenesk <jason.glenesk@amd.corp-partner.google.com>
Reviewed-by: ritul guru <ritul.bits@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-07-06 22:10:10 +00:00
..
acpi ACPI: Refactor use of global and device NVS 2021-06-14 19:45:56 +00:00
arch arch/x86: Use ENV_X86_64 instead of _x86_64_ 2021-07-06 06:09:13 +00:00
commonlib timestamp,vc/google/chromeos/cr50: Add timestamp for enable update 2021-07-05 10:50:06 +00:00
console Asm code: Use NO_EARLY_BOOTBLOCK_POSTCODES to remove Asm port80s 2021-06-25 15:51:20 +00:00
cpu cpu/intel/car/p4: Add x86_64 support 2021-07-06 06:09:37 +00:00
device device: Reflow strings in printk statements 2021-07-05 10:52:19 +00:00
drivers drivers/intel/fsp2: Change FSPS returned message to INFO 2021-07-02 23:12:54 +00:00
ec ec/google: Use EC_HOST_EVENT_NONE 2021-06-30 04:57:16 +00:00
include arch/x86: Use ENV_X86_64 instead of _x86_64_ 2021-07-06 06:09:13 +00:00
lib selfboot: Add support for selfload in romstage 2021-07-02 00:47:23 +00:00
mainboard mb/siemens/mc_ehl: Provide a proper scheme for variants 2021-07-05 10:53:16 +00:00
northbridge nb/intel/x4x: Expose x86_64 support 2021-07-06 06:09:48 +00:00
security vboot: add VBOOT_X86_SHA256_ACCELERATION config 2021-07-01 09:38:19 +00:00
soc soc/amd/picasso: Allow end range entry for max device ID in IVRS 2021-07-06 22:10:10 +00:00
southbridge sb/intel/i82801gx: Prepare for x86_64 2021-07-05 10:49:12 +00:00
superio src: Retype option API to use unsigned integers 2021-05-06 14:48:15 +00:00
vendorcode timestamp,vc/google/chromeos/cr50: Add timestamp for enable update 2021-07-05 10:50:06 +00:00
Kconfig option: Allow mainboards to implement the API 2021-05-28 11:37:25 +00:00