summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/i386/pci/pchb.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/sys/arch/i386/pci/pchb.c b/sys/arch/i386/pci/pchb.c
index 3c48c32d40b..f096a35354d 100644
--- a/sys/arch/i386/pci/pchb.c
+++ b/sys/arch/i386/pci/pchb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pchb.c,v 1.42 2004/11/23 13:33:14 grange Exp $ */
+/* $OpenBSD: pchb.c,v 1.43 2005/01/12 18:19:05 grange Exp $ */
/* $NetBSD: pchb.c,v 1.6 1997/06/06 23:29:16 thorpej Exp $ */
/*
@@ -230,11 +230,13 @@ pchbattach(parent, self, aux)
* fetched from the wrong location. This is
* the workaround.
*/
- bcreg = pci_conf_read(pa->pa_pc, pa->pa_tag,
- PCISET_INTEL_SDRAMC_REG);
- bcreg |= PCISET_INTEL_SDRAMC_IPDLT;
- pci_conf_write(pa->pa_pc, pa->pa_tag,
- PCISET_INTEL_SDRAMC_REG, bcreg);
+ if (PCI_REVISION(pa->pa_class) < 0x3) {
+ bcreg = pci_conf_read(pa->pa_pc, pa->pa_tag,
+ PCISET_INTEL_SDRAMC_REG);
+ bcreg |= PCISET_INTEL_SDRAMC_IPDLT;
+ pci_conf_write(pa->pa_pc, pa->pa_tag,
+ PCISET_INTEL_SDRAMC_REG, bcreg);
+ }
break;
case PCI_PRODUCT_INTEL_PCI450_PB:
bcreg = pci_conf_read(pa->pa_pc, pa->pa_tag,