From 8a1fed0575e371109496dcce2a4feeda97065d2f Mon Sep 17 00:00:00 2001 From: Alexander Yurchenko Date: Sat, 7 Feb 2004 19:27:25 +0000 Subject: Final bits to make IT8212F working: - don't touch bus speed register; - don't try to setup the chip in compat mode, it's native always; - disable cable check, it works only in cpu firmware mode. Testing Aubert Guillaume --- sys/dev/pci/pciide.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'sys/dev/pci/pciide.c') diff --git a/sys/dev/pci/pciide.c b/sys/dev/pci/pciide.c index da8400ee869..a43ca1e7f69 100644 --- a/sys/dev/pci/pciide.c +++ b/sys/dev/pci/pciide.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pciide.c,v 1.160 2004/02/02 19:38:43 grange Exp $ */ +/* $OpenBSD: pciide.c,v 1.161 2004/02/07 19:27:24 grange Exp $ */ /* $NetBSD: pciide.c,v 1.127 2001/08/03 01:31:08 tsutsui Exp $ */ /* @@ -6308,8 +6308,6 @@ ite_chip_map(struct pciide_softc *sc, struct pci_attach_args *pa) modectl &= ~IT_MODE_RAID1; /* Disable CPU firmware mode */ modectl &= ~IT_MODE_CPU; - /* Select 66 MHz bus */ - modectl &= ~(IT_MODE_50MHZ(0) | IT_MODE_50MHZ(1)); pci_conf_write(sc->sc_pc, sc->sc_tag, IT_MODE, modectl); @@ -6318,15 +6316,8 @@ ite_chip_map(struct pciide_softc *sc, struct pci_attach_args *pa) if (pciide_chansetup(sc, channel, interface) == 0) continue; - pciide_map_compat_intr(pa, cp, channel, interface); - if (cp->hw_ok == 0) - continue; pciide_mapchan(pa, cp, interface, &cmdsize, &ctlsize, pciide_pci_intr); - if (cp->hw_ok == 0) { - pciide_unmap_compat_intr(pa, cp, channel, interface); - continue; - } sc->sc_wdcdev.set_modes(&cp->wdc_channel); } @@ -6376,7 +6367,8 @@ ite_setup_channel(struct channel_softc *chp) drvp->drive_flags &= ~DRIVE_DMA; modectl &= ~IT_MODE_DMA(channel, drive); - /* Check cable */ +#if 0 + /* Check cable, works only in CPU firmware mode */ if (drvp->UDMA_mode > 2 && (cfg & IT_CFG_CABLE(channel, drive)) == 0) { WDCDEBUG_PRINT(("%s(%s:%d:%d): " @@ -6386,6 +6378,7 @@ ite_setup_channel(struct channel_softc *chp) channel, drive), DEBUG_PROBE); drvp->UDMA_mode = 2; } +#endif if (drvp->UDMA_mode >= 5) tim |= IT_TIM_UDMA5(drive); -- cgit v1.2.3