diff options
Diffstat (limited to 'src/southbridge/via/k8t890/k8t890_bridge.c')
-rw-r--r-- | src/southbridge/via/k8t890/k8t890_bridge.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/southbridge/via/k8t890/k8t890_bridge.c b/src/southbridge/via/k8t890/k8t890_bridge.c index be1ba721ef0a..44347127f6f7 100644 --- a/src/southbridge/via/k8t890/k8t890_bridge.c +++ b/src/southbridge/via/k8t890/k8t890_bridge.c @@ -24,8 +24,8 @@ static void bridge_enable(struct device *dev) { + u8 tmp; print_debug("B188 device dump\n"); - /* VIA recommends this, sorry no known info. */ writeback(dev, 0x40, 0x91); @@ -44,6 +44,12 @@ static void bridge_enable(struct device *dev) writeback(dev, 0x3e, 0x16); dump_south(dev); + + /* disable I/O and memory decode, or it freezes PCI bus during BAR sizing */ + tmp = pci_read_config8(dev, PCI_COMMAND); + tmp &= ~0x3; + pci_write_config8(dev, PCI_COMMAND, tmp); + } static const struct device_operations bridge_ops = { |