aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000
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/e1000
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/e1000')
-rw-r--r--drivers/net/e1000/e1000_main.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 8d9269d12a67..a1daceadca84 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -988,8 +988,10 @@ static int __devinit e1000_probe(struct pci_dev *pdev,
988 (hw->mac_type != e1000_82547)) 988 (hw->mac_type != e1000_82547))
989 netdev->features |= NETIF_F_TSO; 989 netdev->features |= NETIF_F_TSO;
990 990
991 if (pci_using_dac) 991 if (pci_using_dac) {
992 netdev->features |= NETIF_F_HIGHDMA; 992 netdev->features |= NETIF_F_HIGHDMA;
993 netdev->vlan_features |= NETIF_F_HIGHDMA;
994 }
993 995
994 netdev->vlan_features |= NETIF_F_TSO; 996 netdev->vlan_features |= NETIF_F_TSO;
995 netdev->vlan_features |= NETIF_F_HW_CSUM; 997 netdev->vlan_features |= NETIF_F_HW_CSUM;