1234567891011121314151617181920212223242526272829303132 |
- From 4742349c1595d38b3e3b463e66cf21af4217c869 Mon Sep 17 00:00:00 2001
- From: John Crispin <blogic@openwrt.org>
- Date: Thu, 7 Apr 2016 17:36:23 +0200
- Subject: [PATCH 069/102] net: mediatek: do not set the QID field in the TX
- DMA descriptors
- The QID field gets set to the mac id. This made the DMA linked list queue
- the traffic of each MAC on a different internal queue. However during long
- term testing we found that this will cause traffic stalls as the multi
- queue setup requires a more complete initialisation which is not part of
- the upstream driver yet.
- This patch removes the code setting the QID field, resulting in all
- traffic ending up in queue 0 which works without any special setup.
- Signed-off-by: John Crispin <blogic@openwrt.org>
- ---
- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
- --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
- +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
- @@ -603,8 +603,7 @@ static int mtk_tx_map(struct sk_buff *sk
- WRITE_ONCE(txd->txd1, mapped_addr);
- WRITE_ONCE(txd->txd3, (TX_DMA_SWC |
- TX_DMA_PLEN0(frag_map_size) |
- - last_frag * TX_DMA_LS0) |
- - mac->id);
- + last_frag * TX_DMA_LS0));
- WRITE_ONCE(txd->txd4, 0);
-
- tx_buf->skb = (struct sk_buff *)MTK_DMA_DUMMY_DESC;
|