From 87213b655eaa09522366f92088f94913024b6ef9 Mon Sep 17 00:00:00 2001 From: Kyösti Mälkki Date: Mon, 27 Aug 2012 20:00:33 +0300 Subject: Fix AMD UMA for RS780 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In commit 6b5eb1cc2d1702ff10cd02249d3d861c094f9118 setup of UMA memory region was moved to happen at a later state and this broke UMA with RS780 southbridge. Share the TOP_MEM and UMA settings before any of the PCI or CPU scanning takes place. Change-Id: I9cae1fc2948cbccede58d099faf1dfe49e9df303 Signed-off-by: Kyösti Mälkki Reviewed-on: http://review.coreboot.org/1488 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc Reviewed-by: Dave Frodin Reviewed-by: Anton Kochkov --- src/northbridge/amd/agesa/family15tn/northbridge.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/northbridge/amd/agesa/family15tn/northbridge.c') diff --git a/src/northbridge/amd/agesa/family15tn/northbridge.c b/src/northbridge/amd/agesa/family15tn/northbridge.c index 063afa9895..5d50b09b88 100644 --- a/src/northbridge/amd/agesa/family15tn/northbridge.c +++ b/src/northbridge/amd/agesa/family15tn/northbridge.c @@ -684,9 +684,6 @@ static void domain_set_resources(device_t dev) u32 reset_memhole = 1; #endif - setup_bsp_ramtop(); - setup_uma_memory(); - #if CONFIG_PCI_64BIT_PREF_MEM for (link = dev->link_list; link; link = link->next) { @@ -1133,6 +1130,16 @@ static struct device_operations cpu_bus_ops = { static void root_complex_enable_dev(struct device *dev) { + static int done = 0; + + /* Do not delay UMA setup, as a device on the PCI bus may evaluate + the global uma_memory variables already in its enable function. */ + if (!done) { + setup_bsp_ramtop(); + setup_uma_memory(); + done = 1; + } + /* Set the operations if it is a special bus type */ if (dev->path.type == DEVICE_PATH_PCI_DOMAIN) { dev->ops = &pci_domain_ops; -- cgit v1.2.3