net: emaclite: Use indirect reg access in send
authorMichal Simek <michal.simek@xilinx.com>
Thu, 10 Dec 2015 15:01:50 +0000 (16:01 +0100)
committerMichal Simek <michal.simek@xilinx.com>
Wed, 27 Jan 2016 14:55:52 +0000 (15:55 +0100)
commit007025183626f8ba492ba29bdb88159bb7a4d53f
tree04278b3f674b1fd033419b17c3f4e4d6a05d4efd
parent15c239c8cea70c6c86498018c8008ba8fe9830df
net: emaclite: Use indirect reg access in send

The original logic in the driver was exchanging buffers which are used for
sending packet and tx_ping and tx_pong buffers were exchanged all the
time to ensure that IP has enough time to send the packet out.
Based on this "feature" send function was using nextbuffertouse variable
to save which buffer should be used.
Before this algorithm was called driver checked that there is free
buffer available.
This checking remains in the driver but driver tries to use tx_ping
first if available. If not, tx_pong buffer is used instead.
To reach this code the original condition is met that at least one of the
buffer should be available.
Testing doesn't show any performance drop when this patch is applied.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
drivers/net/xilinx_emaclite.c