aboutsummaryrefslogtreecommitdiff
path: root/resources/libreboot/patch/kgpe-d16/0050-southbridge-amd-sb700-Disable-broken-SATA-MSI-functi.patch
blob: 8bc23ecdecb3aa98de34d644b33f38d0db93f157 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
From 77b9c8b935e51ba8eb779fcf050f8ac407d0c4f3 Mon Sep 17 00:00:00 2001
From: Timothy Pearson <tpearson@raptorengineeringinc.com>
Date: Tue, 9 Jun 2015 19:12:35 -0500
Subject: [PATCH 050/139] southbridge/amd/sb700: Disable broken SATA MSI
 functionality

Change-Id: I4e0a52eb90910604f8640ad7533b5d71be6c8e20
Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com>
---
 src/southbridge/amd/sb700/early_setup.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/southbridge/amd/sb700/early_setup.c b/src/southbridge/amd/sb700/early_setup.c
index a06a72f..da03961 100644
--- a/src/southbridge/amd/sb700/early_setup.c
+++ b/src/southbridge/amd/sb700/early_setup.c
@@ -678,6 +678,7 @@ static void sb700_pci_cfg(void)
 {
 	device_t dev;
 	u8 byte;
+	uint8_t acpi_s1_supported = 1;
 
 	/* SMBus Device, BDF:0-20-0 */
 	dev = pci_locate_device(PCI_ID(0x1002, 0x4385), 0);
@@ -730,10 +731,10 @@ static void sb700_pci_cfg(void)
 	byte = pci_read_config8(dev, 0x40);
 	byte |= 1 << 0;
 	pci_write_config8(dev, 0x40, byte);
-	if (get_sb700_revision(pci_locate_device(PCI_ID(0x1002, 0x4385), 0)) <= 0x12)
-		pci_write_config8(dev, 0x34, 0x70); /* set 0x61 to 0x70 if S1 is not supported. */
+	if (acpi_s1_supported)
+		pci_write_config8(dev, 0x34, 0x70);	/* Hide D3 power state and MSI capabilities */
 	else
-		pci_write_config8(dev, 0x34, 0x50); /* set 0x61 to 0x50 if S1 is not supported. */
+		pci_write_config8(dev, 0x61, 0x70);	/* Hide MSI capability */
 	byte &= ~(1 << 0);
 	pci_write_config8(dev, 0x40, byte);
 }
-- 
1.9.1