Module Name:    src
Committed By:   snj
Date:           Thu Apr 23 02:19:40 UTC 2009

Modified Files:
        src/sys/dev/mii [netbsd-5]: mii_physubr.c miivar.h

Log Message:
Pull up following revision(s) (requested by sborrill in ticket #715):
        sys/dev/mii/mii_physubr.c: revision 1.62
        sys/dev/mii/miivar.h: revision 1.53
add mii_anar(). From OpenBSD.


To generate a diff of this commit:
cvs rdiff -u -r1.60 -r1.60.10.1 src/sys/dev/mii/mii_physubr.c
cvs rdiff -u -r1.52 -r1.52.10.1 src/sys/dev/mii/miivar.h

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/mii_physubr.c
diff -u src/sys/dev/mii/mii_physubr.c:1.60 src/sys/dev/mii/mii_physubr.c:1.60.10.1
--- src/sys/dev/mii/mii_physubr.c:1.60	Sun May  4 17:06:09 2008
+++ src/sys/dev/mii/mii_physubr.c	Thu Apr 23 02:19:40 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: mii_physubr.c,v 1.60 2008/05/04 17:06:09 xtraeme Exp $	*/
+/*	$NetBSD: mii_physubr.c,v 1.60.10.1 2009/04/23 02:19:40 snj Exp $	*/
 
 /*-
  * Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mii_physubr.c,v 1.60 2008/05/04 17:06:09 xtraeme Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mii_physubr.c,v 1.60.10.1 2009/04/23 02:19:40 snj Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -626,3 +626,36 @@
 	PHY_RESET(sc);
 	return PHY_SERVICE(sc, sc->mii_pdata, MII_MEDIACHG) == 0;
 }
+
+
+/*
+ * Given an ifmedia word, return the corresponding ANAR value.
+ */
+int
+mii_anar(int media)
+{
+	int rv;
+
+	switch (media & (IFM_TMASK|IFM_NMASK|IFM_FDX)) {
+	case IFM_ETHER|IFM_10_T:
+		rv = ANAR_10|ANAR_CSMA;
+		break;
+	case IFM_ETHER|IFM_10_T|IFM_FDX:
+		rv = ANAR_10_FD|ANAR_CSMA;
+		break;
+	case IFM_ETHER|IFM_100_TX:
+		rv = ANAR_TX|ANAR_CSMA;
+		break;
+	case IFM_ETHER|IFM_100_TX|IFM_FDX:
+		rv = ANAR_TX_FD|ANAR_CSMA;
+		break;
+	case IFM_ETHER|IFM_100_T4:
+		rv = ANAR_T4|ANAR_CSMA;
+		break;
+	default:
+		rv = 0;
+		break;
+	}
+
+	return rv;
+}

Index: src/sys/dev/mii/miivar.h
diff -u src/sys/dev/mii/miivar.h:1.52 src/sys/dev/mii/miivar.h:1.52.10.1
--- src/sys/dev/mii/miivar.h:1.52	Sun May  4 17:06:09 2008
+++ src/sys/dev/mii/miivar.h	Thu Apr 23 02:19:40 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: miivar.h,v 1.52 2008/05/04 17:06:09 xtraeme Exp $	*/
+/*	$NetBSD: miivar.h,v 1.52.10.1 2009/04/23 02:19:40 snj Exp $	*/
 
 /*-
  * Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@@ -231,6 +231,7 @@
 void	mii_tick(struct mii_data *);
 void	mii_pollstat(struct mii_data *);
 void	mii_down(struct mii_data *);
+int	mii_anar(int);
 
 int mii_ifmedia_change(struct mii_data *);
 

Reply via email to