diff options
Diffstat (limited to 'resources/libreboot/patch/coreboot/369b561315ca68d0cdedc38208105a513c7139b5/grub/kcma-d8/0042-cpu-amd-fam10h-15h-Set-PowerStepUp-PowerStepDown-on-.patch')
-rw-r--r-- | resources/libreboot/patch/coreboot/369b561315ca68d0cdedc38208105a513c7139b5/grub/kcma-d8/0042-cpu-amd-fam10h-15h-Set-PowerStepUp-PowerStepDown-on-.patch | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/resources/libreboot/patch/coreboot/369b561315ca68d0cdedc38208105a513c7139b5/grub/kcma-d8/0042-cpu-amd-fam10h-15h-Set-PowerStepUp-PowerStepDown-on-.patch b/resources/libreboot/patch/coreboot/369b561315ca68d0cdedc38208105a513c7139b5/grub/kcma-d8/0042-cpu-amd-fam10h-15h-Set-PowerStepUp-PowerStepDown-on-.patch deleted file mode 100644 index e95630f..0000000 --- a/resources/libreboot/patch/coreboot/369b561315ca68d0cdedc38208105a513c7139b5/grub/kcma-d8/0042-cpu-amd-fam10h-15h-Set-PowerStepUp-PowerStepDown-on-.patch +++ /dev/null @@ -1,131 +0,0 @@ -From ed0e74f934203d11e90c227f6a2bcabd62262952 Mon Sep 17 00:00:00 2001 -From: Timothy Pearson <tpearson@raptorengineeringinc.com> -Date: Tue, 24 Nov 2015 14:12:07 -0600 -Subject: [PATCH 42/45] cpu/amd/fam10h-15h: Set PowerStepUp/PowerStepDown on - Fam15h - -Multilink Family 15h processors were being configured with an -incorrect PowerStepUp/PowerStepDown value. Set the value -according to the BKDG, and clean up the terrible formatting -of the power_up_down() function that led to the incorrect -values being overlooked until now. - -Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com> ---- - src/cpu/amd/family_10h-family_15h/fidvid.c | 96 ++++++++++++++++-------------- - 1 file changed, 50 insertions(+), 46 deletions(-) - -diff --git a/src/cpu/amd/family_10h-family_15h/fidvid.c b/src/cpu/amd/family_10h-family_15h/fidvid.c -index 2edb75e..5bef7d3 100644 ---- a/src/cpu/amd/family_10h-family_15h/fidvid.c -+++ b/src/cpu/amd/family_10h-family_15h/fidvid.c -@@ -390,56 +390,60 @@ static u32 nb_clk_did(uint8_t node, uint64_t cpuRev, uint8_t procPkg) { - - - static u32 power_up_down(int node, u8 procPkg) { -- u32 dword=0; -- /* from CPU rev guide #41322 rev 3.74 June 2010 Table 26 */ -- u8 singleLinkFlag = ((procPkg == AMD_PKGTYPE_AM3_2r2) -- || (procPkg == AMD_PKGTYPE_S1gX) -- || (procPkg == AMD_PKGTYPE_ASB2)); -- -- if (singleLinkFlag) { -- /* -- * PowerStepUp=01000b - 50nS -- * PowerStepDown=01000b - 50ns -- */ -- dword |= PW_STP_UP50 | PW_STP_DN50; -- } else { -- u32 dispRefModeEn = (pci_read_config32(NODE_PCI(node,0),0x68) >> 24) & 1; -- u32 isocEn = 0; -- int j; -- for(j=0 ; (j<4) && (!isocEn) ; j++ ) { -- u8 offset; -- if (AMD_CpuFindCapability(node, j, &offset)) { -- isocEn = (pci_read_config32(NODE_PCI(node,0),offset+4) >>12) & 1; -- } -- } -- -- if (dispRefModeEn || isocEn) { -- dword |= PW_STP_UP50 | PW_STP_DN50 ; -- } else { -- /* get number of cores for PowerStepUp & PowerStepDown in server -- 1 core - 400nS - 0000b -- 2 cores - 200nS - 0010b -- 3 cores - 133nS -> 100nS - 0011b -- 4 cores - 100nS - 0011b -+ uint32_t dword=0; -+ /* from CPU rev guide #41322 rev 3.74 June 2010 Table 26 */ -+ u8 singleLinkFlag = ((procPkg == AMD_PKGTYPE_AM3_2r2) -+ || (procPkg == AMD_PKGTYPE_S1gX) -+ || (procPkg == AMD_PKGTYPE_ASB2)); -+ -+ if (singleLinkFlag) { -+ /* -+ * PowerStepUp=01000b - 50nS -+ * PowerStepDown=01000b - 50ns - */ -- switch (get_core_num_in_bsp(node)) { -- case 0: -- dword |= PW_STP_UP400 | PW_STP_DN400; -- break; -- case 1: -- case 2: -- dword |= PW_STP_UP200 | PW_STP_DN200; -- break; -- case 3: -- dword |= PW_STP_UP100 | PW_STP_DN100; -- break; -- default: -+ dword |= PW_STP_UP50 | PW_STP_DN50; -+ } else { -+ uint32_t dispRefModeEn = (pci_read_config32(NODE_PCI(node,0),0x68) >> 24) & 1; -+ uint32_t isocEn = 0; -+ int j; -+ for (j=0 ; (j<4) && (!isocEn) ; j++ ) { -+ u8 offset; -+ if (AMD_CpuFindCapability(node, j, &offset)) { -+ isocEn = (pci_read_config32(NODE_PCI(node,0),offset+4) >>12) & 1; -+ } -+ } -+ -+ if (is_fam15h()) { -+ /* Family 15h always uses 100ns for multilink processors */ - dword |= PW_STP_UP100 | PW_STP_DN100; -- break; -+ } else if (dispRefModeEn || isocEn) { -+ dword |= PW_STP_UP50 | PW_STP_DN50 ; -+ } else { -+ /* get number of cores for PowerStepUp & PowerStepDown in server -+ * 1 core - 400nS - 0000b -+ * 2 cores - 200nS - 0010b -+ * 3 cores - 133nS -> 100nS - 0011b -+ * 4 cores - 100nS - 0011b -+ */ -+ switch (get_core_num_in_bsp(node)) { -+ case 0: -+ dword |= PW_STP_UP400 | PW_STP_DN400; -+ break; -+ case 1: -+ case 2: -+ dword |= PW_STP_UP200 | PW_STP_DN200; -+ break; -+ case 3: -+ dword |= PW_STP_UP100 | PW_STP_DN100; -+ break; -+ default: -+ dword |= PW_STP_UP100 | PW_STP_DN100; -+ break; -+ } - } -- } - } -- return dword; -+ -+ return dword; - } - - static void config_clk_power_ctrl_reg0(uint8_t node, uint64_t cpuRev, uint8_t procPkg) { --- -2.1.4 - |