Subject: Re: Intel 82801BA motherboard drivers
To: Jesse Off <joff@gci-net.com>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: port-i386
Date: 11/17/2000 22:45:29
--XsQoSWH+UP9D9v3l
Content-Type: text/plain; charset=us-ascii

On Thu, Nov 16, 2000 at 11:00:41PM -0700, Jesse Off wrote:
> I got a new machine at work recently that has a motherboard with an
> 82801BA chipset with the ICH2 i/o chip.  I was able to get the 82562
> "Kinnereth" integrated ethernet working, but it uses the ukphy driver
> for the PHY and not the inphy one (but does seem to work).  This, by
> default, didn't even work in 1.5BETA2 so I did a little digging and
> merged a 2 line patch from -current which recognizes it in the fxp
> driver.  Also, pciide doesn't seem to like the IDE controller; it
> complains of no driver support and downgrades to PIO.  The motherboard
> includes an onboard AC97 sound chip that doesn't seem to have a driver
> as well.  
> 
> Is anybody working on these?  I personally don't care so much about the
> audio, but I really would like it if I could at least do UDMA/66 on the
> IDE controller.  If not, I might take a stab at it.  My intuition is
> that the 82801BA is not that much different from the 82801 (which we
> seem to support).

Could you try the attached patch for IDE support ?

--
Manuel Bouyer, LIP6, Universite Paris VI.           Manuel.Bouyer@lip6.fr
--

--XsQoSWH+UP9D9v3l
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=diff

Index: pciide.c
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/pci/pciide.c,v
retrieving revision 1.92
diff -u -r1.92 pciide.c
--- pciide.c	2000/11/14 18:42:58	1.92
+++ pciide.c	2000/11/17 21:44:43
@@ -259,6 +259,11 @@
 	  "Intel 82801AB IDE Controller (ICH0)",
 	  piix_chip_map,
 	},
+	{ PCI_PRODUCT_INTEL_82801BA_IDE,
+	  0,
+	  "Intel 82801BA IDE Controller (ICH0)",
+	  piix_chip_map,
+	},
 	{ 0,
 	  0,
 	  NULL,
@@ -1330,13 +1335,20 @@
 		case PCI_PRODUCT_INTEL_82440MX_IDE:
 		case PCI_PRODUCT_INTEL_82801AA_IDE:
 		case PCI_PRODUCT_INTEL_82801AB_IDE:
+		case PCI_PRODUCT_INTEL_82801BA_IDE:
 			sc->sc_wdcdev.cap |= WDC_CAPABILITY_UDMA;
 		}
 	}
 	sc->sc_wdcdev.PIO_cap = 4;
 	sc->sc_wdcdev.DMA_cap = 2;
-	sc->sc_wdcdev.UDMA_cap =
-	    (sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801AA_IDE) ? 4 : 2;
+	switch(sc->sc_pp->ide_product) {
+	case PCI_PRODUCT_INTEL_82801AA_IDE:
+	case PCI_PRODUCT_INTEL_82801BA_IDE:
+		sc->sc_wdcdev.UDMA_cap = 4;
+		break;
+	default:
+		sc->sc_wdcdev.UDMA_cap = 2;
+	}
 	if (sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82371FB_IDE)
 		sc->sc_wdcdev.set_modes = piix_setup_channel;
 	else

--XsQoSWH+UP9D9v3l--