diff options
author | Francis Rowe <info@gluglug.org.uk> | 2015-11-06 02:45:49 (EST) |
---|---|---|
committer | Francis Rowe <info@gluglug.org.uk> | 2015-11-06 03:01:51 (EST) |
commit | 60453ff2cbd1befe24959fba1d24f734406444e3 (patch) | |
tree | 74a6080455b2b00184fbc4a00503188032773986 /resources/libreboot/patch/kgpe-d16/0138-cpu-amd-family_10h-family_15h-Fix-link-type-detectio.patch | |
parent | 51f5487e7d2c8809bdc7690fe26948064257b34d (diff) | |
download | libreboot-60453ff2cbd1befe24959fba1d24f734406444e3.zip libreboot-60453ff2cbd1befe24959fba1d24f734406444e3.tar.gz libreboot-60453ff2cbd1befe24959fba1d24f734406444e3.tar.bz2 |
Update coreboot to new version (use latest stable kgpe-d16 tree)
Diffstat (limited to 'resources/libreboot/patch/kgpe-d16/0138-cpu-amd-family_10h-family_15h-Fix-link-type-detectio.patch')
-rw-r--r-- | resources/libreboot/patch/kgpe-d16/0138-cpu-amd-family_10h-family_15h-Fix-link-type-detectio.patch | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/resources/libreboot/patch/kgpe-d16/0138-cpu-amd-family_10h-family_15h-Fix-link-type-detectio.patch b/resources/libreboot/patch/kgpe-d16/0138-cpu-amd-family_10h-family_15h-Fix-link-type-detectio.patch deleted file mode 100644 index 18c1420..0000000 --- a/resources/libreboot/patch/kgpe-d16/0138-cpu-amd-family_10h-family_15h-Fix-link-type-detectio.patch +++ /dev/null @@ -1,158 +0,0 @@ -From d08d31fc7f2299fc6c12be09061c62170615d160 Mon Sep 17 00:00:00 2001 -From: Timothy Pearson <tpearson@raptorengineeringinc.com> -Date: Mon, 7 Sep 2015 22:26:55 -0500 -Subject: [PATCH 138/139] cpu/amd/family_10h-family_15h: Fix link type - detection and XCS buffer count setup - -Change-Id: If63dd97f070df4aab25a1e1a34df4b1112fff4b1 -Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com> ---- - src/cpu/amd/family_10h-family_15h/fidvid.c | 2 +- - src/cpu/amd/family_10h-family_15h/init_cpus.c | 33 +++++++++++++++------------ - 2 files changed, 20 insertions(+), 15 deletions(-) - -diff --git a/src/cpu/amd/family_10h-family_15h/fidvid.c b/src/cpu/amd/family_10h-family_15h/fidvid.c -index ed8cafa..84315b4 100644 ---- a/src/cpu/amd/family_10h-family_15h/fidvid.c -+++ b/src/cpu/amd/family_10h-family_15h/fidvid.c -@@ -379,7 +379,7 @@ static u32 nb_clk_did(int node, uint64_t cpuRev, uint8_t procPkg) { - u8 link0isGen3 = 0; - u8 offset; - if (AMD_CpuFindCapability(node, 0, &offset)) { -- link0isGen3 = (AMD_checkLinkType(node, 0, offset) & HTPHY_LINKTYPE_HT3 ); -+ link0isGen3 = (AMD_checkLinkType(node, offset) & HTPHY_LINKTYPE_HT3 ); - } - /* FIXME: NB_CLKDID should be 101b for AMD_DA_C2 in package - S1g3 in link Gen3 mode, but I don't know how to tell -diff --git a/src/cpu/amd/family_10h-family_15h/init_cpus.c b/src/cpu/amd/family_10h-family_15h/init_cpus.c -index ff9a033..f86cc75 100644 ---- a/src/cpu/amd/family_10h-family_15h/init_cpus.c -+++ b/src/cpu/amd/family_10h-family_15h/init_cpus.c -@@ -845,7 +845,7 @@ static BOOL AMD_CpuFindCapability(u8 node, u8 cap_count, u8 * offset) - * - * Returns the link characteristic mask. - */ --static u32 AMD_checkLinkType(u8 node, u8 link, u8 regoff) -+static u32 AMD_checkLinkType(u8 node, u8 regoff) - { - uint32_t val; - uint32_t val2; -@@ -876,7 +876,7 @@ static u32 AMD_checkLinkType(u8 node, u8 link, u8 regoff) - linktype |= HTPHY_LINKTYPE_HT1; - - /* Check ganged */ -- val = pci_read_config32(NODE_PCI(node, 0), (link << 2) + 0x170); -+ val = pci_read_config32(NODE_PCI(node, 0), (((regoff - 0x80) / 0x20) << 2) + 0x170); - - if (val & 1) - linktype |= HTPHY_LINKTYPE_GANGED; -@@ -1119,7 +1119,7 @@ static void cpuSetAMDPCI(u8 node) - */ - for (j = 0; j < 4; j++) { - if (AMD_CpuFindCapability(node, j, &offset)) { -- if (AMD_checkLinkType(node, j, offset) -+ if (AMD_checkLinkType(node, offset) - & fam10_htphy_default[i].linktype) { - AMD_SetHtPhyRegister(node, j, - i); -@@ -1217,6 +1217,7 @@ static void cpuSetAMDPCI(u8 node) - pci_write_config32(NODE_PCI(node, 3), 0x1a0, dword); - - uint8_t link; -+ uint8_t link_real; - uint8_t ganged; - uint8_t iolink; - uint8_t probe_filter_enabled = !!dual_node; -@@ -1238,8 +1239,9 @@ static void cpuSetAMDPCI(u8 node) - - for (link = 0; link < 4; link++) { - if (AMD_CpuFindCapability(node, link, &offset)) { -- ganged = !!(pci_read_config32(NODE_PCI(node, 0), (link << 2) + 0x170) & 0x1); -- iolink = !!(AMD_checkLinkType(node, link, offset) & HTPHY_LINKTYPE_NONCOHERENT); -+ link_real = (offset - 0x80) / 0x20; -+ ganged = !!(pci_read_config32(NODE_PCI(node, 0), (link_real << 2) + 0x170) & 0x1); -+ iolink = !!(AMD_checkLinkType(node, offset) & HTPHY_LINKTYPE_NONCOHERENT); - - if (!iolink && ganged) { - if (probe_filter_enabled) { -@@ -1335,7 +1337,7 @@ static void cpuSetAMDPCI(u8 node) - np_req_cmd = 12; - } - -- dword = pci_read_config32(NODE_PCI(node, 0), (link * 0x20) + 0x94); -+ dword = pci_read_config32(NODE_PCI(node, 0), (link_real * 0x20) + 0x94); - dword &= ~(0x3 << 27); /* IsocRspData = isoc_rsp_data */ - dword |= ((isoc_rsp_data & 0x3) << 27); - dword &= ~(0x3 << 25); /* IsocNpReqData = isoc_np_req_data */ -@@ -1346,9 +1348,9 @@ static void cpuSetAMDPCI(u8 node) - dword |= ((isoc_preq & 0x7) << 19); - dword &= ~(0x7 << 16); /* IsocNpReqCmd = isoc_np_req_cmd */ - dword |= ((isoc_np_req_cmd & 0x7) << 16); -- pci_write_config32(NODE_PCI(node, 0), (link * 0x20) + 0x94, dword); -+ pci_write_config32(NODE_PCI(node, 0), (link_real * 0x20) + 0x94, dword); - -- dword = pci_read_config32(NODE_PCI(node, 0), (link * 0x20) + 0x90); -+ dword = pci_read_config32(NODE_PCI(node, 0), (link_real * 0x20) + 0x90); - dword &= ~(0x1 << 31); /* LockBc = 0x1 */ - dword |= ((0x1 & 0x1) << 31); - dword &= ~(0x7 << 25); /* FreeData = free_data */ -@@ -1367,7 +1369,7 @@ static void cpuSetAMDPCI(u8 node) - dword |= ((preq & 0x7) << 5); - dword &= ~(0x1f << 0); /* NpReqCmd = np_req_cmd */ - dword |= ((np_req_cmd & 0x1f) << 0); -- pci_write_config32(NODE_PCI(node, 0), (link * 0x20) + 0x90, dword); -+ pci_write_config32(NODE_PCI(node, 0), (link_real * 0x20) + 0x90, dword); - } - } - -@@ -1390,8 +1392,9 @@ static void cpuSetAMDPCI(u8 node) - - for (link = 0; link < 4; link++) { - if (AMD_CpuFindCapability(node, link, &offset)) { -- ganged = !!(pci_read_config32(NODE_PCI(node, 0), (link << 2) + 0x170) & 0x1); -- iolink = !!(AMD_checkLinkType(node, link, offset) & HTPHY_LINKTYPE_NONCOHERENT); -+ link_real = (offset - 0x80) / 0x20; -+ ganged = !!(pci_read_config32(NODE_PCI(node, 0), (link_real << 2) + 0x170) & 0x1); -+ iolink = !!(AMD_checkLinkType(node, offset) & HTPHY_LINKTYPE_NONCOHERENT); - - /* Set defaults */ - isoc_rsp_tok_1 = 0; -@@ -1619,7 +1622,7 @@ static void cpuSetAMDPCI(u8 node) - } - } - -- dword = pci_read_config32(NODE_PCI(node, 3), (link << 2) + 0x148); -+ dword = pci_read_config32(NODE_PCI(node, 3), (link_real << 2) + 0x148); - dword &= ~(0x3 << 30); /* FreeTok[3:2] = free_tokens[3:2] */ - dword |= (((free_tokens >> 2) & 0x3) << 30); - dword &= ~(0x1 << 28); /* IsocRspTok1 = isoc_rsp_tok_1 */ -@@ -1652,7 +1655,7 @@ static void cpuSetAMDPCI(u8 node) - dword |= (((preq_tok_0) & 0x3) << 2); - dword &= ~(0x3 << 0); /* ReqTok0 = req_tok_0 */ - dword |= (((req_tok_0) & 0x3) << 0); -- pci_write_config32(NODE_PCI(node, 3), (link << 2) + 0x148, dword); -+ pci_write_config32(NODE_PCI(node, 3), (link_real << 2) + 0x148, dword); - } - } - -@@ -1698,6 +1701,7 @@ static void cpuSetAMDPCI(u8 node) - } - - uint8_t link; -+ uint8_t link_real; - uint8_t isochronous; - uint8_t isochronous_link_present; - -@@ -1705,7 +1709,8 @@ static void cpuSetAMDPCI(u8 node) - isochronous_link_present = 0; - for (link = 0; link < 4; link++) { - if (AMD_CpuFindCapability(node, link, &offset)) { -- isochronous = (pci_read_config32(NODE_PCI(node, 0), (link * 0x20) + 0x84) >> 12) & 0x1; -+ link_real = (offset - 0x80) / 0x20; -+ isochronous = (pci_read_config32(NODE_PCI(node, 0), (link_real * 0x20) + 0x84) >> 12) & 0x1; - - if (isochronous) - isochronous_link_present = 1; --- -1.9.1 - |