Home
last modified time | relevance | path

Searched hist:c233cf4074e50933edd5e82c3c5826923f0c1b10 (Results 1 – 1 of 1) sorted by relevance

/openbmc/linux/drivers/net/ethernet/freescale/
H A Dgianfar.cdiff c233cf4074e50933edd5e82c3c5826923f0c1b10 Tue Mar 19 02:40:02 CDT 2013 Claudiu Manoil <claudiu.manoil@freescale.com> gianfar: Fix tx napi polling

There are 2 issues with the current napi poll routine, with regards
to tx ring cleanup:
1) for multi-queue devices (MQ_MG_MODE), should tx_bit_map != rx_bit_map,
which is possible (and supported in h/w) if the DT property "fsl,tx-bit-map"
holds a different value than rx_bit_map, the current polling routine will
service the wrong Tx queues in this case (i.e. the interrupt group will
receive interrupts from tx queues that it will not service)
2) Tx cleanup completion consumes napi budget, whereas the napi budget
should be reserved for Rx work only.

The patch fixes these issues and provides a clean napi polling routine.
Napi poll completion is reached when all the Rx queues have been
serviced and there is no Tx work to do.

Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>