sfc: Add 40G support
Subsystems (3)
cover sfc: Add 40G support
This patch series adds support for Solarflare 7000 series 40G Solarflare network adapters starting with the SFN7X42Q.
Edward Cree (1):
sfc: Add 40G link capability decoding
Mateusz Wrzesinski (1):
sfc: Adding PCI ID for Solarflare 7000 series 40G network adapter.
drivers/net/ethernet/sfc/efx.c | 2 ++ drivers/net/ethernet/sfc/mcdi_port.c | 11 +++++++++++ 2 files changed, 13 insertions(+)
PATCH 1/2 sfc: Adding PCI ID for Solarflare 7000 series 40G network adapter.
From: Mateusz Wrzesinski <[email protected]>
--- drivers/net/ethernet/sfc/efx.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/net/ethernet/sfc/efx.c +2 -0
@@ -2607,6 +2607,8 @@ static DEFINE_PCI_DEVICE_TABLE(efx_pci_table) = { .driver_data = (unsigned long) &siena_a0_nic_type}, {PCI_DEVICE(PCI_VENDOR_ID_SOLARFLARE, 0x0903), /* SFC9120 PF */ .driver_data = (unsigned long) &efx_hunt_a0_nic_type}, + {PCI_DEVICE(PCI_VENDOR_ID_SOLARFLARE, 0x0923), /* SFC9140 PF */ + .driver_data = (unsigned long) &efx_hunt_a0_nic_type}, {0} /* end of list */ };
PATCH 2/2 sfc: Add 40G link capability decoding
In reply to Shradha ShahFrom: Edward Cree <[email protected]>
Needed to select 40G mode on a 10G/40G capable card.
--- drivers/net/ethernet/sfc/mcdi_port.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
drivers/net/ethernet/sfc/mcdi_port.c +11 -0
@@ -183,6 +183,8 @@ static u32 mcdi_to_ethtool_cap(u32 media, u32 cap) result |= SUPPORTED_1000baseKX_Full;if (cap & (1 <<MC_CMD_PHY_CAP_10000FDX_LBN )) result |= SUPPORTED_10000baseKX4_Full; +if (cap & (1 <<MC_CMD_PHY_CAP_40000FDX_LBN )) + result |= SUPPORTED_40000baseKR4_Full;break ;case MC_CMD_MEDIA_XFP :
@@ -190,6 +192,12 @@ static u32 mcdi_to_ethtool_cap(u32 media, u32 cap) result |=SUPPORTED_FIBRE ;break ; +case MC_CMD_MEDIA_QSFP_PLUS : + result |=SUPPORTED_FIBRE ; +if (cap & (1 <<MC_CMD_PHY_CAP_40000FDX_LBN )) + result |= SUPPORTED_40000baseCR4_Full; +break ; +case MC_CMD_MEDIA_BASE_T : result |=SUPPORTED_TP ;if (cap & (1 <<MC_CMD_PHY_CAP_10HDX_LBN ))
@@ -237,6 +245,8 @@ static u32 ethtool_to_mcdi_cap(u32 cap) result |= (1 <<MC_CMD_PHY_CAP_1000FDX_LBN );if (cap & (SUPPORTED_10000baseT_Full | SUPPORTED_10000baseKX4_Full)) result |= (1 <<MC_CMD_PHY_CAP_10000FDX_LBN ); +if (cap & (SUPPORTED_40000baseCR4_Full | SUPPORTED_40000baseKR4_Full)) + result |= (1 <<MC_CMD_PHY_CAP_40000FDX_LBN );if (cap & SUPPORTED_Pause) result |= (1 <<MC_CMD_PHY_CAP_PAUSE_LBN );if (cap & SUPPORTED_Asym_Pause)
@@ -285,6 +295,7 @@ static u32 mcdi_to_ethtool_media(u32 media)case MC_CMD_MEDIA_XFP :case MC_CMD_MEDIA_SFP_PLUS : +case MC_CMD_MEDIA_QSFP_PLUS :return PORT_FIBRE ;case MC_CMD_MEDIA_BASE_T :
From: Shradha Shah <[email protected]>
Date: Mon, 14 Jul 2014 08:37:06 +0100
Quoted 2 lines
This patch series adds support for Solarflare 7000 series 40G Solarflare network adapters starting with the SFN7X42Q.
Applied, thanks.