summaryrefslogtreecommitdiff
path: root/src/northbridge/intel/sandybridge
diff options
context:
space:
mode:
authorMatt DeVillier <matt.devillier@gmail.com>2024-09-05 11:27:53 -0500
committerFelix Held <felix-coreboot@felixheld.de>2024-09-07 15:40:58 +0000
commit5a59e418ee624056ac549cc88bae49b8f853eddd (patch)
tree5fd6b124341adfde6c2dd3b561f0f776d5dd8a7a /src/northbridge/intel/sandybridge
parente5c5b1c3d270944809d144f076129ee6eab2c057 (diff)
nb/intel/sandybridge: Add Kconfig to set default IGD allocation
Add a Kconfig choice to select the default IGD memory allocation, for users/boards which do not use an option table to set it. TEST=build/boot google/link, verify IGD size changes with selection. Change-Id: I83d57cf4657cfccbb21416c5da05eeff9e95a44f Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/84225 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Diffstat (limited to 'src/northbridge/intel/sandybridge')
-rw-r--r--src/northbridge/intel/sandybridge/Kconfig28
-rw-r--r--src/northbridge/intel/sandybridge/early_init.c5
2 files changed, 31 insertions, 2 deletions
diff --git a/src/northbridge/intel/sandybridge/Kconfig b/src/northbridge/intel/sandybridge/Kconfig
index fa40b0668d..973eed8bbd 100644
--- a/src/northbridge/intel/sandybridge/Kconfig
+++ b/src/northbridge/intel/sandybridge/Kconfig
@@ -180,4 +180,32 @@ config FIXED_EPBAR_MMIO_BASE
config PRERAM_CBFS_CACHE_SIZE
default 0x0
+choice
+ prompt "Default IGD Memory Allocation"
+ default IGD_DEFAULT_UMA_SIZE_32MB
+ help
+ The amount of system memory allocated for the integrated GPU if not
+ set via an option table.
+
+config IGD_DEFAULT_UMA_SIZE_32MB
+ bool "32MB"
+
+config IGD_DEFAULT_UMA_SIZE_64MB
+ bool "64MB"
+
+config IGD_DEFAULT_UMA_SIZE_96MB
+ bool "96MB"
+
+config IGD_DEFAULT_UMA_SIZE_128MB
+ bool "128MB"
+
+endchoice
+
+config IGD_DEFAULT_UMA_INDEX
+ int
+ default 0 if IGD_DEFAULT_UMA_SIZE_32MB
+ default 1 if IGD_DEFAULT_UMA_SIZE_64MB
+ default 2 if IGD_DEFAULT_UMA_SIZE_96MB
+ default 3 if IGD_DEFAULT_UMA_SIZE_128MB
+
endif
diff --git a/src/northbridge/intel/sandybridge/early_init.c b/src/northbridge/intel/sandybridge/early_init.c
index a5ebf9d3a7..1d8a1e8b1a 100644
--- a/src/northbridge/intel/sandybridge/early_init.c
+++ b/src/northbridge/intel/sandybridge/early_init.c
@@ -86,9 +86,10 @@ static void sandybridge_setup_graphics(void)
printk(BIOS_DEBUG, "Initializing Graphics...\n");
- /* Fall back to 32 MiB for IGD memory by setting GGC[7:3] = 1 */
- gfxsize = get_uint_option("gfx_uma_size", 0);
+ /* Fall back to CONFIG_IGD_DEFAULT_UMA_INDEX for IGD memory */
+ gfxsize = get_uint_option("gfx_uma_size", CONFIG_IGD_DEFAULT_UMA_INDEX);
+ /* Program IGD memory allocation by setting GGC[7:3] */
reg16 = pci_read_config16(HOST_BRIDGE, GGC);
reg16 &= ~0x00f8;
reg16 |= (gfxsize + 1) << 3;