aboutsummaryrefslogtreecommitdiff
path: root/src/northbridge/intel/x4x/early_init.c
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2016-06-18 21:52:30 +0200
committerPatrick Georgi <pgeorgi@google.com>2016-08-09 10:43:03 +0200
commiteff0c6a99d5bbd57129c710033e7d0b5d5a684a7 (patch)
tree674e30d42576c07ad046ed44422bc7ce078b6f0f /src/northbridge/intel/x4x/early_init.c
parent27f94eea6cf142a2bf92db96a6ae64cb380d78ca (diff)
x4x: make preallocated IGD memory a cmos option
This allows to set the preallocated memory for the IGD on x4x using a cmos option. If no cmos option is found a default value of 64M is used. TESTED most options on ga-g41m-es2l with 2G dimm in one slot and 2x2G. 352M also works in contrast with gm45 where it is known to cause issues with certain ram combinations. Change-Id: I9051d080be82f6dfab37d353252e29b2ed1fca7f Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/15492 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'src/northbridge/intel/x4x/early_init.c')
-rw-r--r--src/northbridge/intel/x4x/early_init.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/northbridge/intel/x4x/early_init.c b/src/northbridge/intel/x4x/early_init.c
index b52229367f..a430538718 100644
--- a/src/northbridge/intel/x4x/early_init.c
+++ b/src/northbridge/intel/x4x/early_init.c
@@ -18,6 +18,7 @@
#include <arch/io.h>
#include "iomap.h"
#include <southbridge/intel/i82801gx/i82801gx.h> /* DEFAULT_PMBASE */
+#include <pc80/mc146818rtc.h>
#include "x4x.h"
void x4x_early_init(void)
@@ -51,5 +52,12 @@ void x4x_early_init(void)
/* Enable internal GFX */
pci_write_config32(d0f0, D0F0_DEVEN, BOARD_DEVEN);
- pci_write_config16(d0f0, D0F0_GGC, 0x0170);
+ /* Set preallocated IGD size from cmos */
+ u8 gfxsize;
+
+ if (get_option(&gfxsize, "gfx_uma_size") != CB_SUCCESS) {
+ /* 6 for 64MB, default if not set in cmos */
+ gfxsize = 6;
+ }
+ pci_write_config16(d0f0, D0F0_GGC, 0x0100 | ((gfxsize + 1) << 4));
}