diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2012-07-19 19:26:43 +0300 |
---|---|---|
committer | Anton Kochkov <anton.kochkov@gmail.com> | 2012-08-02 12:56:09 +0200 |
commit | 6b5eb1cc2d1702ff10cd02249d3d861c094f9118 (patch) | |
tree | bff0974dc6c3b5637c1fd2be45d06d4cf5dc9fba | |
parent | 30f04645c1dc25a34d1e274a360a8a97f1d07f92 (diff) |
AMD and GFXUMA: move setup_uma_memory() to northbridge
UMA region can be determined at any time after the amount
of RAM is known and before the uma_resource() call.
Change-Id: I2a0bf2d3cad55ee70e889c88846f962b7faa0c7e
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/1379
Reviewed-by: Zheng Bao <zheng.bao@amd.com>
Tested-by: build bot (Jenkins)
Reviewed-by: Anton Kochkov <anton.kochkov@gmail.com>
36 files changed, 18 insertions, 62 deletions
diff --git a/src/include/device/device.h b/src/include/device/device.h index eaf84c6d0a..9e9d00025c 100644 --- a/src/include/device/device.h +++ b/src/include/device/device.h @@ -112,7 +112,6 @@ extern struct resource *free_resources; extern struct bus *free_links; /* IGD UMA memory */ -void setup_uma_memory(void); extern uint64_t uma_memory_base; extern uint64_t uma_memory_size; diff --git a/src/mainboard/advansus/a785e-i/mainboard.c b/src/mainboard/advansus/a785e-i/mainboard.c index 6c190f05f6..356ea1c1b3 100644 --- a/src/mainboard/advansus/a785e-i/mainboard.c +++ b/src/mainboard/advansus/a785e-i/mainboard.c @@ -78,8 +78,6 @@ static void a785e_i_enable(device_t dev) { printk(BIOS_INFO, "Mainboard A785E-I Enable. dev=0x%p\n", dev); - setup_uma_memory(); - set_pcie_dereset(); enable_int_gfx(); } diff --git a/src/mainboard/amd/bimini_fam10/mainboard.c b/src/mainboard/amd/bimini_fam10/mainboard.c index f587ac1072..aecb0362af 100644 --- a/src/mainboard/amd/bimini_fam10/mainboard.c +++ b/src/mainboard/amd/bimini_fam10/mainboard.c @@ -128,8 +128,6 @@ static void bimini_enable(device_t dev) { printk(BIOS_INFO, "Mainboard BIMINI Enable. dev=0x%p\n", dev); - setup_uma_memory(); - set_pcie_dereset(); enable_int_gfx(); /* get_ide_dma66(); */ diff --git a/src/mainboard/amd/dbm690t/mainboard.c b/src/mainboard/amd/dbm690t/mainboard.c index fbff55bdbf..012187945d 100644 --- a/src/mainboard/amd/dbm690t/mainboard.c +++ b/src/mainboard/amd/dbm690t/mainboard.c @@ -185,8 +185,6 @@ static void dbm690t_enable(device_t dev) { printk(BIOS_INFO, "Mainboard DBM690T Enable. dev=0x%p\n", dev); - setup_uma_memory(); - enable_onboard_nic(); get_ide_dma66(); set_thermal_config(); diff --git a/src/mainboard/amd/dinar/mainboard.c b/src/mainboard/amd/dinar/mainboard.c index 6301b4ff10..af70ddc319 100644 --- a/src/mainboard/amd/dinar/mainboard.c +++ b/src/mainboard/amd/dinar/mainboard.c @@ -72,7 +72,6 @@ void set_pcie_dereset(void *nbconfig) static void dinar_enable(device_t dev) { printk(BIOS_INFO, "Mainboard Dinar Enable. dev=0x%p\n", dev); - setup_uma_memory(); } int add_mainboard_resources(struct lb_memory *mem) diff --git a/src/mainboard/amd/inagua/mainboard.c b/src/mainboard/amd/inagua/mainboard.c index dc832583e1..9099a4da1b 100644 --- a/src/mainboard/amd/inagua/mainboard.c +++ b/src/mainboard/amd/inagua/mainboard.c @@ -78,8 +78,6 @@ static void inagua_enable(device_t dev) { printk(BIOS_INFO, "Mainboard " CONFIG_MAINBOARD_PART_NUMBER " Enable.\n"); - setup_uma_memory(); - /* Inagua mainboard specific setting */ set_pcie_dereset(); } diff --git a/src/mainboard/amd/mahogany/mainboard.c b/src/mainboard/amd/mahogany/mainboard.c index 43ea66f397..66d0d28752 100644 --- a/src/mainboard/amd/mahogany/mainboard.c +++ b/src/mainboard/amd/mahogany/mainboard.c @@ -101,7 +101,6 @@ u8 is_dev3_present(void) static void mahogany_enable(device_t dev) { printk(BIOS_INFO, "Mainboard MAHOGANY Enable. dev=0x%p\n", dev); - setup_uma_memory(); set_pcie_dereset(); /* get_ide_dma66(); */ diff --git a/src/mainboard/amd/mahogany_fam10/mainboard.c b/src/mainboard/amd/mahogany_fam10/mainboard.c index b47cdffa1f..d1701fd725 100644 --- a/src/mainboard/amd/mahogany_fam10/mainboard.c +++ b/src/mainboard/amd/mahogany_fam10/mainboard.c @@ -103,8 +103,6 @@ static void mahogany_enable(device_t dev) { printk(BIOS_INFO, "Mainboard MAHOGANY Enable. dev=0x%p\n", dev); - setup_uma_memory(); - set_pcie_dereset(); /* get_ide_dma66(); */ } diff --git a/src/mainboard/amd/parmer/mainboard.c b/src/mainboard/amd/parmer/mainboard.c index 0d73a4c36b..095f02f7f7 100644 --- a/src/mainboard/amd/parmer/mainboard.c +++ b/src/mainboard/amd/parmer/mainboard.c @@ -44,9 +44,7 @@ static void parmer_enable(device_t dev) acpi_slp_type = acpi_get_sleep_type(); if (acpi_slp_type == 3) agesawrapper_fchs3earlyrestore(); - #endif - setup_uma_memory(); } int add_mainboard_resources(struct lb_memory *mem) diff --git a/src/mainboard/amd/persimmon/mainboard.c b/src/mainboard/amd/persimmon/mainboard.c index aa3bc1b628..3bf05dbc86 100644 --- a/src/mainboard/amd/persimmon/mainboard.c +++ b/src/mainboard/amd/persimmon/mainboard.c @@ -64,9 +64,6 @@ static void persimmon_enable(device_t dev) #if CONFIG_HAVE_ACPI_RESUME acpi_slp_type = acpi_get_sleep_type(); #endif - - setup_uma_memory(); - } int add_mainboard_resources(struct lb_memory *mem) diff --git a/src/mainboard/amd/pistachio/mainboard.c b/src/mainboard/amd/pistachio/mainboard.c index 1355c37f97..32912f426d 100644 --- a/src/mainboard/amd/pistachio/mainboard.c +++ b/src/mainboard/amd/pistachio/mainboard.c @@ -255,10 +255,7 @@ static void pistachio_enable(device_t dev) { printk(BIOS_INFO, "Mainboard Pistachio Enable. dev=0x%p\n", dev); - setup_uma_memory(); - enable_onboard_nic(); - set_thermal_config(); } diff --git a/src/mainboard/amd/south_station/mainboard.c b/src/mainboard/amd/south_station/mainboard.c index 715b40a2bb..dbfce2bb37 100644 --- a/src/mainboard/amd/south_station/mainboard.c +++ b/src/mainboard/amd/south_station/mainboard.c @@ -79,8 +79,6 @@ static void southstation_led_init(void) static void southstation_enable(device_t dev) { printk(BIOS_INFO, "Mainboard " CONFIG_MAINBOARD_PART_NUMBER " Enable.\n"); - setup_uma_memory(); - southstation_led_init(); } diff --git a/src/mainboard/amd/tilapia_fam10/mainboard.c b/src/mainboard/amd/tilapia_fam10/mainboard.c index cf3e3d318c..f6555134e8 100644 --- a/src/mainboard/amd/tilapia_fam10/mainboard.c +++ b/src/mainboard/amd/tilapia_fam10/mainboard.c @@ -278,8 +278,6 @@ static void tilapia_enable(device_t dev) { printk(BIOS_INFO, "Mainboard TILAPIA Enable. dev=0x%p\n", dev); - setup_uma_memory(); - set_pcie_dereset(); /* get_ide_dma66(); */ set_thermal_config(); diff --git a/src/mainboard/amd/torpedo/mainboard.c b/src/mainboard/amd/torpedo/mainboard.c index 839ec5ce87..91e3eadec0 100644 --- a/src/mainboard/amd/torpedo/mainboard.c +++ b/src/mainboard/amd/torpedo/mainboard.c @@ -56,7 +56,6 @@ void set_pcie_dereset(void) static void torpedo_enable(device_t dev) { printk(BIOS_INFO, "Mainboard " CONFIG_MAINBOARD_PART_NUMBER " Enable. dev=0x%p\n", dev); - setup_uma_memory(); } int add_mainboard_resources(struct lb_memory *mem) diff --git a/src/mainboard/amd/union_station/mainboard.c b/src/mainboard/amd/union_station/mainboard.c index f0f610ac06..d8324bca6b 100644 --- a/src/mainboard/amd/union_station/mainboard.c +++ b/src/mainboard/amd/union_station/mainboard.c @@ -53,8 +53,6 @@ void set_pcie_dereset(void) static void unionstation_enable(device_t dev) { printk(BIOS_INFO, "Mainboard " CONFIG_MAINBOARD_PART_NUMBER " Enable.\n"); - - setup_uma_memory(); } int add_mainboard_resources(struct lb_memory *mem) diff --git a/src/mainboard/asrock/939a785gmh/mainboard.c b/src/mainboard/asrock/939a785gmh/mainboard.c index d3ea27e87c..7526c6b9b8 100644 --- a/src/mainboard/asrock/939a785gmh/mainboard.c +++ b/src/mainboard/asrock/939a785gmh/mainboard.c @@ -100,8 +100,6 @@ static void mb_enable(device_t dev) { printk(BIOS_INFO, "Mainboard 939A785GMH/128M Enable. dev=0x%p\n", dev); - setup_uma_memory(); - set_pcie_dereset(); /* get_ide_dma66(); */ } diff --git a/src/mainboard/asrock/e350m1/mainboard.c b/src/mainboard/asrock/e350m1/mainboard.c index d0151be544..9a76cce56a 100644 --- a/src/mainboard/asrock/e350m1/mainboard.c +++ b/src/mainboard/asrock/e350m1/mainboard.c @@ -52,7 +52,6 @@ void set_pcie_dereset(void) static void e350m1_enable(device_t dev) { printk(BIOS_INFO, "Mainboard " CONFIG_MAINBOARD_PART_NUMBER " Enable.\n"); - setup_uma_memory(); } int add_mainboard_resources(struct lb_memory *mem) diff --git a/src/mainboard/asus/m4a78-em/mainboard.c b/src/mainboard/asus/m4a78-em/mainboard.c index eea8c0d4a3..738e854d10 100644 --- a/src/mainboard/asus/m4a78-em/mainboard.c +++ b/src/mainboard/asus/m4a78-em/mainboard.c @@ -122,8 +122,6 @@ static void m4a78em_enable(device_t dev) { printk(BIOS_INFO, "Mainboard enable. dev=0x%p\n", dev); - setup_uma_memory(); - set_pcie_dereset(); /* get_ide_dma66(); */ /* set_thermal_config(); */ diff --git a/src/mainboard/asus/m4a785-m/mainboard.c b/src/mainboard/asus/m4a785-m/mainboard.c index 45af02593d..5230f84ff7 100644 --- a/src/mainboard/asus/m4a785-m/mainboard.c +++ b/src/mainboard/asus/m4a785-m/mainboard.c @@ -194,8 +194,6 @@ static void m4a785m_enable(device_t dev) { printk(BIOS_INFO, "Mainboard enable. dev=0x%p\n", dev); - setup_uma_memory(); - set_pcie_dereset(); /* get_ide_dma66(); */ set_thermal_config(); diff --git a/src/mainboard/asus/m5a88-v/mainboard.c b/src/mainboard/asus/m5a88-v/mainboard.c index 866e8c2f23..bbb14827ac 100644 --- a/src/mainboard/asus/m5a88-v/mainboard.c +++ b/src/mainboard/asus/m5a88-v/mainboard.c @@ -79,8 +79,6 @@ static void m5a88pm_v_enable(device_t dev) printk(BIOS_INFO, "Mainboard ASUS M5A88-V Enable. dev=0x%p\n", dev); - setup_uma_memory(); - set_pcie_dereset(); enable_int_gfx(); } diff --git a/src/mainboard/avalue/eax-785e/mainboard.c b/src/mainboard/avalue/eax-785e/mainboard.c index 5e50efa360..0cc655ebcb 100644 --- a/src/mainboard/avalue/eax-785e/mainboard.c +++ b/src/mainboard/avalue/eax-785e/mainboard.c @@ -78,8 +78,6 @@ static void eax_785e(device_t dev) { printk(BIOS_INFO, "Mainboard " CONFIG_MAINBOARD_PART_NUMBER " Enable.\n"); - setup_uma_memory(); - set_pcie_dereset(); enable_int_gfx(); } diff --git a/src/mainboard/gigabyte/ma785gm/mainboard.c b/src/mainboard/gigabyte/ma785gm/mainboard.c index 680bb2eeb7..c65fbb6cf2 100644 --- a/src/mainboard/gigabyte/ma785gm/mainboard.c +++ b/src/mainboard/gigabyte/ma785gm/mainboard.c @@ -139,8 +139,6 @@ static void ma785gm_enable(device_t dev) { printk(BIOS_INFO, "Mainboard MA785GM-US2H Enable. dev=0x%p\n", dev); - setup_uma_memory(); - set_pcie_dereset(); /* get_ide_dma66(); */ set_gpio40_gfx(); diff --git a/src/mainboard/gigabyte/ma785gmt/mainboard.c b/src/mainboard/gigabyte/ma785gmt/mainboard.c index b7ecf9f2eb..3c26c6a287 100644 --- a/src/mainboard/gigabyte/ma785gmt/mainboard.c +++ b/src/mainboard/gigabyte/ma785gmt/mainboard.c @@ -249,8 +249,6 @@ static void ma785gmt_enable(device_t dev) { printk(BIOS_INFO, "Mainboard MA785GMT-UD2H Enable. dev=0x%p\n", dev); - setup_uma_memory(); - set_pcie_dereset(); /* get_ide_dma66(); */ set_thermal_config(); diff --git a/src/mainboard/gigabyte/ma78gm/mainboard.c b/src/mainboard/gigabyte/ma78gm/mainboard.c index 6756690dc1..ba9baf4f45 100644 --- a/src/mainboard/gigabyte/ma78gm/mainboard.c +++ b/src/mainboard/gigabyte/ma78gm/mainboard.c @@ -76,8 +76,6 @@ static void ma78gm_enable(device_t dev) { printk(BIOS_INFO, "Mainboard MA78GM-US2H Enable. dev=0x%p\n", dev); - setup_uma_memory(); - set_pcie_dereset(); /* get_ide_dma66(); */ } diff --git a/src/mainboard/iei/kino-780am2-fam10/mainboard.c b/src/mainboard/iei/kino-780am2-fam10/mainboard.c index e9ef5965c8..44cbfcd212 100644 --- a/src/mainboard/iei/kino-780am2-fam10/mainboard.c +++ b/src/mainboard/iei/kino-780am2-fam10/mainboard.c @@ -58,8 +58,6 @@ static void kino_enable(device_t dev) { printk(BIOS_INFO, "Mainboard Kino Enable. dev=0x%p\n", dev); - setup_uma_memory(); - set_pcie_dereset(); /* get_ide_dma66(); */ } diff --git a/src/mainboard/jetway/pa78vm5/mainboard.c b/src/mainboard/jetway/pa78vm5/mainboard.c index cb37c11755..3c4d872b34 100644 --- a/src/mainboard/jetway/pa78vm5/mainboard.c +++ b/src/mainboard/jetway/pa78vm5/mainboard.c @@ -105,8 +105,6 @@ static void pa78vm5_enable(device_t dev) { printk(BIOS_INFO, "Mainboard PA78VM5 Enable. dev=0x%p\n", dev); - setup_uma_memory(); - set_pcie_dereset(); /* get_ide_dma66(); */ } diff --git a/src/mainboard/kontron/kt690/mainboard.c b/src/mainboard/kontron/kt690/mainboard.c index dbd4141d23..4eb638f62d 100644 --- a/src/mainboard/kontron/kt690/mainboard.c +++ b/src/mainboard/kontron/kt690/mainboard.c @@ -185,8 +185,6 @@ static void kt690_enable(device_t dev) { printk(BIOS_INFO, "Mainboard KT690 Enable. dev=0x%p\n", dev); - setup_uma_memory(); - enable_onboard_nic(); get_ide_dma66(); set_thermal_config(); diff --git a/src/mainboard/siemens/sitemp_g1p1/mainboard.c b/src/mainboard/siemens/sitemp_g1p1/mainboard.c index 905d23f58d..e4d88db8b5 100644 --- a/src/mainboard/siemens/sitemp_g1p1/mainboard.c +++ b/src/mainboard/siemens/sitemp_g1p1/mainboard.c @@ -851,7 +851,6 @@ static void enable_dev(device_t dev) detect_hw_variant(dev); update_subsystemid(dev); - setup_uma_memory(); dev->ops->init = init; // rest of mainboard init later } diff --git a/src/mainboard/technexion/tim5690/mainboard.c b/src/mainboard/technexion/tim5690/mainboard.c index 2975e8657b..41147cd034 100644 --- a/src/mainboard/technexion/tim5690/mainboard.c +++ b/src/mainboard/technexion/tim5690/mainboard.c @@ -239,8 +239,6 @@ static void tim5690_enable(device_t dev) vbios_regs.int15_regs.fun05_tv_standard = TV_MODE_NO; vgabios_init(&vbios_regs); - setup_uma_memory(); - set_thermal_config(); } diff --git a/src/mainboard/technexion/tim8690/mainboard.c b/src/mainboard/technexion/tim8690/mainboard.c index 40ab3453b8..298132b957 100644 --- a/src/mainboard/technexion/tim8690/mainboard.c +++ b/src/mainboard/technexion/tim8690/mainboard.c @@ -145,8 +145,6 @@ static void tim8690_enable(device_t dev) { printk(BIOS_INFO, "Mainboard tim8690 Enable. dev=0x%p\n", dev); - setup_uma_memory(); - enable_onboard_nic(); set_thermal_config(); } diff --git a/src/northbridge/amd/agesa/family12/northbridge.c b/src/northbridge/amd/agesa/family12/northbridge.c index 7ac8996f40..f3f03a42b6 100644 --- a/src/northbridge/amd/agesa/family12/northbridge.c +++ b/src/northbridge/amd/agesa/family12/northbridge.c @@ -469,7 +469,7 @@ static void set_resources(device_t dev) printk(BIOS_DEBUG, "Fam12h - northbridge.c - set_resources - End.\n"); } -void setup_uma_memory(void) +static void setup_uma_memory(void) { #if CONFIG_GFXUMA msr_t msr, msr2; @@ -611,6 +611,8 @@ static void domain_set_resources(device_t dev) u32 reset_memhole = 1; #endif + setup_uma_memory(); + #if CONFIG_PCI_64BIT_PREF_MEM printk(BIOS_DEBUG, "adsr - CONFIG_PCI_64BIT_PREF_MEM is true.\n"); diff --git a/src/northbridge/amd/agesa/family14/northbridge.c b/src/northbridge/amd/agesa/family14/northbridge.c index 6cdff271f6..af6dfcc297 100644 --- a/src/northbridge/amd/agesa/family14/northbridge.c +++ b/src/northbridge/amd/agesa/family14/northbridge.c @@ -517,7 +517,7 @@ static void domain_read_resources(device_t dev) #endif } -void setup_uma_memory(void) +static void setup_uma_memory(void) { #if CONFIG_GFXUMA msr_t msr, msr2; @@ -574,6 +574,8 @@ static void domain_set_resources(device_t dev) u32 reset_memhole = 1; #endif + setup_uma_memory(); + #if CONFIG_PCI_64BIT_PREF_MEM printk(BIOS_DEBUG, "adsr - CONFIG_PCI_64BIT_PREF_MEM is true.\n"); diff --git a/src/northbridge/amd/agesa/family15/northbridge.c b/src/northbridge/amd/agesa/family15/northbridge.c index be86fda58a..a080293503 100644 --- a/src/northbridge/amd/agesa/family15/northbridge.c +++ b/src/northbridge/amd/agesa/family15/northbridge.c @@ -629,7 +629,7 @@ static struct hw_mem_hole_info get_hw_mem_hole_info(void) #define ONE_MB 0x100000 -void setup_uma_memory(void) +static void setup_uma_memory(void) { #if CONFIG_GFXUMA msr_t msr, msr2; @@ -686,6 +686,8 @@ static void domain_set_resources(device_t dev) u32 reset_memhole = 1; #endif + setup_uma_memory(); + #if CONFIG_PCI_64BIT_PREF_MEM for (link = dev->link_list; link; link = link->next) { diff --git a/src/northbridge/amd/agesa/family15tn/northbridge.c b/src/northbridge/amd/agesa/family15tn/northbridge.c index b572e24f77..9a31751b1d 100644 --- a/src/northbridge/amd/agesa/family15tn/northbridge.c +++ b/src/northbridge/amd/agesa/family15tn/northbridge.c @@ -638,7 +638,7 @@ static struct hw_mem_hole_info get_hw_mem_hole_info(void) #define ONE_MB_SHIFT 20 -void setup_uma_memory(void) +static void setup_uma_memory(void) { #if CONFIG_GFXUMA msr_t msr, msr2; @@ -696,6 +696,8 @@ static void domain_set_resources(device_t dev) u32 reset_memhole = 1; #endif + setup_uma_memory(); + #if CONFIG_PCI_64BIT_PREF_MEM for (link = dev->link_list; link; link = link->next) { diff --git a/src/northbridge/amd/amdfam10/northbridge.c b/src/northbridge/amd/amdfam10/northbridge.c index 68e79ad4a1..15b29f6574 100644 --- a/src/northbridge/amd/amdfam10/northbridge.c +++ b/src/northbridge/amd/amdfam10/northbridge.c @@ -848,7 +848,7 @@ static void disable_hoist_memory(unsigned long hole_startk, int node_id) #include <cbmem.h> #endif -void setup_uma_memory(void) +static void setup_uma_memory(void) { #if CONFIG_GFXUMA msr_t msr, msr2; @@ -903,6 +903,8 @@ static void amdfam10_domain_set_resources(device_t dev) u32 reset_memhole = 1; #endif + setup_uma_memory(); + #if CONFIG_PCI_64BIT_PREF_MEM for(link = dev->link_list; link; link = link->next) { diff --git a/src/northbridge/amd/amdk8/northbridge.c b/src/northbridge/amd/amdk8/northbridge.c index 21f2808465..bec02f0e9d 100644 --- a/src/northbridge/amd/amdk8/northbridge.c +++ b/src/northbridge/amd/amdk8/northbridge.c @@ -823,7 +823,7 @@ static u32 hoist_memory(unsigned long hole_startk, int node_id) #include <cbmem.h> #endif -void setup_uma_memory(void) +static void setup_uma_memory(void) { #if CONFIG_GFXUMA msr_t msr, msr2; @@ -896,6 +896,8 @@ static void amdk8_domain_set_resources(device_t dev) u32 reset_memhole = 1; #endif + setup_uma_memory(); + #if 0 /* Place the IO devices somewhere safe */ io = find_resource(dev, 0); |