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)
commit1d63b8d66d146deaaedbe16c80de105f685ea012
treed709f73201229581de0800d4bfbbf0a1fbcc3737
parent770d9c67974c4c71af4beb786dc43162ad2a15ba
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: 92744989533c ("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