aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/igb
diff options
context:
space:
mode:
authorYi Zou <yi.zou@intel.com>2010-09-22 13:57:58 -0400
committerDavid S. Miller <davem@davemloft.net>2010-09-23 00:20:04 -0400
commit7b872a55c40b7e6f5e257c252f96dde911bd7b2f (patch)
tree8541d31e7ba17083e488104fd4f6fc72d6c71581 /drivers/net/igb
parent308fb39a860c816be8741fe783ae7c64e9c1af5d (diff)
e1000/e1000e/igb/ixgb/ixgbe: set NETIF_F_HIGHDMA for VLAN feature flags
If the netdev->features is set with NETIF_F_HIGHDMA, we should set the corresponding netdev->vlan_features as well to allow VLAN netdev created on top of the real netdev to be able to also benefit from HIGHDMA on 32bit system, reducing the performance hit that is caused by __skb_linearize(), particularly for large send. This is fixed in this patch for all Intel e1000, e1000e, igb, ixgbe, and ixgbe drivers since this should be beneficial to all devices supported by these drivers. Signed-off-by: Yi Zou <yi.zou@intel.com> Tested-by: Emil Tantilov <emil.s.tantilov@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/igb')
-rw-r--r--drivers/net/igb/igb_main.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index 61892b80d7a..f915e9cb302 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -1858,8 +1858,10 @@ static int __devinit igb_probe(struct pci_dev *pdev,
1858 netdev->vlan_features |= NETIF_F_IPV6_CSUM; 1858 netdev->vlan_features |= NETIF_F_IPV6_CSUM;
1859 netdev->vlan_features |= NETIF_F_SG; 1859 netdev->vlan_features |= NETIF_F_SG;
1860 1860
1861 if (pci_using_dac) 1861 if (pci_using_dac) {
1862 netdev->features |= NETIF_F_HIGHDMA; 1862 netdev->features |= NETIF_F_HIGHDMA;
1863 netdev->vlan_features |= NETIF_F_HIGHDMA;
1864 }
1863 1865
1864 if (hw->mac.type >= e1000_82576) 1866 if (hw->mac.type >= e1000_82576)
1865 netdev->features |= NETIF_F_SCTP_CSUM; 1867 netdev->features |= NETIF_F_SCTP_CSUM;