Author: imp Date: Tue Apr 7 15:43:34 2009 New Revision: 190804 URL: http://svn.freebsd.org/changeset/base/190804
Log: Move tick to end of file for better code references. Modified: head/sys/dev/ed/if_ed_pccard.c Modified: head/sys/dev/ed/if_ed_pccard.c ============================================================================== --- head/sys/dev/ed/if_ed_pccard.c Tue Apr 7 15:40:38 2009 (r190803) +++ head/sys/dev/ed/if_ed_pccard.c Tue Apr 7 15:43:34 2009 (r190804) @@ -239,6 +239,7 @@ static const struct ed_product { */ static int ed_pccard_probe(device_t); static int ed_pccard_attach(device_t); +static void ed_pccard_tick(void *); static int ed_pccard_dl100xx(device_t dev, const struct ed_product *); static void ed_pccard_dl100xx_mii_reset(struct ed_softc *sc); @@ -426,30 +427,6 @@ ed_pccard_mediachg(struct ed_softc *sc) mii_mediachg(mii); } -static void -ed_pccard_tick(void *arg) -{ - struct ed_softc *sc = arg; - struct mii_data *mii; - int media = 0; - - ED_ASSERT_LOCKED(sc); - if (sc->miibus != NULL) { - mii = device_get_softc(sc->miibus); - media = mii->mii_media_status; - mii_tick(mii); - if (mii->mii_media_status & IFM_ACTIVE && - media != mii->mii_media_status && 0 && - sc->chip_type == ED_CHIP_TYPE_DL10022) { - ed_asic_outb(sc, ED_DL10022_DIAG, - (mii->mii_media_active & IFM_FDX) ? - ED_DL10022_COLLISON_DIS : 0); - } - - } - callout_reset(&sc->tick_ch, hz, ed_pccard_tick, sc); -} - static int ed_pccard_attach(device_t dev) { @@ -1204,6 +1181,36 @@ ed_child_detached(device_t dev, device_t sc->miibus = NULL; } +static void +ed_pccard_tick(void *arg) +{ + struct ed_softc *sc = arg; + struct mii_data *mii; + int media = 0; + + ED_ASSERT_LOCKED(sc); + if (sc->miibus != NULL) { + mii = device_get_softc(sc->miibus); + media = mii->mii_media_status; + mii_tick(mii); + if (mii->mii_media_status & IFM_ACTIVE && + media != mii->mii_media_status) { + if (sc->chip_type == ED_CHIP_TYPE_DL10022) { + printf("Enabling 10022 workaround\n"); + ed_asic_outb(sc, ED_DL10022_DIAG, + (mii->mii_media_active & IFM_FDX) ? + ED_DL10022_COLLISON_DIS : 0); + } else if (sc->chip_type == ED_CHIP_TYPE_DL10019) { + write_asic(sc, ED_DL10019_MAGIC, + (mii->mii_media_active & IFM_FDX) ? + DL19FDUPLX : 0); + } + } + + } + callout_reset(&sc->tick_ch, hz, ed_pccard_tick, sc); +} + static device_method_t ed_pccard_methods[] = { /* Device interface */ DEVMETHOD(device_probe, ed_pccard_probe), _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"