aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbe/ixgbe_dcb_82599.h
diff options
context:
space:
mode:
authorJohn Fastabend <john.r.fastabend@intel.com>2011-02-23 00:58:19 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2011-03-12 07:12:54 -0500
commit17049d30c2dec6f26d6165cc135578f9e41d53d3 (patch)
treeb58a6c005d89c15a58213cc2e62e9d4de81d8c37 /drivers/net/ixgbe/ixgbe_dcb_82599.h
parent3b97fd695453ced96f22bdf1a84453f6744d25cc (diff)
ixgbe: IEEE 802.1Qaz, implement priority assignment table
This patch adds support to use the priority assignment table in the ieee_ets structure to map priorities to traffic classes. Previously ixgbe only supported a 1:1 mapping. Now we can enable and disable hardware DCB support when multiple traffic classes are actually being used. This allows the default case all priorities mapped to traffic class 0 to work in normal hardware mode and utilize the full packet buffer. This patch does not address putting the hardware in 4TC mode so packet buffer space may be underutilized in this case. A follow up patch can address this optimization. But at least we have the hooks to do this now. Also CEE will behave as it always has and map priorities 1:1 with traffic classes. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_dcb_82599.h')
-rw-r--r--drivers/net/ixgbe/ixgbe_dcb_82599.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/ixgbe/ixgbe_dcb_82599.h b/drivers/net/ixgbe/ixgbe_dcb_82599.h
index 0b39ab4ffc70..148fd8b477a9 100644
--- a/drivers/net/ixgbe/ixgbe_dcb_82599.h
+++ b/drivers/net/ixgbe/ixgbe_dcb_82599.h
@@ -109,7 +109,8 @@ s32 ixgbe_dcb_config_rx_arbiter_82599(struct ixgbe_hw *hw,
109 u16 *refill, 109 u16 *refill,
110 u16 *max, 110 u16 *max,
111 u8 *bwg_id, 111 u8 *bwg_id,
112 u8 *prio_type); 112 u8 *prio_type,
113 u8 *prio_tc);
113 114
114s32 ixgbe_dcb_config_tx_desc_arbiter_82599(struct ixgbe_hw *hw, 115s32 ixgbe_dcb_config_tx_desc_arbiter_82599(struct ixgbe_hw *hw,
115 u16 *refill, 116 u16 *refill,
@@ -121,10 +122,12 @@ s32 ixgbe_dcb_config_tx_data_arbiter_82599(struct ixgbe_hw *hw,
121 u16 *refill, 122 u16 *refill,
122 u16 *max, 123 u16 *max,
123 u8 *bwg_id, 124 u8 *bwg_id,
124 u8 *prio_type); 125 u8 *prio_type,
126 u8 *prio_tc);
125 127
126s32 ixgbe_dcb_hw_config_82599(struct ixgbe_hw *hw, 128s32 ixgbe_dcb_hw_config_82599(struct ixgbe_hw *hw,
127 u8 rx_pba, u8 pfc_en, u16 *refill, 129 u8 rx_pba, u8 pfc_en, u16 *refill,
128 u16 *max, u8 *bwg_id, u8 *prio_type); 130 u16 *max, u8 *bwg_id, u8 *prio_type,
131 u8 *prio_tc);
129 132
130#endif /* _DCB_82599_CONFIG_H */ 133#endif /* _DCB_82599_CONFIG_H */