]> 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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 21 Mar 2020 07:11:51 +0000 (08:11 +0100)
commit18386bc5dc070e0b458a13b26165d82be22f6f37
treeeda18b5c5fab22496f694a1bb669b42673e76dc2
parent0480d6811311f3d891b0d1b30711f8c5b56db8d0
net: ll_temac: Handle DMA halt condition caused by buffer underrun

[ Upstream commit 93b5e398d5aa11f31d6646e74ccf957517670c2b ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/xilinx/ll_temac.h
drivers/net/ethernet/xilinx/ll_temac_main.c