]> git.baikalelectronics.ru Git - kernel.git/commit
net: mvneta: set real interrupt per packet for tx_done
authorDmitri Epshtein <dima@marvell.com>
Wed, 6 Jul 2016 02:18:58 +0000 (04:18 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 9 Jul 2016 03:44:44 +0000 (23:44 -0400)
commitb3c75e9be94dc59bfcba6a6ee891cb8cdcf078cb
tree3482b63b0ce13067db1de490d618c7b2758176d4
parent705e779dafad1325c9db634d50ea4b65aeebb537
net: mvneta: set real interrupt per packet for tx_done

Commit ebcfb5907d5c ("net: mvneta: fix Tx interrupt delay") intended to
set coalescing threshold to a value guaranteeing interrupt generation
per each sent packet, so that buffers can be released with no delay.

In fact setting threshold to '1' was wrong, because it causes interrupt
every two packets. According to the documentation a reason behind it is
following - interrupt occurs once sent buffers counter reaches a value,
which is higher than one specified in MVNETA_TXQ_SIZE_REG(q). This
behavior was confirmed during tests. Also when testing the SoC working
as a NAS device, better performance was observed with int-per-packet,
as it strongly depends on the fact that all transmitted packets are
released immediately.

This commit enables NETA controller work in interrupt per sent packet mode
by setting coalescing threshold to 0.

Signed-off-by: Dmitri Epshtein <dima@marvell.com>
Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Cc: <stable@vger.kernel.org> # v3.10+
Fixes ebcfb5907d5c ("net: mvneta: fix Tx interrupt delay")
Acked-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvneta.c