Thread (11 messages) 11 messages, 2 authors, 2012-06-20

[net-next 2/9] igb: A fix to VF TX rate limit

flat view
STALE5234d SUPERSEDED: 1 (0M)

From: Jeff Kirsher <hidden>
Date: 2012-06-20 08:45:07
Subsystem: intel ethernet drivers, networking drivers, the rest · Maintainers: Tony Nguyen, Przemek Kitszel, Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds

Revision v1 of 228 in this series; 1 review trailer.

Revisions (228)
  1. v1
  2. v1
  3. v2 [diff vs current]
  4. v1
  5. v1
  6. v1
  7. v2 [diff vs current]
  8. v1
  9. v1
  10. v1
  11. v1
  12. v1
  13. v1
  14. v1
  15. v1
  16. v1
  17. v1
  18. v2 [diff vs current]
  19. v1
  20. v3 [diff vs current]
  21. v1
  22. v1
  23. v1
  24. v2 [diff vs current]
  25. v2 [diff vs current]
  26. v1
  27. v2 [diff vs current]
  28. v1
  29. v2 [diff vs current]
  30. v3 [diff vs current]
  31. v1
  32. v1
  33. v1
  34. v2 [diff vs current]
  35. v1
  36. v1
  37. v1
  38. v2 [diff vs current]
  39. v1
  40. v1
  41. v1
  42. v1
  43. v1
  44. v2 [diff vs current]
  45. v1
  46. v2 [diff vs current]
  47. v1
  48. v1
  49. v1
  50. v1
  51. v1
  52. v1
  53. v1
  54. v1
  55. v1
  56. v1
  57. v1
  58. v1
  59. v1
  60. v1
  61. v1
  62. v1
  63. v1
  64. v1
  65. v1
  66. v1
  67. v1
  68. v2 [diff vs current]
  69. v1
  70. v2 [diff vs current]
  71. v1
  72. v1
  73. v2 [diff vs current]
  74. v1
  75. v1
  76. v1
  77. v2 [diff vs current]
  78. v3 [diff vs current]
  79. v1
  80. v2 [diff vs current]
  81. v1
  82. v1
  83. v1
  84. v1
  85. v1 current
  86. v1
  87. v1
  88. v1
  89. v1
  90. v1
  91. v1
  92. v1
  93. v1
  94. v1
  95. v1
  96. v1
  97. v1
  98. v1
  99. v1
  100. v1
  101. v1
  102. v1
  103. v2 [diff vs current]
  104. v1
  105. v1
  106. v1
  107. v1
  108. v1
  109. v1
  110. v1
  111. v1
  112. v1
  113. v2 [diff vs current]
  114. v1
  115. v1
  116. v1
  117. v1
  118. v1
  119. v2 [diff vs current]
  120. v1
  121. v1
  122. v1
  123. v1
  124. v1
  125. v2 [diff vs current]
  126. v1
  127. v2 [diff vs current]
  128. v1
  129. v1
  130. v1
  131. v1
  132. v1
  133. v1
  134. v1
  135. v1
  136. v1
  137. v1
  138. v1
  139. v1
  140. v2 [diff vs current]
  141. v1
  142. v1
  143. v2 [diff vs current]
  144. v1
  145. v1
  146. v1
  147. v1
  148. v1
  149. v1
  150. v2 [diff vs current]
  151. v1
  152. v2 [diff vs current]
  153. v2 [diff vs current]
  154. v1
  155. v2 [diff vs current]
  156. v3 [diff vs current]
  157. v1
  158. v4 [diff vs current]
  159. v1
  160. v5 [diff vs current]
  161. v6 [diff vs current]
  162. v7 [diff vs current]
  163. v1
  164. v1
  165. v2 [diff vs current]
  166. v1
  167. v1
  168. v1
  169. v2 [diff vs current]
  170. v1
  171. v1
  172. v1
  173. v1
  174. v1
  175. v2 [diff vs current]
  176. v1
  177. v1
  178. v1
  179. v1
  180. v2 [diff vs current]
  181. v1
  182. v1
  183. v1
  184. v2 [diff vs current]
  185. v3 [diff vs current]
  186. v4 [diff vs current]
  187. v1
  188. v1
  189. v2 [diff vs current]
  190. v5 [diff vs current]
  191. v1
  192. v1
  193. v1
  194. v2 [diff vs current]
  195. v1
  196. v1
  197. v2 [diff vs current]
  198. v3 [diff vs current]
  199. v1
  200. v2 [diff vs current]
  201. v1
  202. v1
  203. v2 [diff vs current]
  204. v1
  205. v2 [diff vs current]
  206. v1
  207. v2 [diff vs current]
  208. v3 [diff vs current]
  209. v1
  210. v1
  211. v1
  212. v2 [diff vs current]
  213. v1
  214. v1
  215. v1
  216. v1
  217. v1
  218. v1
  219. v2 [diff vs current]
  220. v1
  221. v1
  222. v1
  223. v1
  224. v2 [diff vs current]
  225. v1
  226. v1
  227. v1
  228. v2 [diff vs current]
From: Lior Levy <redacted>

There is a need to configure MMW_SIZE in register RTTBCNRM with a correct
value. For 82576 device, the value should be 0x14.

Signed-off-by: Lior Levy <redacted>
Tested-by: Jeff Pieper <redacted>
Signed-off-by: Jeff Kirsher <redacted>
---
 drivers/net/ethernet/intel/igb/e1000_regs.h |    1 +
 drivers/net/ethernet/intel/igb/igb_main.c   |    5 +++++
 2 files changed, 6 insertions(+)
diff --git a/drivers/net/ethernet/intel/igb/e1000_regs.h b/drivers/net/ethernet/intel/igb/e1000_regs.h
index 35d1e4f..10efcd8 100644
--- a/drivers/net/ethernet/intel/igb/e1000_regs.h
+++ b/drivers/net/ethernet/intel/igb/e1000_regs.h
@@ -117,6 +117,7 @@
 
 /* TX Rate Limit Registers */
 #define E1000_RTTDQSEL	0x3604	/* Tx Desc Plane Queue Select - WO */
+#define E1000_RTTBCNRM	0x3690	/* Tx BCN Rate-scheduler MMW */
 #define E1000_RTTBCNRC	0x36B0	/* Tx BCN Rate-Scheduler Config - WO */
 
 /* Split and Replication RX Control - RW */
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index dd3bfe8..6409054 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -6997,6 +6997,11 @@ static void igb_set_vf_rate_limit(struct e1000_hw *hw, int vf, int tx_rate,
 	}
 
 	wr32(E1000_RTTDQSEL, vf); /* vf X uses queue X */
+	/*
+	 * Set global transmit compensation time to the MMW_SIZE in RTTBCNRM
+	 * register. MMW_SIZE=0x014 if 9728-byte jumbo is supported.
+	 */
+	wr32(E1000_RTTBCNRM, 0x14);
 	wr32(E1000_RTTBCNRC, bcnrc_val);
 }
 
-- 
1.7.10.2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help