Module Name: src Committed By: thorpej Date: Tue Jul 12 02:03:57 UTC 2022
Modified Files: src/sys/dev/isa: if_ai.c if_ef.c if_ix.c Log Message: Remove unneeded bus_space_barrier() calls. To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 src/sys/dev/isa/if_ai.c src/sys/dev/isa/if_ef.c cvs rdiff -u -r1.38 -r1.39 src/sys/dev/isa/if_ix.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/isa/if_ai.c diff -u src/sys/dev/isa/if_ai.c:1.35 src/sys/dev/isa/if_ai.c:1.36 --- src/sys/dev/isa/if_ai.c:1.35 Tue Apr 9 05:25:14 2019 +++ src/sys/dev/isa/if_ai.c Tue Jul 12 02:03:57 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: if_ai.c,v 1.35 2019/04/09 05:25:14 msaitoh Exp $ */ +/* $NetBSD: if_ai.c,v 1.36 2022/07/12 02:03:57 thorpej Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_ai.c,v 1.35 2019/04/09 05:25:14 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_ai.c,v 1.36 2022/07/12 02:03:57 thorpej Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -139,9 +139,6 @@ ai_copyin(struct ie_softc *sc, void *dst int dribble; uint8_t *bptr = dst; - bus_space_barrier(sc->bt, sc->bh, offset, size, - BUS_SPACE_BARRIER_READ); - if (offset % 2) { *bptr = bus_space_read_1(sc->bt, sc->bh, offset); offset++; bptr++; size--; @@ -162,8 +159,6 @@ static void ai_copyout(struct ie_softc *sc, const void *src, int offset, size_t size) { int dribble; - int osize = size; - int ooffset = offset; const uint8_t *bptr = src; if (offset % 2) { @@ -179,16 +174,12 @@ ai_copyout(struct ie_softc *sc, const vo offset += size - 1; bus_space_write_1(sc->bt, sc->bh, offset, *bptr); } - - bus_space_barrier(sc->bt, sc->bh, ooffset, osize, - BUS_SPACE_BARRIER_WRITE); } static uint16_t ai_read_16(struct ie_softc *sc, int offset) { - bus_space_barrier(sc->bt, sc->bh, offset, 2, BUS_SPACE_BARRIER_READ); return bus_space_read_2(sc->bt, sc->bh, offset); } @@ -197,7 +188,6 @@ ai_write_16(struct ie_softc *sc, int off { bus_space_write_2(sc->bt, sc->bh, offset, value); - bus_space_barrier(sc->bt, sc->bh, offset, 2, BUS_SPACE_BARRIER_WRITE); } static void @@ -206,7 +196,6 @@ ai_write_24(struct ie_softc *sc, int off bus_space_write_4(sc->bt, sc->bh, offset, addr + (u_long)sc->sc_maddr - (u_long)sc->sc_iobase); - bus_space_barrier(sc->bt, sc->bh, offset, 4, BUS_SPACE_BARRIER_WRITE); } int @@ -387,8 +376,6 @@ ai_attach(device_t parent, device_t self ai_write_24(sc, IE_ISCP_BASE((u_long)sc->iscp), (u_long)sc->iscp); /* Flush setup of pointers, check if chip answers */ - bus_space_barrier(sc->bt, sc->bh, 0, sc->sc_msize, - BUS_SPACE_BARRIER_WRITE); if (!i82586_proberam(sc)) { DPRINTF(("\n%s: can't talk to i82586!\n", device_xname(self))); @@ -473,9 +460,6 @@ check_ie_present(struct ie_softc* sc, bu ai_write_24(sc, IE_ISCP_BASE((u_long)sc->iscp), (u_long)sc->iscp); /* Flush setup of pointers, check if chip answers */ - bus_space_barrier(sc->bt, sc->bh, 0, sc->sc_msize, - BUS_SPACE_BARRIER_WRITE); - if (!i82586_proberam(sc)) return 0; Index: src/sys/dev/isa/if_ef.c diff -u src/sys/dev/isa/if_ef.c:1.35 src/sys/dev/isa/if_ef.c:1.36 --- src/sys/dev/isa/if_ef.c:1.35 Sun Nov 10 21:16:35 2019 +++ src/sys/dev/isa/if_ef.c Tue Jul 12 02:03:57 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: if_ef.c,v 1.35 2019/11/10 21:16:35 chs Exp $ */ +/* $NetBSD: if_ef.c,v 1.36 2022/07/12 02:03:57 thorpej Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_ef.c,v 1.35 2019/11/10 21:16:35 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_ef.c,v 1.36 2022/07/12 02:03:57 thorpej Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -237,7 +237,6 @@ static uint16_t ef_read_16(struct ie_softc *sc, int offset) { - bus_space_barrier(sc->bt, sc->bh, offset, 2, BUS_SPACE_BARRIER_READ); return bus_space_read_2(sc->bt, sc->bh, offset); } @@ -247,9 +246,6 @@ ef_copyin(struct ie_softc *sc, void *dst int dribble; uint8_t *bptr = dst; - bus_space_barrier(sc->bt, sc->bh, offset, size, - BUS_SPACE_BARRIER_READ); - if (offset % 2) { *bptr = bus_space_read_1(sc->bt, sc->bh, offset); offset++; bptr++; size--; @@ -270,8 +266,6 @@ static void ef_copyout(struct ie_softc *sc, const void *src, int offset, size_t size) { int dribble; - int osize = size; - int ooffset = offset; const uint8_t *bptr = src; if (offset % 2) { @@ -287,9 +281,6 @@ ef_copyout(struct ie_softc *sc, const vo offset += size - 1; bus_space_write_1(sc->bt, sc->bh, offset, *bptr); } - - bus_space_barrier(sc->bt, sc->bh, ooffset, osize, - BUS_SPACE_BARRIER_WRITE); } static void @@ -297,7 +288,6 @@ ef_write_16(struct ie_softc *sc, int off { bus_space_write_2(sc->bt, sc->bh, offset, value); - bus_space_barrier(sc->bt, sc->bh, offset, 2, BUS_SPACE_BARRIER_WRITE); } static void @@ -306,7 +296,6 @@ ef_write_24(struct ie_softc *sc, int off bus_space_write_4(sc->bt, sc->bh, offset, addr + (u_long)sc->sc_maddr - (u_long)sc->sc_iobase); - bus_space_barrier(sc->bt, sc->bh, offset, 4, BUS_SPACE_BARRIER_WRITE); } static void @@ -576,8 +565,6 @@ ef_attach(device_t parent, device_t self ef_write_24(sc, IE_ISCP_BASE((u_long)sc->iscp), (u_long)sc->iscp); /* flush setup of pointers, check if chip answers */ - bus_space_barrier(sc->bt, sc->bh, 0, sc->sc_msize, - BUS_SPACE_BARRIER_WRITE); if (!i82586_proberam(sc)) { DPRINTF(("\n%s: can't talk to i82586!\n", device_xname(self))); Index: src/sys/dev/isa/if_ix.c diff -u src/sys/dev/isa/if_ix.c:1.38 src/sys/dev/isa/if_ix.c:1.39 --- src/sys/dev/isa/if_ix.c:1.38 Thu Apr 25 10:08:46 2019 +++ src/sys/dev/isa/if_ix.c Tue Jul 12 02:03:57 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: if_ix.c,v 1.38 2019/04/25 10:08:46 msaitoh Exp $ */ +/* $NetBSD: if_ix.c,v 1.39 2022/07/12 02:03:57 thorpej Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_ix.c,v 1.38 2019/04/25 10:08:46 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_ix.c,v 1.39 2022/07/12 02:03:57 thorpej Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -88,8 +88,6 @@ static int ix_intrhook(struct ie_softc * static void ix_copyin(struct ie_softc *, void *, int, size_t); static void ix_copyout(struct ie_softc *, const void *, int, size_t); -static void ix_bus_barrier(struct ie_softc *, int, int, int); - static uint16_t ix_read_16(struct ie_softc *, int); static void ix_write_16(struct ie_softc *, int, uint16_t); static void ix_write_24(struct ie_softc *, int, int); @@ -246,14 +244,8 @@ ix_copyin(struct ie_softc *sc, void *dst if (isc->use_pio) { /* Reset read pointer to the specified offset */ - bus_space_barrier(sc->bt, sc->bh, IX_DATAPORT, 2, - BUS_SPACE_BARRIER_READ); bus_space_write_2(sc->bt, sc->bh, IX_READPTR, offset); - bus_space_barrier(sc->bt, sc->bh, IX_READPTR, 2, - BUS_SPACE_BARRIER_WRITE); - } else - bus_space_barrier(sc->bt, sc->bh, offset, size, - BUS_SPACE_BARRIER_READ); + } if (offset % 2) { if (isc->use_pio) @@ -290,8 +282,6 @@ static void ix_copyout(struct ie_softc *sc, const void *src, int offset, size_t size) { int i, dribble; - int osize = size; - int ooffset = offset; const uint8_t *bptr = src; const uint16_t *wptr = src; struct ix_softc *isc = (struct ix_softc *)sc; @@ -299,8 +289,6 @@ ix_copyout(struct ie_softc *sc, const vo if (isc->use_pio) { /* Reset write pointer to the specified offset */ bus_space_write_2(sc->bt, sc->bh, IX_WRITEPTR, offset); - bus_space_barrier(sc->bt, sc->bh, IX_WRITEPTR, 2, - BUS_SPACE_BARRIER_WRITE); } if (offset % 2) { @@ -332,24 +320,6 @@ ix_copyout(struct ie_softc *sc, const vo else bus_space_write_1(sc->bt, sc->bh, offset, *bptr); } - - if (isc->use_pio) - bus_space_barrier(sc->bt, sc->bh, IX_DATAPORT, 2, - BUS_SPACE_BARRIER_WRITE); - else - bus_space_barrier(sc->bt, sc->bh, ooffset, osize, - BUS_SPACE_BARRIER_WRITE); -} - -static void -ix_bus_barrier(struct ie_softc *sc, int offset, int length, int flags) -{ - struct ix_softc *isc = (struct ix_softc *)sc; - - if (isc->use_pio) - bus_space_barrier(sc->bt, sc->bh, IX_DATAPORT, 2, flags); - else - bus_space_barrier(sc->bt, sc->bh, offset, length, flags); } static uint16_t @@ -358,18 +328,11 @@ ix_read_16(struct ie_softc *sc, int offs struct ix_softc *isc = (struct ix_softc *)sc; if (isc->use_pio) { - bus_space_barrier(sc->bt, sc->bh, IX_DATAPORT, 2, - BUS_SPACE_BARRIER_READ); - /* Reset read pointer to the specified offset */ bus_space_write_2(sc->bt, sc->bh, IX_READPTR, offset); - bus_space_barrier(sc->bt, sc->bh, IX_READPTR, 2, - BUS_SPACE_BARRIER_WRITE); return bus_space_read_2(sc->bt, sc->bh, IX_DATAPORT); } else { - bus_space_barrier(sc->bt, sc->bh, offset, 2, - BUS_SPACE_BARRIER_READ); return bus_space_read_2(sc->bt, sc->bh, offset); } } @@ -382,16 +345,10 @@ ix_write_16(struct ie_softc *sc, int off if (isc->use_pio) { /* Reset write pointer to the specified offset */ bus_space_write_2(sc->bt, sc->bh, IX_WRITEPTR, offset); - bus_space_barrier(sc->bt, sc->bh, IX_WRITEPTR, 2, - BUS_SPACE_BARRIER_WRITE); bus_space_write_2(sc->bt, sc->bh, IX_DATAPORT, value); - bus_space_barrier(sc->bt, sc->bh, IX_DATAPORT, 2, - BUS_SPACE_BARRIER_WRITE); } else { bus_space_write_2(sc->bt, sc->bh, offset, value); - bus_space_barrier(sc->bt, sc->bh, offset, 2, - BUS_SPACE_BARRIER_WRITE); } } @@ -405,20 +362,14 @@ ix_write_24 (struct ie_softc *sc, int of if (isc->use_pio) { /* Reset write pointer to the specified offset */ bus_space_write_2(sc->bt, sc->bh, IX_WRITEPTR, offset); - bus_space_barrier(sc->bt, sc->bh, IX_WRITEPTR, 2, - BUS_SPACE_BARRIER_WRITE); ptr = (char*)&val; bus_space_write_2(sc->bt, sc->bh, IX_DATAPORT, *((uint16_t *)ptr)); bus_space_write_2(sc->bt, sc->bh, IX_DATAPORT, *((uint16_t *)(ptr + 2))); - bus_space_barrier(sc->bt, sc->bh, IX_DATAPORT, 2, - BUS_SPACE_BARRIER_WRITE); } else { bus_space_write_4(sc->bt, sc->bh, offset, val); - bus_space_barrier(sc->bt, sc->bh, offset, 4, - BUS_SPACE_BARRIER_WRITE); } } @@ -432,8 +383,6 @@ ix_zeromem(struct ie_softc *sc, int offs if (isc->use_pio) { /* Reset write pointer to the specified offset */ bus_space_write_2(sc->bt, sc->bh, IX_WRITEPTR, offset); - bus_space_barrier(sc->bt, sc->bh, IX_WRITEPTR, 2, - BUS_SPACE_BARRIER_WRITE); if (offset % 2) { bus_space_write_1(sc->bt, sc->bh, IX_DATAPORT, 0); @@ -446,13 +395,8 @@ ix_zeromem(struct ie_softc *sc, int offs if (dribble) bus_space_write_1(sc->bt, sc->bh, IX_DATAPORT, 0); - - bus_space_barrier(sc->bt, sc->bh, IX_DATAPORT, 2, - BUS_SPACE_BARRIER_WRITE); } else { bus_space_set_region_1(sc->bt, sc->bh, offset, 0, count); - bus_space_barrier(sc->bt, sc->bh, offset, count, - BUS_SPACE_BARRIER_WRITE); } } @@ -744,13 +688,6 @@ ix_attach(device_t parent, device_t self sc->memcopyin = ix_copyin; sc->memcopyout = ix_copyout; - /* If using PIO, make sure to setup single-byte read/write functions */ - if (isc->use_pio) { - sc->ie_bus_barrier = ix_bus_barrier; - } else { - sc->ie_bus_barrier = NULL; - } - sc->ie_bus_read16 = ix_read_16; sc->ie_bus_write16 = ix_write_16; sc->ie_bus_write24 = ix_write_24; @@ -776,8 +713,6 @@ ix_attach(device_t parent, device_t self /* Reset write pointer to the start of RAM */ bus_space_write_2(iot, ioh, IX_WRITEPTR, 0); - bus_space_barrier(iot, ioh, IX_WRITEPTR, 2, - BUS_SPACE_BARRIER_WRITE); /* Write test pattern */ for (i = 0, wpat = 1; i < memsize; i += 2) { @@ -785,14 +720,8 @@ ix_attach(device_t parent, device_t self wpat += 3; } - /* Flush all reads & writes to data port */ - bus_space_barrier(iot, ioh, IX_DATAPORT, 2, - BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - /* Reset read pointer to beginning of card RAM */ bus_space_write_2(iot, ioh, IX_READPTR, 0); - bus_space_barrier(iot, ioh, IX_READPTR, 2, - BUS_SPACE_BARRIER_WRITE); /* Read and verify test pattern */ for (i = 0, wpat = 1; i < memsize; i += 2) { @@ -814,8 +743,6 @@ ix_attach(device_t parent, device_t self /* Reset write pointer to start of card RAM */ bus_space_write_2(iot, ioh, IX_WRITEPTR, 0); - bus_space_barrier(iot, ioh, IX_WRITEPTR, 2, - BUS_SPACE_BARRIER_WRITE); /* Write out test pattern */ for (i = 0, bpat = 1; i < memsize; i++) { @@ -823,14 +750,8 @@ ix_attach(device_t parent, device_t self bpat += 3; } - /* Flush all reads & writes to data port */ - bus_space_barrier(iot, ioh, IX_DATAPORT, 2, - BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - /* Reset read pointer to beginning of card RAM */ bus_space_write_2(iot, ioh, IX_READPTR, 0); - bus_space_barrier(iot, ioh, IX_READPTR, 2, - BUS_SPACE_BARRIER_WRITE); /* Read and verify test pattern */ for (i = 0, bpat = 1; i < memsize; i++) { @@ -885,8 +806,6 @@ ix_attach(device_t parent, device_t self if (isc->use_pio) { bus_space_write_2(sc->bt, sc->bh, IX_WRITEPTR, IE_SCP_BUS_USE((u_long)sc->scp)); - bus_space_barrier(sc->bt, sc->bh, IX_WRITEPTR, 2, - BUS_SPACE_BARRIER_WRITE); bus_space_write_1(sc->bt, sc->bh, IX_DATAPORT, IE_SYSBUS_16BIT); @@ -900,13 +819,6 @@ ix_attach(device_t parent, device_t self ix_write_24(sc, IE_ISCP_BASE((u_long)sc->iscp), (u_long)sc->iscp); /* Flush setup of pointers, check if chip answers */ - if (isc->use_pio) { - bus_space_barrier(sc->bt, sc->bh, 0, IX_IOSIZE, - BUS_SPACE_BARRIER_WRITE); - } else - bus_space_barrier(sc->bt, sc->bh, 0, sc->sc_msize, - BUS_SPACE_BARRIER_WRITE); - if (!i82586_proberam(sc)) { DPRINTF(("\n%s: Can't talk to i82586!\n", device_xname(self))); @@ -942,10 +854,6 @@ ix_attach(device_t parent, device_t self /* Enable interrupts */ bus_space_write_1(iot, ioh, IX_IRQ, irq_encoded | IX_IRQ_ENABLE); - /* Flush all writes to registers */ - bus_space_barrier(iot, ioh, 0, ia->ia_io[0].ir_size, - BUS_SPACE_BARRIER_WRITE); - isc->irq_encoded = irq_encoded; i82586_attach(sc, "EtherExpress/16", ethaddr,