linux/drivers/net/ethernet/intel/igb
Vinicius Costa Gomes 2707df9773 igb: Fix the transmission mode of queue 0 for Qav mode
When Qav mode is enabled, queue 0 should be kept on Stream Reservation
mode. From the i210 datasheet, section 8.12.19:

"Note: Queue0 QueueMode must be set to 1b when TransmitMode is set to
Qav." ("QueueMode 1b" represents the Stream Reservation mode)

The solution is to give queue 0 the all the credits it might need, so
it has priority over queue 1.

A situation where this can happen is when cbs is "installed" only on
queue 1, leaving queue 0 alone. For example:

$ tc qdisc replace dev enp2s0 handle 100: parent root mqprio num_tc 3 \
     	   map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@1 2@2 hw 0

$ tc qdisc replace dev enp2s0 parent 100:2 cbs locredit -1470 \
     	   hicredit 30 sendslope -980000 idleslope 20000 offload 1

Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2018-04-24 08:53:19 -07:00
..
Makefile intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
e1000_82575.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
e1000_82575.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
e1000_defines.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
e1000_hw.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
e1000_i210.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
e1000_i210.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
e1000_mac.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
e1000_mac.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
e1000_mbx.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
e1000_mbx.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
e1000_nvm.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
e1000_nvm.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
e1000_phy.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
e1000_phy.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
e1000_regs.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
igb.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
igb_ethtool.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
igb_hwmon.c ethernet: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
igb_main.c igb: Fix the transmission mode of queue 0 for Qav mode 2018-04-24 08:53:19 -07:00
igb_ptp.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00