Use TOM2 for highest sysmem setting for northbound memory routing (DMA). This fixes...
authorMarc Jones <marcj303@gmail.com>
Tue, 12 Apr 2011 01:12:46 +0000 (01:12 +0000)
committerKerry She <Kerry.She@amd.com>
Tue, 12 Apr 2011 01:12:46 +0000 (01:12 +0000)
Signed-off-by: Marc Jones <marcj303@gmail.com>
Acked-by: Kerry she <kerry.she@amd.com>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6488 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

src/southbridge/amd/rs780/gfx.c

index d7c11e40030773088fb1e30a2b5a014a61944427..973e9c017fbb4736cdbb713163a23ed86e552e0a 100644 (file)
@@ -661,13 +661,15 @@ static void rs780_internal_gfx_enable(device_t dev)
 
        printk(BIOS_DEBUG, "rs780_internal_gfx_enable dev = 0x%p, nb_dev = 0x%p.\n", dev, nb_dev);
 
-       sysmem = rdmsr(0xc001001a);
-       printk(BIOS_DEBUG, "sysmem = %x_%x\n", sysmem.hi, sysmem.lo);
-
        /* The system top memory in 780. */
+       sysmem = rdmsr(0xc001001a);
+       printk(BIOS_DEBUG, "Sysmem TOM = %x_%x\n", sysmem.hi, sysmem.lo);
        pci_write_config32(nb_dev, 0x90, sysmem.lo);
-       htiu_write_index(nb_dev, 0x30, 0);
-       htiu_write_index(nb_dev, 0x31, 0);
+
+       sysmem = rdmsr(0xc001001D);
+       printk(BIOS_DEBUG, "Sysmem TOM2 = %x_%x\n", sysmem.hi, sysmem.lo);
+       htiu_write_index(nb_dev, 0x31, sysmem.hi);
+       htiu_write_index(nb_dev, 0x30, sysmem.lo | 1);
 
        /* Disable external GFX and enable internal GFX. */
        l_dword = pci_read_config32(nb_dev, 0x8c);