svn commit: r250192 - head/sys/mips/cavium/octe

Warner Losh imp at FreeBSD.org
Thu May 2 19:47:37 UTC 2013


Author: imp
Date: Thu May  2 19:47:36 2013
New Revision: 250192
URL: http://svnweb.freebsd.org/changeset/base/250192

Log:
  Use cvmx_mgmt_port_num_ports() instead of the inlined copy of a
  previous version of this function.

Modified:
  head/sys/mips/cavium/octe/ethernet-common.c
  head/sys/mips/cavium/octe/wrapper-cvmx-includes.h

Modified: head/sys/mips/cavium/octe/ethernet-common.c
==============================================================================
--- head/sys/mips/cavium/octe/ethernet-common.c	Thu May  2 19:45:53 2013	(r250191)
+++ head/sys/mips/cavium/octe/ethernet-common.c	Thu May  2 19:47:36 2013	(r250192)
@@ -107,22 +107,7 @@ int cvm_assign_mac_address(uint64_t *mac
 		if (cvm_oct_mac_addr == 0)
 			return ENXIO;
 
-		/*
-		 * The offset from mac_addr_base that should be used for the next port
-		 * that is configured.  By convention, if any mgmt ports exist on the
-		 * chip, they get the first mac addresses.  The ports controlled by
-		 * driver that use this function are numbered sequencially following 
-		 * any mgmt addresses that may exist.
-		 *
-		 * XXX Would be nice if __cvmx_mgmt_port_num_ports() were
-		 *     not static to cvmx-mgmt-port.c.
-		 */
-		if (OCTEON_IS_MODEL(OCTEON_CN56XX))
-			cvm_oct_mac_addr_offset = 1;
-		else if (OCTEON_IS_MODEL(OCTEON_CN52XX) || OCTEON_IS_MODEL(OCTEON_CN63XX))
-			cvm_oct_mac_addr_offset = 2;
-		else
-			cvm_oct_mac_addr_offset = 0;
+		cvm_oct_mac_addr_offset = cvmx_mgmt_port_num_ports();
 		cvm_oct_mac_addr += cvm_oct_mac_addr_offset;
 	}
 

Modified: head/sys/mips/cavium/octe/wrapper-cvmx-includes.h
==============================================================================
--- head/sys/mips/cavium/octe/wrapper-cvmx-includes.h	Thu May  2 19:45:53 2013	(r250191)
+++ head/sys/mips/cavium/octe/wrapper-cvmx-includes.h	Thu May  2 19:47:36 2013	(r250192)
@@ -44,6 +44,7 @@ AND WITH ALL FAULTS AND CAVIUM  NETWORKS
 #include <contrib/octeon-sdk/cvmx-app-init.h>
 #include <contrib/octeon-sdk/cvmx-helper.h>
 #include <contrib/octeon-sdk/cvmx-helper-board.h>
+#include <contrib/octeon-sdk/cvmx-mgmt-port.h>
 #include <mips/cavium/octeon_irq.h>
 #include <contrib/octeon-sdk/octeon-model.h>
 


More information about the svn-src-all mailing list