android_kernel_oneplus_msm8998/drivers/net/ethernet/intel
John Fastabend 4f8a91ad9a ixgbe: align flow control DV macros with datasheet
The flow control DV macros are used to calculate the flow control
high and low thresholds. This patch annotates these macros slightly
better and fixes the issues below.

The macro variables are renamed LINK to _max_frame_link and TC to
_max_frame_tc. This was to avoid confusion and make them more
readable. It was found that people auditing the code read TC to be
'traffic class' in the 802.1Q definition instead of the max frame
size of the tc. Hopefully it is clear now.

This audit also found the following real deviations from the
theoretical values. Fixed in this patch.

  * I multiplied the DV calculations by (36/25) which always
    evaluates to 1. This does not match the intended theoretical
    value of 1.44.

  * IXGBE_BT2KB added 1023 to account for rounding however this
    really should be 8 * 1023 - 1 to account for division by 8k.

  * x2 multiplication of max frame in DV calculations to account
    for updated hardware recommendations.

With this patch the DV values are inline with the recommendations
in the 82599 and 82598 data sheets. Its worth noting I did not
see any dropped frames with flow control on in my experiments without
this patch. However aligning with the hardware specs and
recommendations seems like a good idea here to account for worst
case scenarios.

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>
2012-06-14 03:12:17 -07:00
..
e1000 e1000: look into the page instead of skb->data for e1000_tbi_adjust_stats() 2012-06-02 00:04:19 -07:00
e1000e e1000e: use more informative logging macros when netdev not yet registered 2012-06-14 03:03:14 -07:00
igb igb: Disable the BMC-to-OS Watchdog Enable bit for DMAC. 2012-05-17 05:04:21 -07:00
igbvf igbvf: fix the bug when initializing the igbvf 2012-04-30 18:54:31 -07:00
ixgb intel: make wired ethernet driver message level consistent (rev2) 2012-03-27 23:29:22 -07:00
ixgbe ixgbe: align flow control DV macros with datasheet 2012-06-14 03:12:17 -07:00
ixgbevf ixgbevf: Update version string 2012-05-03 02:38:38 -07:00
e100.c e100: enable transmit time stamping. 2012-04-14 02:02:41 -07:00
Kconfig ixgbe: Hardware Timestamping + PTP Hardware Clock (PHC) 2012-05-09 22:48:51 -07:00
Makefile