summaryrefslogtreecommitdiffstats
path: root/resources/libreboot/patch/kgpe-d16/0066-southbridge-amd-sb700-Do-drive-detection-even-in-AHC.patch
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2015-10-18 19:12:53 (EDT)
committer Francis Rowe <info@gluglug.org.uk>2015-10-18 21:32:36 (EDT)
commit0622df6194dbb1b2120743c0fd1cc5e72c380128 (patch)
tree4c858b8c5667fe001a9907ae0578b4ec28a8f513 /resources/libreboot/patch/kgpe-d16/0066-southbridge-amd-sb700-Do-drive-detection-even-in-AHC.patch
parent5999dba5f71f1c05040a551d2420ab8c7f3a9da4 (diff)
downloadlibreboot-0622df6194dbb1b2120743c0fd1cc5e72c380128.zip
libreboot-0622df6194dbb1b2120743c0fd1cc5e72c380128.tar.gz
libreboot-0622df6194dbb1b2120743c0fd1cc5e72c380128.tar.bz2
KGPE-D16: update patch set (also update coreboot and vboot)
Also contains other fixes from coreboot, like: * 551cff0 Derive lvds_dual_channel from EDID timings. ^ makes single/dual channel LVDS selection on GM45 automatic * 26fc544 lenovo/t60: Enable native intel gfx init. ^ was being maintained in libreboot, now upstreamed so not needed Framebuffer mode was disabled for the KGPE-D16, because only text-mode works at the moment.
Diffstat (limited to 'resources/libreboot/patch/kgpe-d16/0066-southbridge-amd-sb700-Do-drive-detection-even-in-AHC.patch')
-rw-r--r--resources/libreboot/patch/kgpe-d16/0066-southbridge-amd-sb700-Do-drive-detection-even-in-AHC.patch140
1 files changed, 0 insertions, 140 deletions
diff --git a/resources/libreboot/patch/kgpe-d16/0066-southbridge-amd-sb700-Do-drive-detection-even-in-AHC.patch b/resources/libreboot/patch/kgpe-d16/0066-southbridge-amd-sb700-Do-drive-detection-even-in-AHC.patch
deleted file mode 100644
index 3c6c1f3..0000000
--- a/resources/libreboot/patch/kgpe-d16/0066-southbridge-amd-sb700-Do-drive-detection-even-in-AHC.patch
+++ /dev/null
@@ -1,140 +0,0 @@
-From b199e0e69955a8313cee68c1d589cac5956982b9 Mon Sep 17 00:00:00 2001
-From: Timothy Pearson <kb9vqf@pearsoncomputing.net>
-Date: Sat, 20 Jun 2015 21:31:15 -0500
-Subject: [PATCH 066/146] southbridge/amd/sb700: Do drive detection even in
- AHCI mode
-
-SeaBIOS AHCI drive detection randomly fails for drives present
-on the secondary channel of each AHCI SATA BAR. Forcing native
-drive detection in AHCI mode resolves this issue.
----
- src/southbridge/amd/sb700/sata.c | 101 ++++++++++++++++++++------------------
- 1 file changed, 54 insertions(+), 47 deletions(-)
-
-diff --git a/src/southbridge/amd/sb700/sata.c b/src/southbridge/amd/sb700/sata.c
-index 10dbca2..6afdfdf 100644
---- a/src/southbridge/amd/sb700/sata.c
-+++ b/src/southbridge/amd/sb700/sata.c
-@@ -301,65 +301,72 @@ static void sata_init(struct device *dev)
- if (port_count > max_port_count)
- port_count = max_port_count;
-
-- if (!sata_ahci_mode) {
-- /* RPR7.7 SATA drive detection. */
-- /* Use BAR5+0x128,BAR0 for Primary Slave */
-- /* Use BAR5+0x1A8,BAR0 for Primary Slave */
-- /* Use BAR5+0x228,BAR2 for Secondary Master */
-- /* Use BAR5+0x2A8,BAR2 for Secondary Slave */
-- /* Use BAR5+0x328,PATA_BAR0/2 for Primary/Secondary Master emulation */
-- /* Use BAR5+0x3A8,PATA_BAR0/2 for Primary/Secondary Slave emulation */
-- for (i = 0; i < port_count; i++) {
-+ /* RPR7.7 SATA drive detection. */
-+ /* Use BAR5+0x128,BAR0 for Primary Slave */
-+ /* Use BAR5+0x1A8,BAR0 for Primary Slave */
-+ /* Use BAR5+0x228,BAR2 for Secondary Master */
-+ /* Use BAR5+0x2A8,BAR2 for Secondary Slave */
-+ /* Use BAR5+0x328,PATA_BAR0/2 for Primary/Secondary Master emulation */
-+ /* Use BAR5+0x3A8,PATA_BAR0/2 for Primary/Secondary Slave emulation */
-+ for (i = 0; i < port_count; i++) {
-+ byte = read8(sata_bar5 + 0x128 + 0x80 * i);
-+ printk(BIOS_SPEW, "SATA port %i status = %x\n", i, byte);
-+ byte &= 0xF;
-+ if (byte == 0x1) {
-+ /* If the drive status is 0x1 then we see it but we aren't talking to it. */
-+ /* Try to do something about it. */
-+ printk(BIOS_SPEW, "SATA device detected but not talking. Trying lower speed.\n");
-+
-+ /* Read in Port-N Serial ATA Control Register */
-+ byte = read8(sata_bar5 + 0x12C + 0x80 * i);
-+
-+ /* Set Reset Bit and 1.5g bit */
-+ byte |= 0x11;
-+ write8((sata_bar5 + 0x12C + 0x80 * i), byte);
-+
-+ /* Wait 1ms */
-+ mdelay(1);
-+
-+ /* Clear Reset Bit */
-+ byte &= ~0x01;
-+ write8((sata_bar5 + 0x12C + 0x80 * i), byte);
-+
-+ /* Wait 1ms */
-+ mdelay(1);
-+
-+ /* Reread status */
- byte = read8(sata_bar5 + 0x128 + 0x80 * i);
- printk(BIOS_SPEW, "SATA port %i status = %x\n", i, byte);
- byte &= 0xF;
-- if (byte == 0x1) {
-- /* If the drive status is 0x1 then we see it but we aren't talking to it. */
-- /* Try to do something about it. */
-- printk(BIOS_SPEW, "SATA device detected but not talking. Trying lower speed.\n");
--
-- /* Read in Port-N Serial ATA Control Register */
-- byte = read8(sata_bar5 + 0x12C + 0x80 * i);
--
-- /* Set Reset Bit and 1.5g bit */
-- byte |= 0x11;
-- write8((sata_bar5 + 0x12C + 0x80 * i), byte);
--
-- /* Wait 1ms */
-- mdelay(1);
--
-- /* Clear Reset Bit */
-- byte &= ~0x01;
-- write8((sata_bar5 + 0x12C + 0x80 * i), byte);
--
-- /* Wait 1ms */
-- mdelay(1);
--
-- /* Reread status */
-- byte = read8(sata_bar5 + 0x128 + 0x80 * i);
-- printk(BIOS_SPEW, "SATA port %i status = %x\n", i, byte);
-- byte &= 0xF;
-+ }
-+
-+ if (byte == 0x3) {
-+ for (j = 0; j < 10; j++) {
-+ if (i < 4)
-+ current_bar = ((i / 2) == 0) ? sata_bar0 : sata_bar2;
-+ else
-+ current_bar = ide_bar0;
-+ if (!sata_drive_detect(i, current_bar))
-+ break;
- }
--
-- if (byte == 0x3) {
-- for (j = 0; j < 10; j++) {
-- if (i < 4)
-- current_bar = ((i / 2) == 0) ? sata_bar0 : sata_bar2;
-- else
-- current_bar = ide_bar0;
-- if (!sata_drive_detect(i, current_bar))
-- break;
-- }
-+ if (sata_ahci_mode)
-+ printk(BIOS_DEBUG, "AHCI device %d is %sready after %i tries\n",
-+ i,
-+ (j == 10) ? "not " : "",
-+ (j == 10) ? j : j + 1);
-+ else
- printk(BIOS_DEBUG, "%s %s device is %sready after %i tries\n",
- (i / 2) ? "Secondary" : "Primary",
- (i % 2 ) ? "Slave" : "Master",
- (j == 10) ? "not " : "",
- (j == 10) ? j : j + 1);
-- } else {
-+ } else {
-+ if (sata_ahci_mode)
-+ printk(BIOS_DEBUG, "No AHCI SATA drive on Slot%i\n", i);
-+ else
- printk(BIOS_DEBUG, "No %s %s SATA drive on Slot%i\n",
- (i / 2) ? "Secondary" : "Primary",
- (i % 2 ) ? "Slave" : "Master", i);
-- }
- }
- }
-
---
-1.7.9.5
-