Module Name:    src
Committed By:   msaitoh
Date:           Tue Jun 11 07:22:08 UTC 2013

Modified Files:
        src/sys/dev/mii: ciphy.c ihphy.c tlphy.c

Log Message:
Update link status quickly. This change is a part of mii_physubr.c rev.
1.77-1.78.


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/sys/dev/mii/ciphy.c
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/mii/ihphy.c
cvs rdiff -u -r1.60 -r1.61 src/sys/dev/mii/tlphy.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/mii/ciphy.c
diff -u src/sys/dev/mii/ciphy.c:1.23 src/sys/dev/mii/ciphy.c:1.24
--- src/sys/dev/mii/ciphy.c:1.23	Sun Jun  9 09:31:32 2013
+++ src/sys/dev/mii/ciphy.c	Tue Jun 11 07:22:08 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: ciphy.c,v 1.23 2013/06/09 09:31:32 msaitoh Exp $ */
+/* $NetBSD: ciphy.c,v 1.24 2013/06/11 07:22:08 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 2004
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ciphy.c,v 1.23 2013/06/09 09:31:32 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ciphy.c,v 1.24 2013/06/11 07:22:08 msaitoh Exp $");
 
 /*
  * Driver for the Cicada CS8201 10/100/1000 copper PHY.
@@ -284,9 +284,17 @@ setit:
 		}
 
 		/*
+		 * mii_ticks == 0 means it's the first tick after changing the
+		 * media or the link became down since the last tick
+		 * (see above), so return with 0 to update the status.
+		 */
+		if (sc->mii_ticks++ == 0)
+			break;
+
+		/*
 		 * Only retry autonegotiation every N seconds.
 		 */
-		if (++sc->mii_ticks <= MII_ANEGTICKS_GIGE)
+		if (sc->mii_ticks <= MII_ANEGTICKS_GIGE)
 			break;
 
 		mii_phy_auto(sc, 0);

Index: src/sys/dev/mii/ihphy.c
diff -u src/sys/dev/mii/ihphy.c:1.5 src/sys/dev/mii/ihphy.c:1.6
--- src/sys/dev/mii/ihphy.c:1.5	Sun Jun  9 09:31:32 2013
+++ src/sys/dev/mii/ihphy.c	Tue Jun 11 07:22:08 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: ihphy.c,v 1.5 2013/06/09 09:31:32 msaitoh Exp $	*/
+/*	$NetBSD: ihphy.c,v 1.6 2013/06/11 07:22:08 msaitoh Exp $	*/
 
 /*-
  * Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@@ -60,7 +60,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ihphy.c,v 1.5 2013/06/09 09:31:32 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ihphy.c,v 1.6 2013/06/11 07:22:08 msaitoh Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -214,19 +214,6 @@ ihphy_service(struct mii_softc *sc, stru
 		if (IFM_INST(ife->ifm_media) != sc->mii_inst)
 			return 0;
 
-		/*
-		 * Only used for autonegotiation.
-		 */
-		if ((IFM_SUBTYPE(ife->ifm_media) != IFM_AUTO) &&
-		    (IFM_SUBTYPE(ife->ifm_media) != IFM_1000_T)) {
-			/*
-			 * Reset autonegotiation timer to 0 just to make sure
-			 * the future autonegotiation start with 0.
-			 */
-			sc->mii_ticks = 0;
-			break;
-		}
-
 		if (mii_phy_tick(sc) == EJUSTRETURN)
 			return 0;
 		break;

Index: src/sys/dev/mii/tlphy.c
diff -u src/sys/dev/mii/tlphy.c:1.60 src/sys/dev/mii/tlphy.c:1.61
--- src/sys/dev/mii/tlphy.c:1.60	Sun Jun  9 09:15:51 2013
+++ src/sys/dev/mii/tlphy.c	Tue Jun 11 07:22:08 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: tlphy.c,v 1.60 2013/06/09 09:15:51 msaitoh Exp $	*/
+/*	$NetBSD: tlphy.c,v 1.61 2013/06/11 07:22:08 msaitoh Exp $	*/
 
 /*-
  * Copyright (c) 1998, 1999, 2000 The NetBSD Foundation, Inc.
@@ -59,7 +59,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tlphy.c,v 1.60 2013/06/09 09:15:51 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tlphy.c,v 1.61 2013/06/11 07:22:08 msaitoh Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -261,18 +261,6 @@ tlphy_service(struct mii_softc *sc, stru
 			return (0);
 
 		/*
-		 * Is the interface even up?
-		 */
-		if ((mii->mii_ifp->if_flags & IFF_UP) == 0)
-			return (0);
-
-		/*
-		 * Only used for autonegotiation.
-		 */
-		if (IFM_SUBTYPE(ife->ifm_media) != IFM_AUTO)
-			break;
-
-		/*
 		 * XXX WHAT ABOUT CHECKING LINK ON THE BNC/AUI?!
 		 */
 

Reply via email to