diff options
author | dg <dg@FreeBSD.org> | 1995-04-05 08:19:23 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1995-04-05 08:19:23 +0000 |
commit | c4aa7861a3165802f01989ade26d3e31a535d8d9 (patch) | |
tree | 23a322eac5878445f4a61bc4a1960e6dac99af1c /sys/pci | |
parent | 35854221f62fd0d7f2b5046841a05586cd887217 (diff) | |
download | FreeBSD-src-c4aa7861a3165802f01989ade26d3e31a535d8d9.zip FreeBSD-src-c4aa7861a3165802f01989ade26d3e31a535d8d9.tar.gz |
From Matt Thomas: Finished EISA support.
Diffstat (limited to 'sys/pci')
-rw-r--r-- | sys/pci/if_pdq.c | 68 |
1 files changed, 12 insertions, 56 deletions
diff --git a/sys/pci/if_pdq.c b/sys/pci/if_pdq.c index a050324..577b2fe 100644 --- a/sys/pci/if_pdq.c +++ b/sys/pci/if_pdq.c @@ -21,44 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: if_pdq.c,v 1.3 1995/03/21 22:41:19 se Exp $ - * - * $Log: if_pdq.c,v $ - * Revision 1.3 1995/03/21 22:41:19 se - * Cosmetic changes. - * - * Submitted by: Wolfgang Stnglmeier <wolf@kintaro.cologne.de> - * - * Revision 1.2 1995/03/17 04:27:17 davidg - * Added a new field to the pci_device struct called pd_shutdown to specify - * a device specific shutdown routine for devconf. Assign the value of this - * to the kern_devconf struct. Implement a device shutdown routine for if_de - * that disables the device. This will stop the device from corrupting memory - * after a reboot. - * - * Revision 1.1 1995/03/14 09:16:04 davidg - * Added support for generic FDDI and the DEC DEFEA and DEFPA FDDI adapters. - * - * Submitted by: Matt Thomas - * - * Revision 1.7 1995/03/14 01:52:52 thomas - * Update for new FreeBSD PCI Interrupt interface - * - * Revision 1.6 1995/03/10 17:06:59 thomas - * Update for latest version of FreeBSD. - * Compensate for the fast that the ifp will not be first thing - * in softc on BSDI. - * - * Revision 1.5 1995/03/07 19:59:42 thomas - * First pass at BSDI EISA support - * - * Revision 1.4 1995/03/06 17:06:03 thomas - * Add transmit timeout support. - * Add support DEFEA (untested). - * - * Revision 1.3 1995/03/03 13:48:35 thomas - * more fixes - * + * $Id: if_pdq.c,v 1.4 1995/03/25 22:06:27 bde Exp $ * */ @@ -698,14 +661,16 @@ pdq_eisa_probe( id->id_unit); return 0; } -#if 0 - id->id_maddr = (char *) NULL + atdevbase + maddr; - id->id_msize = msize; -#endif - sc = (pdq_softc_t *) malloc(sizeof(pdq_softc_t), M_DEVBUF, M_WAITOK); - if (sc == NULL) + id->id_maddr = (caddr_t) pmap_mapdev(maddr, msize); + if (id->id_maddr == NULL) return 0; - PDQ_EISA_UNIT_TO_SOFTC(id->id_unit) = sc; + id->id_msize = msize; + if (PDQ_EISA_UNIT_TO_SOFTC(id->id_unit) == NULL) { + sc = (pdq_softc_t *) malloc(sizeof(pdq_softc_t), M_DEVBUF, M_WAITOK); + if (sc == NULL) + return 0; + PDQ_EISA_UNIT_TO_SOFTC(id->id_unit) = sc; + } return 0x1000; } return 0; @@ -716,8 +681,6 @@ pdq_eisa_attach( struct isa_device *id) { pdq_softc_t *sc = PDQ_EISA_UNIT_TO_SOFTC(id->id_unit); - vm_offset_t va_csrs; - pdq_uint32_t maddr, msize; bzero(sc, sizeof(pdq_softc_t)); /* Zero out the softc*/ @@ -726,14 +689,7 @@ pdq_eisa_attach( sc->sc_iobase = id->id_iobase; pdq_eisa_devinit(sc); - pdq_eisa_subprobe(sc->sc_iobase, &maddr, &msize, NULL); - va_csrs = (vm_offset_t) pmap_mapdev(maddr, msize); - if (va_csrs == (vm_offset_t) 0) { - printf("fea%d: mapping of device memory failed\n", sc->sc_if.if_unit); - return 0; - } - - sc->sc_pdq = pdq_initialize((void *) va_csrs, "fea", sc->sc_if.if_unit, + sc->sc_pdq = pdq_initialize((void *) id->id_maddr, "fea", sc->sc_if.if_unit, (void *) sc, PDQ_DEFEA); if (sc->sc_pdq == NULL) { printf("fea%d: initialization failed\n", sc->sc_if.if_unit); @@ -827,7 +783,7 @@ pdq_eisa_attach( sc->sc_pdq = pdq_initialize((void *) ISA_HOLE_VADDR(ia->ia_maddr), "fea", sc->sc_if.if_unit, (void *) sc, PDQ_DEFEA); if (sc->sc_pdq == NULL) { - printf("fea%s: initialization failed\n", sc->sc_if.if_unit); + printf("fea%d: initialization failed\n", sc->sc_if.if_unit); return; } |