From 8abe081bd04639b47534922c88204cef11c4b950 Mon Sep 17 00:00:00 2001 From: Li-Ta Lo Date: Mon, 21 May 2001 04:12:04 +0000 Subject: [PATCH] experimental stuff for delay transaction --- src/northsouthbridge/sis/550/550_regs.inc | 5 ++++- src/northsouthbridge/sis/550/southbridge.c | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/northsouthbridge/sis/550/550_regs.inc b/src/northsouthbridge/sis/550/550_regs.inc index 30d1d91f85..dce41f21f7 100644 --- a/src/northsouthbridge/sis/550/550_regs.inc +++ b/src/northsouthbridge/sis/550/550_regs.inc @@ -65,7 +65,10 @@ northbridge_init_table: // .byte 0x6A, 0xC0 # // .byte 0x6B, 0x01 # 0x00 -> 66/133 MHZ, 0x01 -> 100 MHZ // .byte 0x6C, 0x20 # 0x2E -> 66 MHZ, 0x20 -> 100 MHZ, 0x2C -> 133 MHZ - + + .byte 0x7a, 0x00 # Delay transaction, experimental + .byte 0x7b, 0x00 + /* PCI Interface */ .byte 0x80, 0x01 # .byte 0x81, 0xd1 # diff --git a/src/northsouthbridge/sis/550/southbridge.c b/src/northsouthbridge/sis/550/southbridge.c index 3abbc2d7c7..6db8d95d40 100644 --- a/src/northsouthbridge/sis/550/southbridge.c +++ b/src/northsouthbridge/sis/550/southbridge.c @@ -95,6 +95,19 @@ serial_irq_fixedup(void) } } +static void +south_fixup(void) +{ + struct pci_dev *pcidev; + + pcidev = pci_find_device(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_503, (void *)NULL); + if (pcidev != NULL) { + u8 reg; + pci_read_config_word(pcidev, 0x77, &temp); + pci_write_config_byte(pci_dev, 0x77, temp & 0xEF); + } +} + static void acpi_fixup(void) { @@ -158,5 +171,8 @@ final_southbridge_fixup() serial_irq_fixedup(); acpi_fixup(); + /* Delay transaction, experimental */ + south_fixup(); + DBG("Southbridge fixup done for SIS 503\n"); }