From: "Bc-bocun Chen (陳柏村)" <bc-bocun.chen@mediatek.com>
To: "Mark-MC Lee (李明昌)" <Mark-MC.Lee@mediatek.com>,
"linux@fw-web.de" <linux@fw-web.de>,
"nbd@nbd.name" <nbd@nbd.name>,
"lorenzo@kernel.org" <lorenzo@kernel.org>,
"Sean Wang" <Sean.Wang@mediatek.com>,
"kuba@kernel.org" <kuba@kernel.org>,
"edumazet@google.com" <edumazet@google.com>,
"pabeni@redhat.com" <pabeni@redhat.com>,
"matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
"davem@davemloft.net" <davem@davemloft.net>,
"angelogioacchino.delregno@collabora.com"
<angelogioacchino.delregno@collabora.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Mason-cw Chang (張哲維)" <Mason-cw.Chang@mediatek.com>,
"linux-mediatek@lists.infradead.org"
<linux-mediatek@lists.infradead.org>,
"Chak-kei Lam (林澤基)" <Chak-kei.Lam@mediatek.com>,
"john@phrozen.org" <john@phrozen.org>,
"frank-w@public-files.de" <frank-w@public-files.de>,
"Neal Yen (嚴仕佳)" <Neal.Yen@mediatek.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"daniel@makrotopia.org" <daniel@makrotopia.org>
Subject: Re: [net v2] net: ethernet: mtk_eth_soc: handle dma buffer size soc specific
Date: Wed, 29 May 2024 05:36:06 +0000 [thread overview]
Message-ID: <67e46c939bb3eb000c6e032b0b49c0ed58bd04a7.camel@mediatek.com> (raw)
In-Reply-To: <20240527142142.126796-1-linux@fw-web.de>
On Mon, 2024-05-27 at 16:21 +0200, Frank Wunderlich wrote:
> From: Frank Wunderlich <frank-w@public-files.de>
>
> The mainline MTK ethernet driver suffers long time from rarly but
> annoying tx queue timeouts. We think that this is caused by fixed
> dma sizes hardcoded for all SoCs.
>
> Use the dma-size implementation from SDK in a per SoC manner.
>
> Fixes: 656e705243fd ("net-next: mediatek: add support for MT7623
> ethernet")
> Suggested-by: Daniel Golle <daniel@makrotopia.org>
> Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
> ---
> sorry for multiple posting in first version
>
> based on SDK:
>
https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+/fac194d6253d339e15c651c052b532a449a04d6e
>
> v2:
> - fix unused variable 'addr' in 32bit build
> ---
> drivers/net/ethernet/mediatek/mtk_eth_soc.c | 105 +++++++++++++----
> --
> drivers/net/ethernet/mediatek/mtk_eth_soc.h | 9 +-
> 2 files changed, 78 insertions(+), 36 deletions(-)
>
> diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> index cae46290a7ae..f1ff1be73926 100644
> --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
..............
> @@ -5176,6 +5201,8 @@ static const struct mtk_soc_data mt7981_data =
> {
> .desc_size = sizeof(struct mtk_tx_dma_v2),
> .dma_max_len = MTK_TX_DMA_BUF_LEN_V2,
> .dma_len_offset = 8,
> + .dma_size = MTK_DMA_SIZE(4K),
> + .fq_dma_size = MTK_DMA_SIZE(2K),
> },
> .rx = {
> .desc_size = sizeof(struct mtk_rx_dma),
> @@ -5183,6 +5210,7 @@ static const struct mtk_soc_data mt7981_data =
> {
> .dma_l4_valid = RX_DMA_L4_VALID_V2,
> .dma_max_len = MTK_TX_DMA_BUF_LEN,
> .dma_len_offset = 16,
> + .dma_size = MTK_DMA_SIZE(1K),
> },
> };
>
> @@ -5202,6 +5230,8 @@ static const struct mtk_soc_data mt7986_data =
> {
> .desc_size = sizeof(struct mtk_tx_dma_v2),
> .dma_max_len = MTK_TX_DMA_BUF_LEN_V2,
> .dma_len_offset = 8,
> + .dma_size = MTK_DMA_SIZE(4K),
> + .fq_dma_size = MTK_DMA_SIZE(2K),
> },
> .rx = {
> .desc_size = sizeof(struct mtk_rx_dma),
> @@ -5209,6 +5239,7 @@ static const struct mtk_soc_data mt7986_data =
> {
> .dma_l4_valid = RX_DMA_L4_VALID_V2,
> .dma_max_len = MTK_TX_DMA_BUF_LEN,
> .dma_len_offset = 16,
> + .dma_size = MTK_DMA_SIZE(1K),
> },
> };
>
> @@ -5228,6 +5259,8 @@ static const struct mtk_soc_data mt7988_data =
> {
> .desc_size = sizeof(struct mtk_tx_dma_v2),
> .dma_max_len = MTK_TX_DMA_BUF_LEN_V2,
> .dma_len_offset = 8,
> + .dma_size = MTK_DMA_SIZE(4K),
> + .fq_dma_size = MTK_DMA_SIZE(4K),
> },
> .rx = {
> .desc_size = sizeof(struct mtk_rx_dma_v2),
> @@ -5235,6 +5268,7 @@ static const struct mtk_soc_data mt7988_data =
> {
> .dma_l4_valid = RX_DMA_L4_VALID_V2,
> .dma_max_len = MTK_TX_DMA_BUF_LEN_V2,
> .dma_len_offset = 8,
> + .dma_size = MTK_DMA_SIZE(1K),
> },
> };
..............
Thank you for assisting in upstreaming this patch from the mainline MTK
driver.
Currently, the RSS feature has not been upstreamed. It is recommanded
to use 2048 DMADs for both TX and RX Rings on the MT7981/86/88.
prev parent reply other threads:[~2024-05-29 5:36 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-27 14:21 [net v2] net: ethernet: mtk_eth_soc: handle dma buffer size soc specific Frank Wunderlich
2024-05-27 15:55 ` Sunil Kovvuri Goutham
2024-05-27 16:13 ` Daniel Golle
2024-05-29 4:11 ` Bc-bocun Chen (陳柏村)
2024-05-29 17:50 ` Sunil Kovvuri Goutham
2024-05-30 1:46 ` Bc-bocun Chen (陳柏村)
2024-05-30 4:21 ` Florian Fainelli
2024-05-30 4:39 ` Sunil Kovvuri Goutham
2024-05-29 5:36 ` Bc-bocun Chen (陳柏村) [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=67e46c939bb3eb000c6e032b0b49c0ed58bd04a7.camel@mediatek.com \
--to=bc-bocun.chen@mediatek.com \
--cc=Chak-kei.Lam@mediatek.com \
--cc=Mark-MC.Lee@mediatek.com \
--cc=Mason-cw.Chang@mediatek.com \
--cc=Neal.Yen@mediatek.com \
--cc=Sean.Wang@mediatek.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=daniel@makrotopia.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=frank-w@public-files.de \
--cc=john@phrozen.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux@fw-web.de \
--cc=lorenzo@kernel.org \
--cc=matthias.bgg@gmail.com \
--cc=nbd@nbd.name \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).