From b50da81d3a01b74d0b775593d40928f1abc193ae Mon Sep 17 00:00:00 2001 From: Brian Somers Date: Wed, 10 Apr 2002 01:15:23 +0000 Subject: [PATCH] Use the PCI port for pci cards, not just for PCIXR cards. Add the card name to the error message for the first initialisation failure, giving us more info about what was actually discovered. This code has been tested by Robert Suetterlin to work on a PCI Xem card. --- sys/dev/digi/digi.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/dev/digi/digi.c b/sys/dev/digi/digi.c index 18ea046732c..df13183ec98 100644 --- a/sys/dev/digi/digi.c +++ b/sys/dev/digi/digi.c @@ -298,16 +298,16 @@ digi_init(struct digi_softc *sc) case PCXEM: case PCIEPCX: case PCIXR: - if (sc->model == PCIXR) + if (sc->pcibus) PCIPORT = FEPRST; else outb(sc->port, FEPRST | FEPMEM); - for (i = 0; ((sc->model == PCIXR ? PCIPORT : inb(sc->port)) & + for (i = 0; ((sc->pcibus ? PCIPORT : inb(sc->port)) & FEPMASK) != FEPRST; i++) { if (i > 1000) { - log(LOG_ERR, "digi%d: init reset failed\n", - sc->res.unit); + log(LOG_ERR, "digi%d: %s init reset failed\n", + sc->res.unit, sc->name); return (EIO); } tsleep(sc, PUSER | PCATCH, "digiinit0", 1); @@ -348,7 +348,7 @@ digi_init(struct digi_softc *sc) ptr = sc->setwin(sc, MISCGLOBAL); W(ptr) = 0; - if (sc->model == PCIXR) { + if (sc->pcibus) { PCIPORT = FEPCLR; resp = FEPRST; } else if (sc->model == PCXEVE) { @@ -359,7 +359,7 @@ digi_init(struct digi_softc *sc) resp = FEPRST | FEPMEM; } - for (i = 0; ((sc->model == PCIXR ? PCIPORT : inb(sc->port)) & FEPMASK) + for (i = 0; ((sc->pcibus ? PCIPORT : inb(sc->port)) & FEPMASK) == resp; i++) { if (i > 1000) { log(LOG_ERR, "digi%d: BIOS start failed\n",