diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2016-09-30 21:03:23 +0200 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-10-04 19:03:28 +0200 |
commit | 58afca4a1a09f6bb4c28de460791984002408cdc (patch) | |
tree | bb22452dd274aa18a0e46a05c57644da3b843705 | |
parent | 5e0242b0ec5c44bc684faf4985884ce39d93cdfb (diff) | |
download | coreboot-58afca4a1a09f6bb4c28de460791984002408cdc.tar.xz |
nb/gm45: allow use of 352M preallocated ram for igd
The datasheets on gm45: "Mobile IntelĀ® 4 Series Express Chipset Family"
mention the possibility of having 352M ram preallocated for the
integrated graphic device. This only worked fine if the amount of ram in
the system was 3GB or less. When 4G or more is installed, memory is
remapped to create a 1GB large pci mmio hole which is not enough and
creates conflicts when 352M vram is used.
This patch increases the pci mmio hole size on Lenovo x200 to allow
352M vram to work.
TEST: build and flash on target with 4GB ram or more, use nvramtool to
set gfx_uma_size to 352M and reboot.
Change-Id: I5ab066252339ac7d85149d91b09a9eaaaab3b5b6
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/16831
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
-rw-r--r-- | src/mainboard/lenovo/t400/cmos.layout | 1 | ||||
-rw-r--r-- | src/mainboard/lenovo/x200/cmos.layout | 1 | ||||
-rw-r--r-- | src/mainboard/lenovo/x200/devicetree.cb | 2 | ||||
-rw-r--r-- | src/mainboard/roda/rk9/cmos.layout | 1 | ||||
-rw-r--r-- | src/northbridge/intel/gm45/igd.c | 2 |
5 files changed, 5 insertions, 2 deletions
diff --git a/src/mainboard/lenovo/t400/cmos.layout b/src/mainboard/lenovo/t400/cmos.layout index d62042cc9d..61212ddd0e 100644 --- a/src/mainboard/lenovo/t400/cmos.layout +++ b/src/mainboard/lenovo/t400/cmos.layout @@ -139,6 +139,7 @@ enumerations 11 9 96M 11 10 160M 11 11 224M +11 12 352M 12 0 Integrated Only 12 1 Discrete Only diff --git a/src/mainboard/lenovo/x200/cmos.layout b/src/mainboard/lenovo/x200/cmos.layout index 19ead05bee..35d50172fd 100644 --- a/src/mainboard/lenovo/x200/cmos.layout +++ b/src/mainboard/lenovo/x200/cmos.layout @@ -136,6 +136,7 @@ enumerations 11 9 96M 11 10 160M 11 11 224M +11 12 352M # ----------------------------------------------------------------- checksums diff --git a/src/mainboard/lenovo/x200/devicetree.cb b/src/mainboard/lenovo/x200/devicetree.cb index 200b4bca0f..d9cb783057 100644 --- a/src/mainboard/lenovo/x200/devicetree.cb +++ b/src/mainboard/lenovo/x200/devicetree.cb @@ -28,7 +28,7 @@ chip northbridge/intel/gm45 end end - register "pci_mmio_size" = "1024" + register "pci_mmio_size" = "2048" device domain 0 on device pci 00.0 on diff --git a/src/mainboard/roda/rk9/cmos.layout b/src/mainboard/roda/rk9/cmos.layout index 711551bad6..d9119b35f1 100644 --- a/src/mainboard/roda/rk9/cmos.layout +++ b/src/mainboard/roda/rk9/cmos.layout @@ -124,6 +124,7 @@ enumerations 11 9 96M 11 10 160M 11 11 224M +11 12 352M # ----------------------------------------------------------------- checksums diff --git a/src/northbridge/intel/gm45/igd.c b/src/northbridge/intel/gm45/igd.c index 73f765148a..74572ca72a 100644 --- a/src/northbridge/intel/gm45/igd.c +++ b/src/northbridge/intel/gm45/igd.c @@ -157,7 +157,7 @@ void igd_compute_ggc(sysinfo_t *const sysinfo) gfxsize = 4; } /* Handle invalid cmos settings */ - if (gfxsize > 11) + if (gfxsize > 12) gfxsize = 4; sysinfo->ggc = 0x0300 | ((gfxsize + 1) << 4); if (!(capid & (1 << (48 - 32)))) |