net: ethernet: mtk-star-emac: simplify interrupt handling
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Thu, 11 Jun 2020 14:01:39 +0000 (16:01 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 15 Jun 2020 20:30:58 +0000 (13:30 -0700)
commitadaff6d906d74dfe34d44fd18d5a7596d293df44
tree4e157af09d2e292c7612a51fe3f9504002738016
parentea2fce88d2fd678ed9d45354ff49b73f1d5615dd
net: ethernet: mtk-star-emac: simplify interrupt handling

During development we tried to make the interrupt handling as fine-grained
as possible with TX and RX interrupts being disabled/enabled independently
and the counter registers reset from workqueue context.

Unfortunately after thorough testing of current mainline, we noticed the
driver has become unstable under heavy load. While this is hard to
reproduce, it's quite consistent in the driver's current form.

This patch proposes to go back to the previous approach of doing all
processing in napi context with all interrupts masked in order to make the
driver usable in mainline linux. This doesn't impact the performance on
pumpkin boards at all and it's in line with what many ethernet drivers do
in mainline linux anyway.

At the same time we're adding a FIXME comment about the need to improve
the interrupt handling.

Fixes: 8c7bd5a454ff ("net: ethernet: mtk-star-emac: new driver")
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mediatek/mtk_star_emac.c