[coreboot-gerrit] New patch to review for coreboot: 60a86e9 i945: Fix resource bases for UMA and TSEG

Kyösti Mälkki (kyosti.malkki@gmail.com) gerrit at coreboot.org
Sat May 31 15:11:14 CEST 2014


Kyösti Mälkki (kyosti.malkki at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5891

-gerrit

commit 60a86e96a64e55f4608cc3aa3b3a59b9711f7305
Author: Kyösti Mälkki <kyosti.malkki at gmail.com>
Date:   Sat May 31 16:07:14 2014 +0300

    i945: Fix resource bases for UMA and TSEG
    
    TSEG appears in memory below graphics UMA region. Seems boards
    with i945 had TSEG disabled, so the incorrect order did not make
    a difference.
    
    Change-Id: Ie293aab17b60b5f06a871a773cd42577c7dc7c7b
    Signed-off-by: Kyösti Mälkki <kyosti.malkki at gmail.com>
---
 src/northbridge/intel/i945/northbridge.c | 46 ++++++++++++++++----------------
 1 file changed, 23 insertions(+), 23 deletions(-)

diff --git a/src/northbridge/intel/i945/northbridge.c b/src/northbridge/intel/i945/northbridge.c
index f0bffb3..948f5c1 100644
--- a/src/northbridge/intel/i945/northbridge.c
+++ b/src/northbridge/intel/i945/northbridge.c
@@ -106,6 +106,29 @@ static void pci_domain_set_resources(device_t dev)
 	tomk_stolen = tomk;
 
 	/* Note: subtract IGD device and TSEG */
+	reg16 = pci_read_config16(dev_find_slot(0, PCI_DEVFN(0, 0)), GGC);
+	if (!(reg16 & 2)) {
+		int uma_size = 0;
+		printk(BIOS_DEBUG, "IGD decoded, subtracting ");
+		reg16 >>= 4;
+		reg16 &= 7;
+		switch (reg16) {
+		case 1:
+			uma_size = 1024;
+			break;
+		case 3:
+			uma_size = 8192;
+			break;
+		}
+
+		printk(BIOS_DEBUG, "%dM UMA\n", uma_size >> 10);
+		tomk_stolen -= uma_size;
+
+		/* For reserving UMA memory in the memory map */
+		uma_memory_base = tomk_stolen * 1024ULL;
+		uma_memory_size = uma_size * 1024ULL;
+	}
+
 	reg8 = pci_read_config8(dev_find_slot(0, PCI_DEVFN(0, 0)), 0x9e);
 	if (reg8 & 1) {
 		int tseg_size = 0;
@@ -132,29 +155,6 @@ static void pci_domain_set_resources(device_t dev)
 		tseg_memory_size = tseg_size * 1024ULL;
 	}
 
-	reg16 = pci_read_config16(dev_find_slot(0, PCI_DEVFN(0, 0)), GGC);
-	if (!(reg16 & 2)) {
-		int uma_size = 0;
-		printk(BIOS_DEBUG, "IGD decoded, subtracting ");
-		reg16 >>= 4;
-		reg16 &= 7;
-		switch (reg16) {
-		case 1:
-			uma_size = 1024;
-			break;
-		case 3:
-			uma_size = 8192;
-			break;
-		}
-
-		printk(BIOS_DEBUG, "%dM UMA\n", uma_size >> 10);
-		tomk_stolen -= uma_size;
-
-		/* For reserving UMA memory in the memory map */
-		uma_memory_base = tomk_stolen * 1024ULL;
-		uma_memory_size = uma_size * 1024ULL;
-	}
-
 	/* The following needs to be 2 lines, otherwise the second
 	 * number is always 0
 	 */



More information about the coreboot-gerrit mailing list