Hi.
i check the code again. found xmit_more can cause tx timeout. you can
reference this.
https://www.mail-archive.com/netdev@vger.kernel.org/msg123334.html
so the patch should be like this. edit mtk_eth_soc.c
tx_num = fe_cal_txd_req(skb);
if (unlikely(fe_empty_txd(ring) <= tx_num
Hi Kristian.
does this patch works?
2017-07-24 23:45 GMT+08:00 Mingyu Li :
> i guess more other interrupts maybe cause the problem. because the
> ethernet receive flow is interrupt by other hardware. so use sd card,
> wifi or usb can generate interrupts.
>
> 2017-07-24 17:19 GMT
i guess more other interrupts maybe cause the problem. because the
ethernet receive flow is interrupt by other hardware. so use sd card,
wifi or usb can generate interrupts.
2017-07-24 17:19 GMT+08:00 Kristian Evensen :
> Hi,
>
> On Mon, Jul 24, 2017 at 4:02 AM, Mingyu Li wrote:
>&
Hi.
i guest the problem is there are some tx data not free. but tx
interrupt is clean. cause tx timeout. the old code will free data
first then clean interrupt. but there maybe new data arrive after free
data before clean interrupt.
so change it to clean interrupt first then clean all tx data( als
Hi.
i write a path. could you help to verify it?
--- a/mtk_eth_soc.c 2017-07-22 08:13:52.845251484 +0800
+++ b/mtk_eth_soc.c 2017-07-23 22:38:37.746471417 +0800
@@ -810,6 +810,8 @@
u8 *data, *new_data;
struct fe_rx_dma *rxd, trxd;
int done = 0, pad;
+ u32 hwi
Hi Gaetano Catalli
i change your mtk_eth_soc.c driver part. because mt7621 don't need to
set FE_GDMA1_FWD_CFG register to enable jumbo frame. and keep
MAX_RX_LENGTH because other chips need it.
i also made a patch on github
https://github.com/igvtee/source/commit/c4a660d991011e2c0e232758500d56faa