[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

82443BX chipset fix



Our pchb(4) driver has a workaround for Intel 82443BX chipset fixing
incorect DRAM setup. However the latest revisions of the chipset don't need
this fix. So if you have such hardware and experience memory related
problems with it (like random crashes) this diff might be useful for
you. Please test it on any 82443BX machine you have.

-- 
   Alexander Yurchenko (aka grange)

Index: arch/i386/pci/pchb.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/pci/pchb.c,v
retrieving revision 1.42
diff -u -r1.42 pchb.c
--- arch/i386/pci/pchb.c	2004/11/23 13:33:14	1.42
+++ arch/i386/pci/pchb.c	2004/12/24 08:49:16
@@ -230,12 +230,14 @@
 			 * 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);
-			break;
+			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,
 			    PCISET_INTEL_BUSCONFIG_REG);



Visit your host, monkey.org