All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] net: dwc_eth_qos: Revert some changes of commit 3a97da12ee7b
@ 2021-05-30 13:34 Daniil Stas
  2021-06-12 18:34 ` Ramon Fried
  2021-06-12 18:37 ` Ramon Fried
  0 siblings, 2 replies; 3+ messages in thread
From: Daniil Stas @ 2021-05-30 13:34 UTC (permalink / raw)
  To: u-boot
  Cc: Daniil Stas, Ye Li, Fugang Duan, Peng Fan, Ramon Fried,
	Joe Hershberger, Patrice Chotard, Patrick Delaunay

Revert some changes of commit 3a97da12ee7b ("net: dwc_eth_qos: add dwc
eqos for imx support") that were probably added by mistake.

One of these changes can lead to received data corruption (enabling
FUP and FEP bits). Another causes invalid register rxq_ctrl0 settings
for some platforms. And another makes some writes at unknown memory
location.

Fixes: 3a97da12ee7b ("net: dwc_eth_qos: add dwc eqos for imx support")
Signed-off-by: Daniil Stas <daniil.stas@posteo.net>
Cc: Ye Li <ye.li@nxp.com>
Cc: Fugang Duan <fugang.duan@nxp.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Ramon Fried <rfried.dev@gmail.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Patrice Chotard <patrice.chotard@foss.st.com>
Cc: Patrick Delaunay <patrick.delaunay@foss.st.com>
---
 drivers/net/dwc_eth_qos.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c
index 2f088c758f..b012bed517 100644
--- a/drivers/net/dwc_eth_qos.c
+++ b/drivers/net/dwc_eth_qos.c
@@ -172,8 +172,6 @@ struct eqos_mtl_regs {
 #define EQOS_MTL_RXQ0_OPERATION_MODE_RFA_MASK		0x3f
 #define EQOS_MTL_RXQ0_OPERATION_MODE_EHFC		BIT(7)
 #define EQOS_MTL_RXQ0_OPERATION_MODE_RSF		BIT(5)
-#define EQOS_MTL_RXQ0_OPERATION_MODE_FEP		BIT(4)
-#define EQOS_MTL_RXQ0_OPERATION_MODE_FUP		BIT(3)
 
 #define EQOS_MTL_RXQ0_DEBUG_PRXQ_SHIFT			16
 #define EQOS_MTL_RXQ0_DEBUG_PRXQ_MASK			0x7fff
@@ -1222,7 +1220,6 @@ static int eqos_start(struct udevice *dev)
 	}
 
 	/* Configure MTL */
-	writel(0x60, &eqos->mtl_regs->txq0_quantum_weight - 0x100);
 
 	/* Enable Store and Forward mode for TX */
 	/* Program Tx operating mode */
@@ -1236,9 +1233,7 @@ static int eqos_start(struct udevice *dev)
 
 	/* Enable Store and Forward mode for RX, since no jumbo frame */
 	setbits_le32(&eqos->mtl_regs->rxq0_operation_mode,
-		     EQOS_MTL_RXQ0_OPERATION_MODE_RSF |
-		     EQOS_MTL_RXQ0_OPERATION_MODE_FEP |
-		     EQOS_MTL_RXQ0_OPERATION_MODE_FUP);
+		     EQOS_MTL_RXQ0_OPERATION_MODE_RSF);
 
 	/* Transmit/Receive queue fifo size; use all RAM for 1 queue */
 	val = readl(&eqos->mac_regs->hw_feature1);
@@ -1314,12 +1309,6 @@ static int eqos_start(struct udevice *dev)
 			eqos->config->config_mac <<
 			EQOS_MAC_RXQ_CTRL0_RXQ0EN_SHIFT);
 
-	clrsetbits_le32(&eqos->mac_regs->rxq_ctrl0,
-			EQOS_MAC_RXQ_CTRL0_RXQ0EN_MASK <<
-			EQOS_MAC_RXQ_CTRL0_RXQ0EN_SHIFT,
-			0x2 <<
-			EQOS_MAC_RXQ_CTRL0_RXQ0EN_SHIFT);
-
 	/* Multicast and Broadcast Queue Enable */
 	setbits_le32(&eqos->mac_regs->unused_0a4,
 		     0x00100000);
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] net: dwc_eth_qos: Revert some changes of commit 3a97da12ee7b
  2021-05-30 13:34 [PATCH] net: dwc_eth_qos: Revert some changes of commit 3a97da12ee7b Daniil Stas
@ 2021-06-12 18:34 ` Ramon Fried
  2021-06-12 18:37 ` Ramon Fried
  1 sibling, 0 replies; 3+ messages in thread
From: Ramon Fried @ 2021-06-12 18:34 UTC (permalink / raw)
  To: Daniil Stas
  Cc: U-Boot Mailing List, Ye Li, Fugang Duan, Peng Fan,
	Joe Hershberger, Patrice Chotard, Patrick Delaunay

On Sun, May 30, 2021 at 4:28 PM Daniil Stas <daniil.stas@posteo.net> wrote:
>
> Revert some changes of commit 3a97da12ee7b ("net: dwc_eth_qos: add dwc
> eqos for imx support") that were probably added by mistake.
>
> One of these changes can lead to received data corruption (enabling
> FUP and FEP bits). Another causes invalid register rxq_ctrl0 settings
> for some platforms. And another makes some writes at unknown memory
> location.
>
> Fixes: 3a97da12ee7b ("net: dwc_eth_qos: add dwc eqos for imx support")
> Signed-off-by: Daniil Stas <daniil.stas@posteo.net>
> Cc: Ye Li <ye.li@nxp.com>
> Cc: Fugang Duan <fugang.duan@nxp.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Ramon Fried <rfried.dev@gmail.com>
> Cc: Joe Hershberger <joe.hershberger@ni.com>
> Cc: Patrice Chotard <patrice.chotard@foss.st.com>
> Cc: Patrick Delaunay <patrick.delaunay@foss.st.com>
> ---
>  drivers/net/dwc_eth_qos.c | 13 +------------
>  1 file changed, 1 insertion(+), 12 deletions(-)
>
> diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c
> index 2f088c758f..b012bed517 100644
> --- a/drivers/net/dwc_eth_qos.c
> +++ b/drivers/net/dwc_eth_qos.c
> @@ -172,8 +172,6 @@ struct eqos_mtl_regs {
>  #define EQOS_MTL_RXQ0_OPERATION_MODE_RFA_MASK          0x3f
>  #define EQOS_MTL_RXQ0_OPERATION_MODE_EHFC              BIT(7)
>  #define EQOS_MTL_RXQ0_OPERATION_MODE_RSF               BIT(5)
> -#define EQOS_MTL_RXQ0_OPERATION_MODE_FEP               BIT(4)
> -#define EQOS_MTL_RXQ0_OPERATION_MODE_FUP               BIT(3)
>
>  #define EQOS_MTL_RXQ0_DEBUG_PRXQ_SHIFT                 16
>  #define EQOS_MTL_RXQ0_DEBUG_PRXQ_MASK                  0x7fff
> @@ -1222,7 +1220,6 @@ static int eqos_start(struct udevice *dev)
>         }
>
>         /* Configure MTL */
> -       writel(0x60, &eqos->mtl_regs->txq0_quantum_weight - 0x100);
>
>         /* Enable Store and Forward mode for TX */
>         /* Program Tx operating mode */
> @@ -1236,9 +1233,7 @@ static int eqos_start(struct udevice *dev)
>
>         /* Enable Store and Forward mode for RX, since no jumbo frame */
>         setbits_le32(&eqos->mtl_regs->rxq0_operation_mode,
> -                    EQOS_MTL_RXQ0_OPERATION_MODE_RSF |
> -                    EQOS_MTL_RXQ0_OPERATION_MODE_FEP |
> -                    EQOS_MTL_RXQ0_OPERATION_MODE_FUP);
> +                    EQOS_MTL_RXQ0_OPERATION_MODE_RSF);
>
>         /* Transmit/Receive queue fifo size; use all RAM for 1 queue */
>         val = readl(&eqos->mac_regs->hw_feature1);
> @@ -1314,12 +1309,6 @@ static int eqos_start(struct udevice *dev)
>                         eqos->config->config_mac <<
>                         EQOS_MAC_RXQ_CTRL0_RXQ0EN_SHIFT);
>
> -       clrsetbits_le32(&eqos->mac_regs->rxq_ctrl0,
> -                       EQOS_MAC_RXQ_CTRL0_RXQ0EN_MASK <<
> -                       EQOS_MAC_RXQ_CTRL0_RXQ0EN_SHIFT,
> -                       0x2 <<
> -                       EQOS_MAC_RXQ_CTRL0_RXQ0EN_SHIFT);
> -
>         /* Multicast and Broadcast Queue Enable */
>         setbits_le32(&eqos->mac_regs->unused_0a4,
>                      0x00100000);
> --
> 2.31.1
>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] net: dwc_eth_qos: Revert some changes of commit 3a97da12ee7b
  2021-05-30 13:34 [PATCH] net: dwc_eth_qos: Revert some changes of commit 3a97da12ee7b Daniil Stas
  2021-06-12 18:34 ` Ramon Fried
@ 2021-06-12 18:37 ` Ramon Fried
  1 sibling, 0 replies; 3+ messages in thread
From: Ramon Fried @ 2021-06-12 18:37 UTC (permalink / raw)
  To: Daniil Stas, u-boot
  Cc: Ye Li, Fugang Duan, Peng Fan, Joe Hershberger, Patrice Chotard,
	Patrick Delaunay

On Sun May 30, 2021 at 4:34 PM IDT, Daniil Stas wrote:
> Revert some changes of commit 3a97da12ee7b ("net: dwc_eth_qos: add dwc
> eqos for imx support") that were probably added by mistake.
>
> One of these changes can lead to received data corruption (enabling
> FUP and FEP bits). Another causes invalid register rxq_ctrl0 settings
> for some platforms. And another makes some writes at unknown memory
> location.
>
> Fixes: 3a97da12ee7b ("net: dwc_eth_qos: add dwc eqos for imx support")
> Signed-off-by: Daniil Stas <daniil.stas@posteo.net>
> Cc: Ye Li <ye.li@nxp.com>
> Cc: Fugang Duan <fugang.duan@nxp.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Ramon Fried <rfried.dev@gmail.com>
> Cc: Joe Hershberger <joe.hershberger@ni.com>
> Cc: Patrice Chotard <patrice.chotard@foss.st.com>
> Cc: Patrick Delaunay <patrick.delaunay@foss.st.com>
> ---
> drivers/net/dwc_eth_qos.c | 13 +------------
> 1 file changed, 1 insertion(+), 12 deletions(-)
>
> diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c
> index 2f088c758f..b012bed517 100644
> --- a/drivers/net/dwc_eth_qos.c
> +++ b/drivers/net/dwc_eth_qos.c
> @@ -172,8 +172,6 @@ struct eqos_mtl_regs {
> #define EQOS_MTL_RXQ0_OPERATION_MODE_RFA_MASK 0x3f
> #define EQOS_MTL_RXQ0_OPERATION_MODE_EHFC BIT(7)
> #define EQOS_MTL_RXQ0_OPERATION_MODE_RSF BIT(5)
> -#define EQOS_MTL_RXQ0_OPERATION_MODE_FEP BIT(4)
> -#define EQOS_MTL_RXQ0_OPERATION_MODE_FUP BIT(3)
>  
> #define EQOS_MTL_RXQ0_DEBUG_PRXQ_SHIFT 16
> #define EQOS_MTL_RXQ0_DEBUG_PRXQ_MASK 0x7fff
> @@ -1222,7 +1220,6 @@ static int eqos_start(struct udevice *dev)
> }
>  
> /* Configure MTL */
> - writel(0x60, &eqos->mtl_regs->txq0_quantum_weight - 0x100);
>  
> /* Enable Store and Forward mode for TX */
> /* Program Tx operating mode */
> @@ -1236,9 +1233,7 @@ static int eqos_start(struct udevice *dev)
>  
> /* Enable Store and Forward mode for RX, since no jumbo frame */
> setbits_le32(&eqos->mtl_regs->rxq0_operation_mode,
> - EQOS_MTL_RXQ0_OPERATION_MODE_RSF |
> - EQOS_MTL_RXQ0_OPERATION_MODE_FEP |
> - EQOS_MTL_RXQ0_OPERATION_MODE_FUP);
> + EQOS_MTL_RXQ0_OPERATION_MODE_RSF);
>  
> /* Transmit/Receive queue fifo size; use all RAM for 1 queue */
> val = readl(&eqos->mac_regs->hw_feature1);
> @@ -1314,12 +1309,6 @@ static int eqos_start(struct udevice *dev)
> eqos->config->config_mac <<
> EQOS_MAC_RXQ_CTRL0_RXQ0EN_SHIFT);
>  
> - clrsetbits_le32(&eqos->mac_regs->rxq_ctrl0,
> - EQOS_MAC_RXQ_CTRL0_RXQ0EN_MASK <<
> - EQOS_MAC_RXQ_CTRL0_RXQ0EN_SHIFT,
> - 0x2 <<
> - EQOS_MAC_RXQ_CTRL0_RXQ0EN_SHIFT);
> -
> /* Multicast and Broadcast Queue Enable */
> setbits_le32(&eqos->mac_regs->unused_0a4,
> 0x00100000);
> --
> 2.31.1
pplied to u-boot-net/master, thanks!

Best regards,
Ramon Fried

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-06-12 18:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-30 13:34 [PATCH] net: dwc_eth_qos: Revert some changes of commit 3a97da12ee7b Daniil Stas
2021-06-12 18:34 ` Ramon Fried
2021-06-12 18:37 ` Ramon Fried

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.