Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Nov 2015 16:03:52 +0000 (UTC)
From:      Andrew Rybchenko <arybchik@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r291393 - head/sys/dev/sfxge/common
Message-ID:  <201511271603.tARG3qTU081595@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: arybchik
Date: Fri Nov 27 16:03:51 2015
New Revision: 291393
URL: https://svnweb.freebsd.org/changeset/base/291393

Log:
  sfxge: infer external port numbering for Pavia
  
  Adjust external port mapping table to distinguish Pavia from Monza.
  Now the presence of any 40G mode implies at least 2 outputs per
  external port.  So Pavia 4x10G ports are now mapped to 1,2,3,4;
  Monza 4x10G ports map to 1,1,2,2 as before.
  
  Submitted by:   Richard Houldsworth <rhouldsworth at solarflare.com>
  Sponsored by:   Solarflare Communications, Inc.
  MFC after:      2 days

Modified:
  head/sys/dev/sfxge/common/hunt_nic.c

Modified: head/sys/dev/sfxge/common/hunt_nic.c
==============================================================================
--- head/sys/dev/sfxge/common/hunt_nic.c	Fri Nov 27 15:58:52 2015	(r291392)
+++ head/sys/dev/sfxge/common/hunt_nic.c	Fri Nov 27 16:03:51 2015	(r291393)
@@ -948,19 +948,27 @@ static struct {
 	{
 		EFX_FAMILY_HUNTINGTON,
 		(1 << TLV_PORT_MODE_10G) |
-		(1 << TLV_PORT_MODE_40G) |
 		(1 << TLV_PORT_MODE_10G_10G) |
-		(1 << TLV_PORT_MODE_40G_40G),
+		(1 << TLV_PORT_MODE_10G_10G_10G_10G),
 		1
 	},
 	/* Supported modes requiring 2 outputs per port */
 	{
 		EFX_FAMILY_HUNTINGTON,
-		(1 << TLV_PORT_MODE_10G_10G_10G_10G) |
+		(1 << TLV_PORT_MODE_40G) |
+		(1 << TLV_PORT_MODE_40G_40G) |
 		(1 << TLV_PORT_MODE_40G_10G_10G) |
 		(1 << TLV_PORT_MODE_10G_10G_40G),
 		2
 	}
+	/*
+	 * NOTE: Medford modes will require 4 outputs per port:
+	 *	TLV_PORT_MODE_10G_10G_10G_10G_Q
+	 *	TLV_PORT_MODE_10G_10G_10G_10G_Q2
+	 * The Q2 mode routes outputs to external port 2. Support for this
+	 * will require a new field specifying the number to add after
+	 * scaling by stride. This is fixed at 1 currently.
+	 */
 };
 
 static	__checkReturn	int



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201511271603.tARG3qTU081595>