All of lore.kernel.org
 help / color / mirror / Atom feed
From: Piotr Raczynski <piotr.raczynski@intel.com>
To: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>,
	Alexandre Torgue <alexandre.torgue@foss.st.com>,
	Jose Abreu <joabreu@synopsys.com>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	"Andrew Lunn" <andrew@lunn.ch>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Serge Semin <fancer.lancer@gmail.com>,
	Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>,
	Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>,
	Christian Marangi <ansuelsmth@gmail.com>,
	Biao Huang <biao.huang@mediatek.com>,
	Yang Yingliang <yangyingliang@huawei.com>,
	<netdev@vger.kernel.org>,
	<linux-stm32@st-md-mailman.stormreply.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH net 05/13] net: stmmac: Enable ATDS for chain-mode
Date: Tue, 14 Mar 2023 12:42:22 +0100	[thread overview]
Message-ID: <ZBBdnu2OkCRFRinT@nimitz> (raw)
In-Reply-To: <20230313224237.28757-6-Sergey.Semin@baikalelectronics.ru>

On Tue, Mar 14, 2023 at 01:42:29AM +0300, Serge Semin wrote:
> It wasn't stated why the Alternate Descriptor Size shouldn't have been
> changed for the chained DMA descriptors, while the original commit did
> introduce some chain_mode.c modifications. So the ATDS-related change in
> commit c24602ef8664 ("stmmac: support extend descriptors") seems
> contradicting. Anyway from the DW MAC/GMAC hardware point of view there is
> no such limitation - whether the chained descriptors can't be used
> together with the extended alternate descriptors. Moreover not setting the
> BUS_MODE.ATDS flag will cause the driver malfunction in the framework of
> the IPC Full Checksum and Advanced Timestamp feature, since the later
> features require the additional 4-7 dwords of the DMA descriptor to set
> some flags and a timestamp. So to speak in order to have all these
> features working correctly in the chained mode too let's make sure the
> ATDS flag is set irrespectively from the DMA descriptors mode.
> 
> Fixes: c24602ef8664 ("stmmac: support extend descriptors")
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> ---
>  drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index 2ed63acaee5b..ee4297a25521 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -2907,7 +2907,6 @@ static int stmmac_init_dma_engine(struct stmmac_priv *priv)
>  	struct stmmac_rx_queue *rx_q;
>  	struct stmmac_tx_queue *tx_q;
>  	u32 chan = 0;
> -	int atds = 0;
>  	int ret = 0;
>  
>  	if (!priv->plat->dma_cfg || !priv->plat->dma_cfg->pbl) {
> @@ -2915,9 +2914,6 @@ static int stmmac_init_dma_engine(struct stmmac_priv *priv)
>  		return -EINVAL;
>  	}
>  
> -	if (priv->extend_desc && (priv->mode == STMMAC_RING_MODE))
> -		atds = 1;
> -
>  	ret = stmmac_reset(priv, priv->ioaddr);
>  	if (ret) {
>  		dev_err(priv->device, "Failed to reset the dma\n");
> @@ -2925,7 +2921,8 @@ static int stmmac_init_dma_engine(struct stmmac_priv *priv)
>  	}
>  
>  	/* DMA Configuration */
> -	stmmac_dma_init(priv, priv->ioaddr, priv->plat->dma_cfg, atds);
> +	stmmac_dma_init(priv, priv->ioaddr, priv->plat->dma_cfg,
> +			priv->extend_desc);
>  
>  	if (priv->plat->axi)
>  		stmmac_axi(priv, priv->ioaddr, priv->plat->axi);
> -- 
> 2.39.2
> 
> 
Looks fine, thanks.
Reviewed-by: Piotr Raczynski <piotr.raczynski@intel.com>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Piotr Raczynski <piotr.raczynski@intel.com>
To: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>,
	Alexandre Torgue <alexandre.torgue@foss.st.com>,
	Jose Abreu <joabreu@synopsys.com>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	"Andrew Lunn" <andrew@lunn.ch>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Serge Semin <fancer.lancer@gmail.com>,
	Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>,
	Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>,
	Christian Marangi <ansuelsmth@gmail.com>,
	Biao Huang <biao.huang@mediatek.com>,
	Yang Yingliang <yangyingliang@huawei.com>,
	<netdev@vger.kernel.org>,
	<linux-stm32@st-md-mailman.stormreply.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH net 05/13] net: stmmac: Enable ATDS for chain-mode
Date: Tue, 14 Mar 2023 12:42:22 +0100	[thread overview]
Message-ID: <ZBBdnu2OkCRFRinT@nimitz> (raw)
In-Reply-To: <20230313224237.28757-6-Sergey.Semin@baikalelectronics.ru>

On Tue, Mar 14, 2023 at 01:42:29AM +0300, Serge Semin wrote:
> It wasn't stated why the Alternate Descriptor Size shouldn't have been
> changed for the chained DMA descriptors, while the original commit did
> introduce some chain_mode.c modifications. So the ATDS-related change in
> commit c24602ef8664 ("stmmac: support extend descriptors") seems
> contradicting. Anyway from the DW MAC/GMAC hardware point of view there is
> no such limitation - whether the chained descriptors can't be used
> together with the extended alternate descriptors. Moreover not setting the
> BUS_MODE.ATDS flag will cause the driver malfunction in the framework of
> the IPC Full Checksum and Advanced Timestamp feature, since the later
> features require the additional 4-7 dwords of the DMA descriptor to set
> some flags and a timestamp. So to speak in order to have all these
> features working correctly in the chained mode too let's make sure the
> ATDS flag is set irrespectively from the DMA descriptors mode.
> 
> Fixes: c24602ef8664 ("stmmac: support extend descriptors")
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> ---
>  drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index 2ed63acaee5b..ee4297a25521 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -2907,7 +2907,6 @@ static int stmmac_init_dma_engine(struct stmmac_priv *priv)
>  	struct stmmac_rx_queue *rx_q;
>  	struct stmmac_tx_queue *tx_q;
>  	u32 chan = 0;
> -	int atds = 0;
>  	int ret = 0;
>  
>  	if (!priv->plat->dma_cfg || !priv->plat->dma_cfg->pbl) {
> @@ -2915,9 +2914,6 @@ static int stmmac_init_dma_engine(struct stmmac_priv *priv)
>  		return -EINVAL;
>  	}
>  
> -	if (priv->extend_desc && (priv->mode == STMMAC_RING_MODE))
> -		atds = 1;
> -
>  	ret = stmmac_reset(priv, priv->ioaddr);
>  	if (ret) {
>  		dev_err(priv->device, "Failed to reset the dma\n");
> @@ -2925,7 +2921,8 @@ static int stmmac_init_dma_engine(struct stmmac_priv *priv)
>  	}
>  
>  	/* DMA Configuration */
> -	stmmac_dma_init(priv, priv->ioaddr, priv->plat->dma_cfg, atds);
> +	stmmac_dma_init(priv, priv->ioaddr, priv->plat->dma_cfg,
> +			priv->extend_desc);
>  
>  	if (priv->plat->axi)
>  		stmmac_axi(priv, priv->ioaddr, priv->plat->axi);
> -- 
> 2.39.2
> 
> 
Looks fine, thanks.
Reviewed-by: Piotr Raczynski <piotr.raczynski@intel.com>

  reply	other threads:[~2023-03-14 11:43 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-13 22:42 [PATCH net 00/13] net: stmmac: Fixes bundle #1 Serge Semin
2023-03-13 22:42 ` Serge Semin
2023-03-13 22:42 ` [PATCH net 01/13] net: phy: realtek: Fix events detection failure in LPI mode Serge Semin
2023-03-13 22:42   ` Serge Semin
2023-03-14  0:39   ` Andrew Lunn
2023-03-14  0:39     ` Andrew Lunn
2023-03-14 11:16     ` Serge Semin
2023-03-14 11:16       ` Serge Semin
2023-03-13 22:42 ` [PATCH net 02/13] net: stmmac: Omit last desc flag for non-linear jumbos in chain-mode Serge Semin
2023-03-13 22:42   ` Serge Semin
2023-03-13 22:42 ` [PATCH net 03/13] net: stmmac: Fix extended descriptors usage for " Serge Semin
2023-03-13 22:42   ` Serge Semin
2023-03-13 22:42 ` [PATCH net 04/13] net: stmmac: dwmac-sun8i: Don't modify chain-mode module parameter Serge Semin
2023-03-13 22:42   ` Serge Semin
2023-03-13 22:42 ` [PATCH net 05/13] net: stmmac: Enable ATDS for chain-mode Serge Semin
2023-03-13 22:42   ` Serge Semin
2023-03-14 11:42   ` Piotr Raczynski [this message]
2023-03-14 11:42     ` Piotr Raczynski
2023-03-13 22:42 ` [PATCH net 06/13] net: stmmac: Free temporary Rx SKB on request Serge Semin
2023-03-13 22:42   ` Serge Semin
2023-03-14 11:26   ` Piotr Raczynski
2023-03-14 11:26     ` Piotr Raczynski
2023-03-13 22:42 ` [PATCH net 07/13] net: stmmac: Free Rx descs on Tx allocation failure Serge Semin
2023-03-13 22:42   ` Serge Semin
2023-03-14  9:22   ` Piotr Raczynski
2023-03-13 22:42 ` [PATCH net 08/13] net: stmmac: Fix Rx IC bit setting procedure for Rx-mitigation Serge Semin
2023-03-13 22:42   ` Serge Semin
2023-03-13 22:42 ` [PATCH net 09/13] net: stmmac: Remove default maxmtu DT-platform setting Serge Semin
2023-03-13 22:42   ` Serge Semin
2023-03-14 11:20   ` Piotr Raczynski
2023-03-14 11:20     ` Piotr Raczynski
2023-03-14 12:03     ` Serge Semin
2023-03-14 12:03       ` Serge Semin
2023-03-13 22:42 ` [PATCH net 10/13] net: stmmac: Make buf_sz module parameter useful Serge Semin
2023-03-13 22:42   ` Serge Semin
2023-03-13 22:42 ` [PATCH net 11/13] net: stmmac: gmac4: Use dwmac410_disable_dma_irq for DW MAC v4.10 DMA Serge Semin
2023-03-13 22:42   ` Serge Semin
2023-03-13 22:42 ` [PATCH net 12/13] net: stmmac: Stop overriding the PTP clock info static instance Serge Semin
2023-03-13 22:42   ` Serge Semin
2023-03-13 22:42 ` [PATCH net 13/13] net: dwmac-loongson: Perceive zero IRQ as invalid Serge Semin
2023-03-13 22:42   ` Serge Semin
2023-03-14  8:20   ` Piotr Raczynski
2023-03-14  8:20     ` Piotr Raczynski
2023-03-14 11:38     ` Serge Semin
2023-03-14 11:38       ` Serge Semin
2023-03-14 17:33 ` [PATCH net 00/13] net: stmmac: Fixes bundle #1 Jakub Kicinski

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=ZBBdnu2OkCRFRinT@nimitz \
    --to=piotr.raczynski@intel.com \
    --cc=Alexey.Malahov@baikalelectronics.ru \
    --cc=Pavel.Parkhomenko@baikalelectronics.ru \
    --cc=Sergey.Semin@baikalelectronics.ru \
    --cc=alexandre.torgue@foss.st.com \
    --cc=andrew@lunn.ch \
    --cc=ansuelsmth@gmail.com \
    --cc=biao.huang@mediatek.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=fancer.lancer@gmail.com \
    --cc=hkallweit1@gmail.com \
    --cc=joabreu@synopsys.com \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=linux@armlinux.org.uk \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=peppe.cavallaro@st.com \
    --cc=yangyingliang@huawei.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.