Felix Held has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/79896?usp=email )
Change subject: mb/pcengines/apu2: don't enable IOMMU ......................................................................
mb/pcengines/apu2: don't enable IOMMU
Drop the enabling of the IOMMU device from all variant's devicetrees, since there's something broken with either the IVRS table or possibly the IOMMU itself. This fixes the issue of the Linux kernel stalling for about 20 seconds right after printing 'AMD-Vi: Virtual APIC enabled' and only getting unstuck when the periodic NMI results in a backtrace being printed.
The official APU2 images don't show this bug, but there the IVRS isn't generated by default.
TEST=Disabling the IOMMU which results in no IVRS being generated fixes the bug.
Signed-off-by: Felix Held felix-coreboot@felixheld.de Change-Id: If74a7c64f53903fec0c01a55e1b202e800f02986 --- M src/mainboard/pcengines/apu2/variants/apu2/devicetree.cb M src/mainboard/pcengines/apu2/variants/apu3/devicetree.cb M src/mainboard/pcengines/apu2/variants/apu4/devicetree.cb M src/mainboard/pcengines/apu2/variants/apu5/devicetree.cb 4 files changed, 0 insertions(+), 4 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/96/79896/1
diff --git a/src/mainboard/pcengines/apu2/variants/apu2/devicetree.cb b/src/mainboard/pcengines/apu2/variants/apu2/devicetree.cb index 7725c65..0a8a13c 100644 --- a/src/mainboard/pcengines/apu2/variants/apu2/devicetree.cb +++ b/src/mainboard/pcengines/apu2/variants/apu2/devicetree.cb @@ -3,7 +3,6 @@ chip northbridge/amd/pi/00730F01 device domain 0 on subsystemid 0x1022 0x1410 inherit - device ref iommu on end device ref gpp_bridge_0 on end # mPCIe slot 2 (on GFX lane) device ref gpp_bridge_1 on end # LAN3 device ref gpp_bridge_2 on end # LAN2 diff --git a/src/mainboard/pcengines/apu2/variants/apu3/devicetree.cb b/src/mainboard/pcengines/apu2/variants/apu3/devicetree.cb index 5c16920..72281ec 100644 --- a/src/mainboard/pcengines/apu2/variants/apu3/devicetree.cb +++ b/src/mainboard/pcengines/apu2/variants/apu3/devicetree.cb @@ -3,7 +3,6 @@ chip northbridge/amd/pi/00730F01 device domain 0 on subsystemid 0x1022 0x1410 inherit - device ref iommu on end device ref gpp_bridge_0 on end # mPCIe slot 2 (on GFX lane) device ref gpp_bridge_1 on end # LAN3 device ref gpp_bridge_2 on end # LAN2 diff --git a/src/mainboard/pcengines/apu2/variants/apu4/devicetree.cb b/src/mainboard/pcengines/apu2/variants/apu4/devicetree.cb index 57eebb6..8015cca 100644 --- a/src/mainboard/pcengines/apu2/variants/apu4/devicetree.cb +++ b/src/mainboard/pcengines/apu2/variants/apu4/devicetree.cb @@ -3,7 +3,6 @@ chip northbridge/amd/pi/00730F01 device domain 0 on subsystemid 0x1022 0x1410 inherit - device ref iommu on end device ref gpp_bridge_0 on end # LAN1 device ref gpp_bridge_1 on end # LAN2 device ref gpp_bridge_2 on end # LAN3 diff --git a/src/mainboard/pcengines/apu2/variants/apu5/devicetree.cb b/src/mainboard/pcengines/apu2/variants/apu5/devicetree.cb index 75cc446..41a6b74 100644 --- a/src/mainboard/pcengines/apu2/variants/apu5/devicetree.cb +++ b/src/mainboard/pcengines/apu2/variants/apu5/devicetree.cb @@ -3,7 +3,6 @@ chip northbridge/amd/pi/00730F01 device domain 0 on subsystemid 0x1022 0x1410 inherit - device ref iommu on end device ref gpp_bridge_0 on end # mPCIe slot 2 (on GFX lane) device ref gpp_bridge_1 on end # LAN3 device ref gpp_bridge_2 on end # LAN2