igb: Clarify idleslope config constraints
Subsystems (2)
PATCH 1/1 igb: Clarify idleslope config constraints
By design, the idleslope increments are restricted to 16.384kbps steps. Add a comment to igb_main.c making that explicit and add one example that illustrates the impact of that.
--- drivers/net/ethernet/intel/igb/igb_main.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
drivers/net/ethernet/intel/igb/igb_main.c +14 -0
@@ -1744,6 +1744,20 @@ static void igb_configure_cbs(struct igb_adapter *adapter, int queue,* value = idleSlope * 61034 * ----------------- (E6) * 1000000 +* +* NOTE: For i210, given the above, we can see that idleslope +* is represented in 16.38431 kbps units by the value at +* the TQAVCC register (1Gbps / 61034), which reduces +* the granularity for idleslope increments. +* For instance, if you want to configure a 2576kbps +* idleslope, the value to be written on the register +* would have to be 157.23. If rounded down, you end +* up with less bandwidth available than originally +* required (~2572 kbps). If rounded up, you end up +* with a higher bandwidth (~2589 kbps). Below the +* approach we take is to always round up the +* calculated value, so the resulting bandwidth might +* be slightly higher for some configurations. */ value =DIV_ROUND_UP_ULL (idleslope *61034ULL ,1000000 );
Signature · 1 line
2.14.1
Guedes
PATCH 1/1 igb: Clarify idleslope config constraints
Quoted 36 lines · Jesus Sanchez-Palencia
By design, the idleslope increments are restricted to 16.384kbps steps. Add a comment to
igb_main.cmaking that explicit and add one example that illustrates the impact of that.Signed-off-by Jesus Sanchez-Palencia <[email protected]>---
?drivers/net/ethernet/intel/igb/igb_main.c | 14 ++++++++++++++ ?1 file changed, 14 insertions(+)drivers/net/ethernet/intel/igb/igb_main.c +0
-0@@ -1744,6 +1744,20 @@ static void igb_configure_cbs(struct igb_adapter *adapter, int queue,? ?*?????value = idleSlope * 61034
? ?*?????????????--------------
---??????????????????????????(E6)
? ?*??????????????????1000000drivers/net/ethernet/intel/igb/igb_main.c +2
-0+ ?* + ?* NOTE: For i210, given the above, we can see thatidleslope
drivers/net/ethernet/intel/igb/igb_main.c +1
-0+ ?*???????is represented in 16.38431 kbps units by the valueat
drivers/net/ethernet/intel/igb/igb_main.c +11
-0+ ?*???????the TQAVCC register (1Gbps / 61034), which reduces + ?*???????the granularity for idleslope increments. + ?*???????For instance, if you want to configure a 2576kbps + ?*???????idleslope, the value to be written on the register + ?*???????would have to be 157.23. If rounded down, you end + ?*???????up with less bandwidth available than originally + ?*???????required (~2572 kbps). If rounded up, you end up + ?*???????with a higher bandwidth (~2589 kbps). Below the + ?*???????approach we take is to always round up the + ?*???????calculated value, so the resulting bandwidth might + ?*???????be slightly higher for some configurations.
Quoted 3 lines
? ?*/
? value =DIV_ROUND_UP_ULL(idleslope * 61034ULL, 1000000);
?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3262 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20171110/bf3b55bd/attachment-0001.bin>
Brown
PATCH 1/1 igb: Clarify idleslope config constraints
In reply to Jesus Sanchez-PalenciaQuoted 9 lines
From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On Behalf Of Jesus Sanchez-Palencia
Sent: Friday, November 10, 2017 2:22 PM
To: intel-wired-lan at lists.osuosl.org
Cc: Sanchez-Palencia, Jesus <[email protected]>; Guedes, Andre <[email protected]>; Briano, Ivan <[email protected]>
Subject: [Intel-wired-lan] [PATCH net-next] igb: Clarify idleslope config constraints
Quoted 8 lines
By design, the idleslope increments are restricted to 16.384kbps steps. Add a comment to
igb_main.cmaking that explicit and add one example that illustrates the impact of that.Signed-off-by Jesus Sanchez-Palencia <[email protected]>--- drivers/net/ethernet/intel/igb/igb_main.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)