Look for actual framebuffer size instead of hardcoding UMA
authorRudolf Marek <r.marek@assembler.cz>
Tue, 17 Aug 2010 06:18:47 +0000 (06:18 +0000)
committerPatrick Georgi <patrick.georgi@coresystems.de>
Tue, 17 Aug 2010 06:18:47 +0000 (06:18 +0000)
Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Acked-by: Marc Jones <marcj303@gmail.com>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5705 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

src/southbridge/amd/rs780/rs780_gfx.c

index 0f493f26d01b04a8d678a826350b3eca6b141751..88cb935de8faf62ea43a6a81e86f5eef09049fc0 100644 (file)
@@ -660,8 +660,10 @@ static void rs780_internal_gfx_enable(device_t dev)
 
        /* Set UMA in the 780 side. */
        /* UMA start address, size. */
-       /* The same value in spite of system memory size. */
-       nbmc_write_index(nb_dev, 0x10, 0xcfffc000);
+       /* The UMA starts at 0xC0000000 of internal RS780 address space
+           [31:16] addr of last byte | [31:16] addr of first byte
+       */
+       nbmc_write_index(nb_dev, 0x10, ((uma_memory_size - 1 + 0xC0000000) & (~0xffff)) | 0xc000);
        nbmc_write_index(nb_dev, 0x11, uma_memory_base);
        nbmc_write_index(nb_dev, 0x12, 0);
        nbmc_write_index(nb_dev, 0xf0, 256);