aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ixgbe/ixgbe_api.c
diff options
context:
space:
mode:
authorJack F Vogel <jfv@FreeBSD.org>2010-03-27 00:21:40 +0000
committerJack F Vogel <jfv@FreeBSD.org>2010-03-27 00:21:40 +0000
commitc00148556a4cbd3d8fd249c1d32968d95dcdfe29 (patch)
tree56ba93eba1abadf72b500969032db51e45f29957 /sys/dev/ixgbe/ixgbe_api.c
parent1764e57174705ac12de7a47b55a99706a4a7b999 (diff)
Update the driver to Intel version 2.1.6
- add some new hardware support for 82599 - Big change to interrupt architecture, it now uses a queue which contains an RX/TX pair as the recipient of the interrupt. This will reduce overall system interrupts/msix usage. - Improved RX mbuf handling: the old get_buf routine is no longer synchronized with rxeof, this allows the elimination of packet discards due to mbuf allocation failure. - Much simplified and improved AIM code, it now happens in the queue interrupt context and takes into account both the traffic on the RX AND TX side. - variety of small tweaks, like ring size, that have been seen as performance improvements. - Thanks to those that provided feedback or suggested changes, I hope I've caught all of them.
Notes
svn path=/head/; revision=205720
Diffstat (limited to 'sys/dev/ixgbe/ixgbe_api.c')
-rw-r--r--sys/dev/ixgbe/ixgbe_api.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/sys/dev/ixgbe/ixgbe_api.c b/sys/dev/ixgbe/ixgbe_api.c
index 44644574860c..a65686e29f21 100644
--- a/sys/dev/ixgbe/ixgbe_api.c
+++ b/sys/dev/ixgbe/ixgbe_api.c
@@ -1,6 +1,6 @@
/******************************************************************************
- Copyright (c) 2001-2009, Intel Corporation
+ Copyright (c) 2001-2010, Intel Corporation
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -111,6 +111,7 @@ s32 ixgbe_set_mac_type(struct ixgbe_hw *hw)
case IXGBE_DEV_ID_82599_COMBO_BACKPLANE:
case IXGBE_DEV_ID_82599_SFP:
case IXGBE_DEV_ID_82599_CX4:
+ case IXGBE_DEV_ID_82599_T3_LOM:
hw->mac.type = ixgbe_mac_82599EB;
break;
default:
@@ -168,6 +169,20 @@ s32 ixgbe_start_hw(struct ixgbe_hw *hw)
}
/**
+ * ixgbe_enable_relaxed_ordering - Enables tx relaxed ordering,
+ * which is disabled by default in ixgbe_start_hw();
+ *
+ * @hw: pointer to hardware structure
+ *
+ * Enable relaxed ordering;
+ **/
+void ixgbe_enable_relaxed_ordering(struct ixgbe_hw *hw)
+{
+ if (hw->mac.ops.enable_relaxed_ordering)
+ hw->mac.ops.enable_relaxed_ordering(hw);
+}
+
+/**
* ixgbe_clear_hw_cntrs - Clear hardware counters
* @hw: pointer to hardware structure
*