]> git.baikalelectronics.ru Git - kernel.git/commit
net: ll_temac: Handle DMA halt condition caused by buffer underrun
authorEsben Haabendal <esben@geanix.com>
Fri, 21 Feb 2020 06:47:58 +0000 (07:47 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 24 Feb 2020 18:58:48 +0000 (10:58 -0800)
commitf25389898c8b8580dec0f08527ada7e65a3bf931
treed709f73201229581de0800d4bfbbf0a1fbcc3737
parentf030dab4e47971c39e79f2194cc3f654736bdb34
net: ll_temac: Handle DMA halt condition caused by buffer underrun

The SDMA engine used by TEMAC halts operation when it has finished
processing of the last buffer descriptor in the buffer ring.
Unfortunately, no interrupt event is generated when this happens,
so we need to setup another mechanism to make sure DMA operation is
restarted when enough buffers have been added to the ring.

Fixes: 7391458cef35 ("net: add Xilinx ll_temac device driver")
Signed-off-by: Esben Haabendal <esben@geanix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/xilinx/ll_temac.h
drivers/net/ethernet/xilinx/ll_temac_main.c