Commit cdf485be authored by John Fastabend's avatar John Fastabend Committed by Jeff Kirsher

ixgbe: dcb: use DCB config values for FCoE traffic class on open

Disabling and enabling DCB can cause FCoE hardware initialization to
occur on the incorrect traffic class when the up2tc mapping has not
yet been reconfigured.

Fix this by using the DCB configuration maps that are correct
and will be pushed at mqprio after DCB driver setup completes
successfully.
Signed-off-by: default avatarJohn Fastabend <john.r.fastabend@intel.com>
Tested-by: default avatarMarcus Dennis <marcusx.e.dennis@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent d2f5e7f3
...@@ -4391,11 +4391,13 @@ static inline bool ixgbe_set_dcb_queues(struct ixgbe_adapter *adapter) ...@@ -4391,11 +4391,13 @@ static inline bool ixgbe_set_dcb_queues(struct ixgbe_adapter *adapter)
* configuration later. * configuration later.
*/ */
if (adapter->flags & IXGBE_FLAG_FCOE_ENABLED) { if (adapter->flags & IXGBE_FLAG_FCOE_ENABLED) {
u8 prio_tc[MAX_USER_PRIORITY] = {0};
int tc; int tc;
struct ixgbe_ring_feature *f = struct ixgbe_ring_feature *f =
&adapter->ring_feature[RING_F_FCOE]; &adapter->ring_feature[RING_F_FCOE];
tc = netdev_get_prio_tc_map(dev, adapter->fcoe.up); ixgbe_dcb_unpack_map(&adapter->dcb_cfg, DCB_TX_CONFIG, prio_tc);
tc = prio_tc[adapter->fcoe.up];
f->indices = dev->tc_to_txq[tc].count; f->indices = dev->tc_to_txq[tc].count;
f->mask = dev->tc_to_txq[tc].offset; f->mask = dev->tc_to_txq[tc].offset;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment