version 1.34, 2011/06/03 16:28:40 |
version 1.34.12.1, 2017/12/03 11:37:05 |
Line 98 static void ix_zeromem (struct ie_softc |
|
Line 98 static void ix_zeromem (struct ie_softc |
|
static void ix_mediastatus(struct ie_softc *, struct ifmediareq *); |
static void ix_mediastatus(struct ie_softc *, struct ifmediareq *); |
|
|
static u_int16_t ix_read_eeprom(bus_space_tag_t, bus_space_handle_t, int); |
static u_int16_t ix_read_eeprom(bus_space_tag_t, bus_space_handle_t, int); |
static void ix_eeprom_outbits(bus_space_tag_t, bus_space_handle_t, int, int); |
static void ix_eeprom_outbits(bus_space_tag_t, bus_space_handle_t, int, |
|
int); |
static int ix_eeprom_inbits (bus_space_tag_t, bus_space_handle_t); |
static int ix_eeprom_inbits (bus_space_tag_t, bus_space_handle_t); |
static void ix_eeprom_clock (bus_space_tag_t, bus_space_handle_t, int); |
static void ix_eeprom_clock (bus_space_tag_t, bus_space_handle_t, int); |
|
|
Line 156 ix_read_eeprom(bus_space_tag_t iot, bus_ |
|
Line 157 ix_read_eeprom(bus_space_tag_t iot, bus_ |
|
} |
} |
|
|
static void |
static void |
ix_eeprom_outbits(bus_space_tag_t iot, bus_space_handle_t ioh, int edata, int count) |
ix_eeprom_outbits(bus_space_tag_t iot, bus_space_handle_t ioh, int edata, |
|
int count) |
{ |
{ |
int ectrl, i; |
int ectrl, i; |
|
|
Line 234 ix_intrhook(struct ie_softc *sc, int whe |
|
Line 236 ix_intrhook(struct ie_softc *sc, int whe |
|
|
|
|
|
static void |
static void |
ix_copyin (struct ie_softc *sc, void *dst, int offset, size_t size) |
ix_copyin(struct ie_softc *sc, void *dst, int offset, size_t size) |
{ |
{ |
int i, dribble; |
int i, dribble; |
u_int8_t* bptr = dst; |
u_int8_t* bptr = dst; |
Line 249 ix_copyin (struct ie_softc *sc, void *ds |
|
Line 251 ix_copyin (struct ie_softc *sc, void *ds |
|
bus_space_barrier(sc->bt, sc->bh, IX_READPTR, 2, |
bus_space_barrier(sc->bt, sc->bh, IX_READPTR, 2, |
BUS_SPACE_BARRIER_WRITE); |
BUS_SPACE_BARRIER_WRITE); |
} else { |
} else { |
bus_space_barrier(sc->bt, sc->bh, offset, size, |
bus_space_barrier(sc->bt, sc->bh, offset, size, |
BUS_SPACE_BARRIER_READ); |
BUS_SPACE_BARRIER_READ); |
} |
} |
|
|
Line 257 ix_copyin (struct ie_softc *sc, void *ds |
|
Line 259 ix_copyin (struct ie_softc *sc, void *ds |
|
if (isc->use_pio) |
if (isc->use_pio) |
*bptr = bus_space_read_1(sc->bt, sc->bh, IX_DATAPORT); |
*bptr = bus_space_read_1(sc->bt, sc->bh, IX_DATAPORT); |
else |
else |
*bptr = bus_space_read_1(sc->bt, sc->bh, offset); |
*bptr = bus_space_read_1(sc->bt, sc->bh, offset); |
offset++; bptr++; size--; |
offset++; bptr++; size--; |
} |
} |
|
|
Line 281 ix_copyin (struct ie_softc *sc, void *ds |
|
Line 283 ix_copyin (struct ie_softc *sc, void *ds |
|
if (isc->use_pio) |
if (isc->use_pio) |
*bptr = bus_space_read_1(sc->bt, sc->bh, IX_DATAPORT); |
*bptr = bus_space_read_1(sc->bt, sc->bh, IX_DATAPORT); |
else |
else |
*bptr = bus_space_read_1(sc->bt, sc->bh, offset); |
*bptr = bus_space_read_1(sc->bt, sc->bh, offset); |
} |
} |
} |
} |
|
|
static void |
static void |
ix_copyout (struct ie_softc *sc, const void *src, int offset, size_t size) |
ix_copyout(struct ie_softc *sc, const void *src, int offset, size_t size) |
{ |
{ |
int i, dribble; |
int i, dribble; |
int osize = size; |
int osize = size; |
Line 306 ix_copyout (struct ie_softc *sc, const v |
|
Line 308 ix_copyout (struct ie_softc *sc, const v |
|
if (isc->use_pio) |
if (isc->use_pio) |
bus_space_write_1(sc->bt, sc->bh, IX_DATAPORT, *bptr); |
bus_space_write_1(sc->bt, sc->bh, IX_DATAPORT, *bptr); |
else |
else |
bus_space_write_1(sc->bt, sc->bh, offset, *bptr); |
bus_space_write_1(sc->bt, sc->bh, offset, *bptr); |
offset++; bptr++; size--; |
offset++; bptr++; size--; |
} |
} |
|
|
Line 330 ix_copyout (struct ie_softc *sc, const v |
|
Line 332 ix_copyout (struct ie_softc *sc, const v |
|
if (isc->use_pio) |
if (isc->use_pio) |
bus_space_write_1(sc->bt, sc->bh, IX_DATAPORT, *bptr); |
bus_space_write_1(sc->bt, sc->bh, IX_DATAPORT, *bptr); |
else |
else |
bus_space_write_1(sc->bt, sc->bh, offset, *bptr); |
bus_space_write_1(sc->bt, sc->bh, offset, *bptr); |
} |
} |
|
|
if (isc->use_pio) |
if (isc->use_pio) |
bus_space_barrier(sc->bt, sc->bh, IX_DATAPORT, 2, |
bus_space_barrier(sc->bt, sc->bh, IX_DATAPORT, 2, |
BUS_SPACE_BARRIER_WRITE); |
BUS_SPACE_BARRIER_WRITE); |
else |
else |
bus_space_barrier(sc->bt, sc->bh, ooffset, osize, |
bus_space_barrier(sc->bt, sc->bh, ooffset, osize, |
BUS_SPACE_BARRIER_WRITE); |
BUS_SPACE_BARRIER_WRITE); |
} |
} |
|
|
Line 389 ix_write_16 (struct ie_softc *sc, int of |
|
Line 391 ix_write_16 (struct ie_softc *sc, int of |
|
bus_space_barrier(sc->bt, sc->bh, IX_DATAPORT, 2, |
bus_space_barrier(sc->bt, sc->bh, IX_DATAPORT, 2, |
BUS_SPACE_BARRIER_WRITE); |
BUS_SPACE_BARRIER_WRITE); |
} else { |
} else { |
bus_space_write_2(sc->bt, sc->bh, offset, value); |
bus_space_write_2(sc->bt, sc->bh, offset, value); |
bus_space_barrier(sc->bt, sc->bh, offset, 2, |
bus_space_barrier(sc->bt, sc->bh, offset, 2, |
BUS_SPACE_BARRIER_WRITE); |
BUS_SPACE_BARRIER_WRITE); |
} |
} |
Line 861 ix_attach(device_t parent, device_t self |
|
Line 863 ix_attach(device_t parent, device_t self |
|
sc->sc_msize = memsize; |
sc->sc_msize = memsize; |
sc->sc_maddr = (void*) 0; |
sc->sc_maddr = (void*) 0; |
} else { |
} else { |
sc->bt = ia->ia_memt; |
sc->bt = ia->ia_memt; |
sc->bh = memh; |
sc->bh = memh; |
|
|
sc->sc_msize = ia->ia_iomem[0].ir_size; |
sc->sc_msize = ia->ia_iomem[0].ir_size; |
sc->sc_maddr = (void *)memh; |
sc->sc_maddr = (void *)memh; |
} |
} |
|
|
/* Map i/o space. */ |
/* Map i/o space. */ |
Line 908 ix_attach(device_t parent, device_t self |
|
Line 910 ix_attach(device_t parent, device_t self |
|
bus_space_barrier(sc->bt, sc->bh, 0, IX_IOSIZE, |
bus_space_barrier(sc->bt, sc->bh, 0, IX_IOSIZE, |
BUS_SPACE_BARRIER_WRITE); |
BUS_SPACE_BARRIER_WRITE); |
} else { |
} else { |
bus_space_barrier(sc->bt, sc->bh, 0, sc->sc_msize, |
bus_space_barrier(sc->bt, sc->bh, 0, sc->sc_msize, |
BUS_SPACE_BARRIER_WRITE); |
BUS_SPACE_BARRIER_WRITE); |
} |
} |
|
|
Line 918 ix_attach(device_t parent, device_t self |
|
Line 920 ix_attach(device_t parent, device_t self |
|
bus_space_unmap(iot, ioh, ia->ia_io[0].ir_size); |
bus_space_unmap(iot, ioh, ia->ia_io[0].ir_size); |
|
|
if (ia->ia_iomem[0].ir_size) |
if (ia->ia_iomem[0].ir_size) |
bus_space_unmap(ia->ia_memt, memh, ia->ia_iomem[0].ir_size); |
bus_space_unmap(ia->ia_memt, memh, |
|
ia->ia_iomem[0].ir_size); |
return; |
return; |
} |
} |
|
|
Line 958 ix_attach(device_t parent, device_t self |
|
Line 961 ix_attach(device_t parent, device_t self |
|
ix_media, NIX_MEDIA, media); |
ix_media, NIX_MEDIA, media); |
|
|
if (isc->use_pio) |
if (isc->use_pio) |
aprint_error_dev(self, "unsupported memory config, using PIO to access %d bytes of memory\n", sc->sc_msize); |
aprint_error_dev(self, "unsupported memory config, using PIO " |
|
"to access %d bytes of memory\n", sc->sc_msize); |
|
|
isc->sc_ih = isa_intr_establish(ia->ia_ic, ia->ia_irq[0].ir_irq, |
isc->sc_ih = isa_intr_establish(ia->ia_ic, ia->ia_irq[0].ir_irq, |
IST_EDGE, IPL_NET, i82586_intr, sc); |
IST_EDGE, IPL_NET, i82586_intr, sc); |