update intel drivers to latest upstream releases

This commit is contained in:
Fabian Grünbichler 2017-11-22 09:47:09 +01:00
parent d060c84f4d
commit 25c35b26a1
10 changed files with 3 additions and 84 deletions

View File

@ -35,13 +35,13 @@ TOP=$(shell pwd)
KERNEL_CFG_ORG=config-${KERNEL_VER}.org
E1000EDIR=e1000e-3.3.5.10
E1000EDIR=e1000e-3.3.6
E1000ESRC=${E1000EDIR}.tar.gz
IGBDIR=igb-5.3.5.10
IGBDIR=igb-5.3.5.12
IGBSRC=${IGBDIR}.tar.gz
IXGBEDIR=ixgbe-5.2.3
IXGBEDIR=ixgbe-5.3.3
IXGBESRC=${IXGBEDIR}.tar.gz
ZFSONLINUX_SUBMODULE=submodules/zfsonlinux
@ -254,8 +254,6 @@ igb.ko igb: .compile_mark ${IGBSRC}
rm -rf ${IGBDIR}
tar xf ${IGBSRC}
[ ! -e /lib/modules/${KVNAME}/build ] || (echo "please remove /lib/modules/${KVNAME}/build" && false)
cd ${IGBDIR}; patch -p1 < ../patches/intel/igb/igb_4.10_max-mtu.patch
cd ${IGBDIR}; patch -p1 < ../patches/intel/igb/igb_4.12_compat.patch
cd ${IGBDIR}/src; make BUILD_KERNEL=${KVNAME} KSRC=${TOP}/${KERNEL_SRC}
cp ${IGBDIR}/src/igb.ko igb.ko
@ -263,7 +261,6 @@ ixgbe.ko ixgbe: .compile_mark ${IXGBESRC}
rm -rf ${IXGBEDIR}
tar xf ${IXGBESRC}
[ ! -e /lib/modules/${KVNAME}/build ] || (echo "please remove /lib/modules/${KVNAME}/build" && false)
cd ${IXGBEDIR}; patch -p1 < ../patches/intel/ixgbe/ixgbe_4.13_compat.patch
cd ${IXGBEDIR}/src; make CFLAGS_EXTRA="-DIXGBE_NO_LRO" BUILD_KERNEL=${KVNAME} KSRC=${TOP}/${KERNEL_SRC}
cp ${IXGBEDIR}/src/ixgbe.ko ixgbe.ko

Binary file not shown.

BIN
e1000e-3.3.6.tar.gz Normal file

Binary file not shown.

Binary file not shown.

BIN
igb-5.3.5.12.tar.gz Normal file

Binary file not shown.

Binary file not shown.

BIN
ixgbe-5.3.3.tar.gz Normal file

Binary file not shown.

View File

@ -1,47 +0,0 @@
diff --git a/src/e1000_defines.h b/src/e1000_defines.h
index 6de3988..d58e12f 100644
--- a/src/e1000_defines.h
+++ b/src/e1000_defines.h
@@ -423,7 +423,8 @@
#define ETHERNET_IEEE_VLAN_TYPE 0x8100 /* 802.3ac packet */
#define ETHERNET_FCS_SIZE 4
-#define MAX_JUMBO_FRAME_SIZE 0x3F00
+#define MAX_JUMBO_FRAME_SIZE 0x2600
+#define MAX_STD_JUMBO_FRAME_SIZE 9216
/* The datasheet maximum supported RX size is 9.5KB (9728 bytes) */
#define MAX_RX_JUMBO_FRAME_SIZE 0x2600
#define E1000_TX_PTR_GAP 0x1F
diff --git a/src/igb_main.c b/src/igb_main.c
index 2dff0f4..bbfe87e 100644
--- a/src/igb_main.c
+++ b/src/igb_main.c
@@ -2852,6 +2852,10 @@ static int igb_probe(struct pci_dev *pdev,
if (pci_using_dac)
netdev->features |= NETIF_F_HIGHDMA;
+ /* MTU range: 68 - 9216 */
+ netdev->min_mtu = ETH_MIN_MTU;
+ netdev->max_mtu = MAX_STD_JUMBO_FRAME_SIZE;
+
adapter->en_mng_pt = e1000_enable_mng_pass_thru(hw);
#ifdef DEBUG
if (adapter->dmac != IGB_DMAC_DISABLE)
@@ -5832,17 +5836,6 @@ static int igb_change_mtu(struct net_device *netdev, int new_mtu)
struct pci_dev *pdev = adapter->pdev;
int max_frame = new_mtu + ETH_HLEN + ETH_FCS_LEN + VLAN_HLEN;
- if ((new_mtu < 68) || (max_frame > MAX_JUMBO_FRAME_SIZE)) {
- dev_err(pci_dev_to_dev(pdev), "Invalid MTU setting\n");
- return -EINVAL;
- }
-
-#define MAX_STD_JUMBO_FRAME_SIZE 9238
- if (max_frame > MAX_STD_JUMBO_FRAME_SIZE) {
- dev_err(pci_dev_to_dev(pdev), "MTU > 9216 not supported.\n");
- return -EINVAL;
- }
-
/* adjust max frame to be at least the size of a standard frame */
if (max_frame < (ETH_FRAME_LEN + ETH_FCS_LEN))
max_frame = ETH_FRAME_LEN + ETH_FCS_LEN;

View File

@ -1,17 +0,0 @@
diff --git a/src/igb_main.c.orig b/src/igb_main.c
index 3ee1ec7..c8adf04 100644
--- a/src/igb_main.c.orig
+++ b/src/igb_main.c
@@ -1047,8 +1047,10 @@ static void igb_set_interrupt_capability(struct igb_adapter *adapter, bool msix)
for (i = 0; i < numvecs; i++)
adapter->msix_entries[i].entry = i;
- err = pci_enable_msix(pdev,
- adapter->msix_entries, numvecs);
+ err = pci_enable_msix_range(pdev,
+ adapter->msix_entries,
+ numvecs,
+ numvecs);
if (err == 0)
break;
}

View File

@ -1,14 +0,0 @@
diff --git a/src/ixgbe_main.c.orig b/src/ixgbe_main.c
index 68bead6..bb3a100 100644
--- a/src/ixgbe_main.c.orig
+++ b/src/ixgbe_main.c
@@ -9809,7 +9809,8 @@ static void ixgbe_set_prio_tc_map(struct ixgbe_adapter __maybe_unused *adapter)
#ifdef NETIF_F_HW_TC
static int
__ixgbe_setup_tc(struct net_device *dev, __always_unused u32 handle,
- __always_unused __be16 proto, struct tc_to_netdev *tc)
+ __always_unused u32 chain_index, __always_unused __be16 proto,
+ struct tc_to_netdev *tc)
{
if (tc->type != TC_SETUP_MQPRIO)
return -EINVAL;