FreeBSD/sys/dev/stge/if_stge.c
/*
 * stge_tick:
 *
 *	One second timer, used to tick the MII.
 */
One second timer, used to tick the MII.
One second timer used to tick the MII .
static void
stge_tick(void *arg)
{
	struct stge_softc *sc;
	struct mii_data *mii;
	sc = (struct stge_softc *)arg;
	STGE_LOCK_ASSERT(sc);
	mii = device_get_softc(sc->sc_miibus);
	mii_tick(mii);
	stge_stats_update(sc);
	if (sc->sc_cdata.stge_tx_cnt != 0)
		stge_txeof(sc);
	stge_watchdog(sc);
	callout_reset(&sc->sc_tick_ch, hz, stge_tick, sc);
}
static void stge_tick ( void * arg ) { struct stge_softc * sc ; struct mii_data * mii ; sc = ( struct stge_softc * ) arg ; STGE_LOCK_ASSERT ( sc ) ; mii = device_get_softc ( sc -> sc_miibus ) ; mii_tick ( mii ) ; stge_stats_update ( sc ) ; if ( sc -> sc_cdata . stge_tx_cnt != 0 ) stge_txeof ( sc ) ; stge_watchdog ( sc ) ; callout_reset ( & sc -> sc_tick_ch , hz , stge_tick , sc ) ; }
stge_tick:
      One second timer, used to tick the MII.
stge_tick : One second timer used to tick the MII .
/* Update statistics counters. */ /*
	 * Relcaim any pending Tx descriptors to release mbufs in a
	 * timely manner as we don't generate Tx completion interrupts
	 * for every frame. This limits the delay to a maximum of one
	 * second.
	 */