i40e/i40evf: fix TSO accounting
authorJesse Brandeburg <jesse.brandeburg@intel.com>
Sat, 10 May 2014 04:49:12 +0000 (04:49 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sun, 8 Jun 2014 09:01:55 +0000 (02:01 -0700)
commit980093ebf777f95459eabcf0ca7a29db7e9a10f7
tree05ba527177f7d8dd0a15c04b3c12c6827486ddb1
parent63158f916f21b986743d0cb6f9e273d54a01ce7e
i40e/i40evf: fix TSO accounting

The TSO logic in the transmit path had some assumptions that
have been broken now that the kernel can send as much as 32kB
in a single skb->frag[.] entry, even on a system with 4kB pages.

This fixes the assumptions and allows the kernel to operate
as efficiently as possible with both SENDFILE and SEND.

In addition, the hardware limit of data contained in a descriptor is
changed to the next power of two below where it currently is in
order to align to a power of two value, preventing a single byte
of data in a descriptor.

Change-ID: I6af1f0b87c1458e10644dbd47541591075a52651
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_txrx.c
drivers/net/ethernet/intel/i40e/i40e_txrx.h
drivers/net/ethernet/intel/i40evf/i40e_txrx.c
drivers/net/ethernet/intel/i40evf/i40e_txrx.h