From patchwork Mon Aug 16 18:49:09 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Fix UMA memory range in RS780/RS785G Date: Mon, 16 Aug 2010 18:49:09 -0000 From: Rudolf Marek X-Patchwork-Id: 1750 Message-Id: <4C698825.3030308@assembler.cz> To: Coreboot Hello, Attached patches fixes a video BIOS freeze with 128MB UMA. It looks like the internal address 0xc0000000 - 0xcfffffff was hardcoded. The change just takes the fb size to account resulting in - 0xc7ffffff for 128MB UMA. Signed-off-by: Rudolf Marek Yes it took some hours to find this out... Thanks, Rudolf Acked-by: Marc Jones Index: src/southbridge/amd/rs780/rs780_gfx.c =================================================================== --- src/southbridge/amd/rs780/rs780_gfx.c (revision 5695) +++ src/southbridge/amd/rs780/rs780_gfx.c (working copy) @@ -660,8 +660,10 @@ /* 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);