e1000e : Correct Rx Threshold granularity
authorRuchika Gupta <ruchika.gupta@freescale.com>
Thu, 19 Apr 2012 02:27:11 +0000 (02:27 +0000)
committerJoe Hershberger <joe.hershberger@ni.com>
Sat, 15 Dec 2012 18:28:21 +0000 (12:28 -0600)
commit776e66e8f1df7f092e6a543d47391a85509c1a2b
treeaac0b4fbc3069b855a4847674213ab5478cea7cc
parentebbf0d20aa85f623c49b7ed3349ebfea450c152d
e1000e : Correct Rx Threshold granularity

In e1000e driver, Rx descriptor queue is used such that hardware can add only
one descriptor at a time. So the WTHRESH granularity in RXDCTL should be set
to single descriptor. This would ensure that every time controller fills a Rx
descriptor, it is flushed to host memory. Earlier this granularity was in
cache line units i.e 2 descriptors. This leads to controller always waiting
for 2 descriptors before flushing them out. But since not more than one Rx BD
is actually available , the accumulation condition never gets hit.

Signed-off-by: Ruchika Gupta <ruchika.gupta@freescale.com>
Signed-off-by: Vakul Garg <vakul@freescale.com>
Acked-by: Roy Zang <tie-fei.zang@freescale.com>
drivers/net/e1000.c
drivers/net/e1000.h