svn commit: r341322 - head/sys/dev/sfxge

Andrew Rybchenko arybchik at FreeBSD.org
Fri Nov 30 07:10:35 UTC 2018


Author: arybchik
Date: Fri Nov 30 07:10:09 2018
New Revision: 341322
URL: https://svnweb.freebsd.org/changeset/base/341322

Log:
  sfxge(4): support new link modes in the driver
  
  Submitted by:   Andy Moreton <amoreton at solarflare.com>
  Sponsored by:   Solarflare Communications, Inc.
  Differential Revision:  https://reviews.freebsd.org/D18283

Modified:
  head/sys/dev/sfxge/sfxge_port.c

Modified: head/sys/dev/sfxge/sfxge_port.c
==============================================================================
--- head/sys/dev/sfxge/sfxge_port.c	Fri Nov 30 07:09:58 2018	(r341321)
+++ head/sys/dev/sfxge/sfxge_port.c	Fri Nov 30 07:10:09 2018	(r341322)
@@ -308,7 +308,10 @@ static const uint64_t sfxge_link_baudrate[EFX_LINK_NMO
 	[EFX_LINK_1000HDX]	= IF_Gbps(1),
 	[EFX_LINK_1000FDX]	= IF_Gbps(1),
 	[EFX_LINK_10000FDX]	= IF_Gbps(10),
+	[EFX_LINK_25000FDX]	= IF_Gbps(25),
 	[EFX_LINK_40000FDX]	= IF_Gbps(40),
+	[EFX_LINK_50000FDX]	= IF_Gbps(50),
+	[EFX_LINK_100000FDX]	= IF_Gbps(100),
 };
 
 void
@@ -836,12 +839,16 @@ static const int sfxge_link_mode[EFX_PHY_MEDIA_NTYPES]
 	[EFX_PHY_MEDIA_QSFP_PLUS] = {
 		/* Don't know the module type, but assume SR for now. */
 		[EFX_LINK_10000FDX]	= IFM_ETHER | IFM_FDX | IFM_10G_SR,
+		[EFX_LINK_25000FDX]	= IFM_ETHER | IFM_FDX | IFM_25G_SR,
 		[EFX_LINK_40000FDX]	= IFM_ETHER | IFM_FDX | IFM_40G_CR4,
+		[EFX_LINK_50000FDX]	= IFM_ETHER | IFM_FDX | IFM_50G_SR,
+		[EFX_LINK_100000FDX]	= IFM_ETHER | IFM_FDX | IFM_100G_SR2,
 	},
 	[EFX_PHY_MEDIA_SFP_PLUS] = {
 		/* Don't know the module type, but assume SX/SR for now. */
 		[EFX_LINK_1000FDX]	= IFM_ETHER | IFM_FDX | IFM_1000_SX,
 		[EFX_LINK_10000FDX]	= IFM_ETHER | IFM_FDX | IFM_10G_SR,
+		[EFX_LINK_25000FDX]	= IFM_ETHER | IFM_FDX | IFM_25G_SR,
 	},
 	[EFX_PHY_MEDIA_BASE_T] = {
 		[EFX_LINK_10HDX]	= IFM_ETHER | IFM_HDX | IFM_10_T,
@@ -897,8 +904,14 @@ sfxge_link_mode_to_phy_cap(efx_link_mode_t mode)
 		return (EFX_PHY_CAP_1000FDX);
 	case EFX_LINK_10000FDX:
 		return (EFX_PHY_CAP_10000FDX);
+	case EFX_LINK_25000FDX:
+		return (EFX_PHY_CAP_25000FDX);
 	case EFX_LINK_40000FDX:
 		return (EFX_PHY_CAP_40000FDX);
+	case EFX_LINK_50000FDX:
+		return (EFX_PHY_CAP_50000FDX);
+	case EFX_LINK_100000FDX:
+		return (EFX_PHY_CAP_100000FDX);
 	default:
 		return (EFX_PHY_CAP_INVALID);
 	}


More information about the svn-src-head mailing list