From a81f9514b6fd7e99608270990ca99ec97e1bdb6a Mon Sep 17 00:00:00 2001 From: OBattler Date: Tue, 13 Oct 2020 22:44:22 +0200 Subject: [PATCH] Assorted fixes related to the SMSC southbridge - now all four IDE devices get UDMA-66. --- src/acpi.c | 3 ++- src/chipset/intel_piix.c | 6 ++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/acpi.c b/src/acpi.c index 2e7900889..dfd6bf9e8 100644 --- a/src/acpi.c +++ b/src/acpi.c @@ -1134,7 +1134,8 @@ acpi_reset(void *priv) int i; memset(&dev->regs, 0x00, sizeof(acpi_regs_t)); - dev->regs.gpireg[0] = dev->regs.gpireg[1] = dev->regs.gpireg[2] = 0xff; + dev->regs.gpireg[0] = 0xff; dev->regs.gpireg[1] = 0xff; + dev->regs.gpireg[2] = 0xf3; /* SMSC: Bit 2: 80-conductor cable on primary IDE (0 = yes, 1 = no), Bit 3: on secondary IDE. */ for (i = 0; i < 4; i++) dev->regs.gporeg[i] = dev->gporeg_default[i]; if (dev->vendor == VEN_VIA_596B) diff --git a/src/chipset/intel_piix.c b/src/chipset/intel_piix.c index 348cef814..85448bdde 100644 --- a/src/chipset/intel_piix.c +++ b/src/chipset/intel_piix.c @@ -1053,10 +1053,8 @@ piix_reset_hard(piix_t *dev) } fregs[0x20] = 0x01; if (dev->type == 5) { - fregs[0x3c] = 0x0e; - fregs[0x3d] = 0x01; - fregs[0x45] = 0x55; - fregs[0x46] = 0x01; + fregs[0x3c] = 0x0e; fregs[0x3d] = 0x01; + fregs[0x45] = 0x55; fregs[0x46] = 0x01; } if ((dev->type == 1) && (dev->rev == 2)) dev->max_func = 0; /* It starts with IDE disabled, then enables it. */