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"

Reply via email to