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>
This commit is contained in:
Arthur Heymans 2016-06-18 21:52:30 +02:00 committed by Patrick Georgi
parent 27f94eea6c
commit eff0c6a99d
1 changed files with 9 additions and 1 deletions

View File

@ -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));
}