diff --git a/debian/changelog b/debian/changelog index b80b26489..3975e97ab 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,8 @@ linux (3.16.2-4) UNRELEASED; urgency=medium - fix corruption introduced by balance_leaf refactor (regression in 3.16) (Closes: #761457) - Fix use after free in journal teardown + * sfc: Adding PCI ID for Solarflare 7000 series 40G network adapter. + * sfc: Add 40G link capability decoding [ Ian Campbell ] * [armhf] Enable support for Exynos5 systems. (Closes: #759291) diff --git a/debian/patches/features/all/sfc-Add-40G-link-capability-decoding.patch b/debian/patches/features/all/sfc-Add-40G-link-capability-decoding.patch new file mode 100644 index 000000000..817a46f2f --- /dev/null +++ b/debian/patches/features/all/sfc-Add-40G-link-capability-decoding.patch @@ -0,0 +1,56 @@ +From ac331e948346f2706cd82b2d259800621b9db04f Mon Sep 17 00:00:00 2001 +From: Edward Cree +Date: Mon, 14 Jul 2014 08:39:07 +0100 +Subject: [PATCH 2/2] sfc: Add 40G link capability decoding + +Needed to select 40G mode on a 10G/40G capable card. + +Signed-off-by: Shradha Shah +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/sfc/mcdi_port.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/drivers/net/ethernet/sfc/mcdi_port.c b/drivers/net/ethernet/sfc/mcdi_port.c +index e5fc4e1..fb19b70 100644 +--- a/drivers/net/ethernet/sfc/mcdi_port.c ++++ b/drivers/net/ethernet/sfc/mcdi_port.c +@@ -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: diff --git a/debian/patches/features/all/sfc-Adding-PCI-ID-for-Solarflare-7000-series-40G-net.patch b/debian/patches/features/all/sfc-Adding-PCI-ID-for-Solarflare-7000-series-40G-net.patch new file mode 100644 index 000000000..9d4975af4 --- /dev/null +++ b/debian/patches/features/all/sfc-Adding-PCI-ID-for-Solarflare-7000-series-40G-net.patch @@ -0,0 +1,25 @@ +From 3b06a00e65fbb5c526371143beaaa2221d39d577 Mon Sep 17 00:00:00 2001 +From: Mateusz Wrzesinski +Date: Mon, 14 Jul 2014 08:38:49 +0100 +Subject: [PATCH 1/2] sfc: Adding PCI ID for Solarflare 7000 series 40G network + adapter. + +Signed-off-by: Shradha Shah +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/sfc/efx.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c +index 1e27404..2d86224 100644 +--- a/drivers/net/ethernet/sfc/efx.c ++++ b/drivers/net/ethernet/sfc/efx.c +@@ -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 */ + }; + diff --git a/debian/patches/series b/debian/patches/series index eb18d4302..35d021419 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -127,3 +127,5 @@ bugfix/all/reiserfs-Fix-use-after-free-in-journal-teardown.patch features/all/efi-autoload-efivars.patch features/all/virtio-scsi-Implement-change_queue_depth-for-virtscs.patch debian/revert-staging-sm7xxfb-remove-driver.patch +features/all/sfc-Adding-PCI-ID-for-Solarflare-7000-series-40G-net.patch +features/all/sfc-Add-40G-link-capability-decoding.patch