Fixes in probe error path:
- Restore dev_id before failed_ioremap path.
Fixes: ("net: fec: restore dev_id in the cases of probe error")
- Call of_node_put(phy_node) before failed_phy path.
Fixes: ("net: fec: Support phys probed from devicetree and fixed-link")
Signed
The static variable dev_id always plus one before netdev registerred.
It should restore the dev_id value in the cases of probe error.
Signed-off-by: Fugang Duan <fugang.d...@nxp.com>
---
drivers/net/ethernet/freescale/fec_main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drive
Defer probe if regulator is not ready. E.g. some regulator is fixed
regulator controlled by i2c expander gpio, the i2c device may be probed
after the driver, then it should handle the case of defer probe error.
Signed-off-by: Fugang Duan <fugang.d...@nxp.com>
---
drivers/net/ethernet/fre
The simple patches just clean up in the cases of probe error like restore
dev_id and
handle the defer probe when regulator is still not ready.
v2:
* Fabio Estevam's comment to suggest split v1 to separate patches.
v3:
* Restore dev_id before failed_ioremap path from Troy Kisky's comment.
Fugang
Defer probe if regulator is not ready. E.g. some regulator is fixed
regulator controlled by i2c expander gpio, the i2c device may be probed
after the driver, then it should handle the case of defer probe error.
Signed-off-by: Fugang Duan <fugang.d...@nxp.com>
---
drivers/net/ethernet/fre
The static variable dev_id always plus one before netdev registerred.
It should restore the dev_id value in the cases of probe error.
Signed-off-by: Fugang Duan <fugang.d...@nxp.com>
---
drivers/net/ethernet/freescale/fec_main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drive
The simple patches just clean up in the cases of probe error like restore
dev_id and
handle the defer probe when regulator is still not ready.
v2:
* Fabio Estevam's comment to suggest split v1 to separate patches.
Fugang Duan (2):
net: fec: restore dev_id in the cases of probe error
net
Defer probe if regulator is not ready. E.g. some regulator is fixed
regulator controlled by i2c expander gpio, the i2c device may be probed
after the driver, then it should handle the case of defer probe error.
Signed-off-by: Fugang Duan <fugang.d...@nxp.com>
---
drivers/net/ethernet/fre
it should check the dma mapping buffer and unmap them.
Signed-off-by: Fugang Duan <fugang.d...@nxp.com>
---
drivers/net/ethernet/freescale/fec_main.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/ethernet/freescale/fec_main.c
b/drivers/net/ethernet/freescale/fec_
The errata ERR007885 HW fix don't add to i.MX6ul ENET IP version,
so add sw workaroud for the chip.
Signed-off-by: Fugang Duan <fugang.d...@nxp.com>
---
drivers/net/ethernet/freescale/fec_main.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/et
Add return value check after calling .of_property_read_u32() to avoid
the warning reported by coverity.
Signed-off-by: Fugang Duan <fugang.d...@nxp.com>
---
drivers/net/ethernet/freescale/fec_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/et
In aarch64 system, it requires to trasfer ->dev to dma_alloc_coherent()
API, otherwise allocate failed and print kernel warning.
Signed-off-by: Fugang Duan <b38...@freescale.com>
---
drivers/net/ethernet/freescale/fec_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
d
In aarch64 system, the BD pointer is 64bit, and the high-order 32-bits
of the address is effective, so replace usigned with (void *) type to
aovid 64bit address is casted to 32bit in .fec_enet_get_nextdesc() and
.fec_enet_get_prevdesc() functions.
Signed-off-by: Fugang Duan <fugang.d...@nxp.
Correct the errata number ERR006358 comment typo.
Signed-off-by: Fugang Duan <fugang.d...@nxp.com>
---
drivers/net/ethernet/freescale/fec_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/freescale/fec_main.c
b/drivers/net/ethernet/fre
Many boards use i2c/spi expander gpio as phy-reset-gpios and these
gpios maybe registered after fec port, driver should check the return
value of .of_get_named_gpio().
Signed-off-by: Fugang Duan <b38...@freescale.com>
---
drivers/net/ethernet/freescale/fec_main.
The patch series are for fec ethernet driver code clean up, each patch is
independent.
Patch #1,#4,#5 are code clean up.
Patch #2,#3 are for aarch64 platform.
Patch #6 is for i.MX6UL to add lost errata workaround.
Fugang Duan (6):
net: fec: add return value check after calling
From: Lucas Stach <l.st...@pengutronix.de> Sent: Thursday, June 09, 2016 5:35 PM
> To: Fugang Duan <fugang.d...@nxp.com>; Shawn Guo <shawn...@kernel.org>
> Cc: devicet...@vger.kernel.org; patchwork-...@pengutronix.de;
> ker...@pengutronix.de; linux-arm-ker...@li
From: Stefan Wahren <stefan.wah...@i2se.com> Sent: Thursday, June 09, 2016 4:43
AM
> To: David Miller <da...@davemloft.net>; Fugang Duan
> <fugang.d...@nxp.com>
> Cc: Fabio Estevam <fabio.este...@nxp.com>; Lucas Stach
> <l.st...@pengutronix.de>; and
From: Colin King <colin.k...@canonical.com> Sent: Monday, June 06, 2016 4:22 PM
> To: Fugang Duan <fugang.d...@nxp.com>; netdev@vger.kernel.org
> Cc: linux-ker...@vger.kernel.org
> Subject: [PATCH][V2] net: fec: fix spelling mistakes and add missing newline
>
> Fr
From: Holger Schurig <holgerschu...@gmail.com> Sent: Monday, June 06, 2016 7:04
PM
> To: Fugang Duan <fugang.d...@nxp.com>; Lucas Stach
> <l.st...@pengutronix.de>; Shawn Guo <shawn...@kernel.org>
> Cc: devicet...@vger.kernel.org; netdev@vger.kernel.org; linux-
From: Colin King <colin.k...@canonical.com> Sent: Sunday, June 05, 2016 3:01 AM
> To: Fugang Duan <fugang.d...@nxp.com>; netdev@vger.kernel.org
> Cc: linux-ker...@vger.kernel.org
> Subject: [PATCH] net: fec: fix spelling mistake "coalesed" -> "coales
From: Lucas Stach <l.st...@pengutronix.de> Sent: Saturday, June 04, 2016 12:31
AM
> To: Shawn Guo <shawn...@kernel.org>; Fugang Duan <fugang.d...@nxp.com>
> Cc: devicet...@vger.kernel.org; patchwork-...@pengutronix.de;
> ker...@pengutronix.de; linux-arm-ker...@li
From: Troy Kisky <troy.ki...@boundarydevices.com> Sent: Friday, April 22, 2016
10:01 AM
> To: netdev@vger.kernel.org; da...@davemloft.net; Fugang Duan
> <fugang.d...@nxp.com>; lzn...@gmail.com
> Cc: Fabio Estevam <fabio.este...@nxp.com>; l.st...@pengutronix.de;
> and
From: Troy Kisky <troy.ki...@boundarydevices.com> Sent: Sunday, May 08, 2016
2:57 AM
> To: Fugang Duan <fugang.d...@nxp.com>; netdev@vger.kernel.org;
> da...@davemloft.net; lzn...@gmail.com
> Cc: Fabio Estevam <fabio.este...@nxp.com>; l.st...@pengutronix.de;
> and...
Fom: Philippe Reynes <trem...@gmail.com> Sent: Monday, May 09, 2016 5:45 AM
> To: Fugang Duan <fugang.d...@nxp.com>; da...@davemloft.net;
> b...@decadent.org.uk; kan.li...@intel.com; de...@googlers.com;
> adu...@mirantis.com; j...@mellanox.com; jacob.e.kel...@intel.com;
&
From: Uwe Kleine-König <u.kleine-koe...@pengutronix.de> Sent: Tuesday, May 03,
2016 10:39 PM
> To: Fugang Duan <fugang.d...@nxp.com>; David S . Miller
> <da...@davemloft.net>
> Cc: ker...@pengutronix.de; netdev@vger.kernel.org
> Subject: [PATCH] net: fec:
From: Fugang Duan <fugang.d...@nxp.com> Sent: Monday, April 25, 2016 9:58 AM
> To: Troy Kisky <troy.ki...@boundarydevices.com>; netdev@vger.kernel.org;
> da...@davemloft.net; lzn...@gmail.com
> Cc: Fabio Estevam <fabio.este...@nxp.com>; l.st...@pengutronix.de;
> and
From: Troy Kisky <troy.ki...@boundarydevices.com> Sent: Saturday, April 23,
2016 12:12 AM
> To: Fugang Duan <fugang.d...@nxp.com>; netdev@vger.kernel.org;
> da...@davemloft.net; lzn...@gmail.com
> Cc: Fabio Estevam <fabio.este...@nxp.com>; l.st...@pengutronix
From: Troy Kisky <troy.ki...@boundarydevices.com> Sent: Friday, April 22, 2016
10:01 AM
> To: netdev@vger.kernel.org; da...@davemloft.net; Fugang Duan
> <fugang.d...@nxp.com>; lzn...@gmail.com
> Cc: Fabio Estevam <fabio.este...@nxp.com>; l.st...@pengutronix.de;
> and
From: Philippe Reynes <trem...@gmail.com> Sent: Friday, April 15, 2016 6:35 AM
> To: da...@davemloft.net; de...@googlers.com; f.faine...@gmail.com; Fugang
> Duan <fugang.d...@nxp.com>
> Cc: linux-ker...@vger.kernel.org; netdev@vger.kernel.org; Philippe Reynes
> <t
From: Philippe Reynes <trem...@gmail.com> Sent: Friday, April 15, 2016 6:35 AM
> To: da...@davemloft.net; de...@googlers.com; f.faine...@gmail.com; Fugang
> Duan <fugang.d...@nxp.com>
> Cc: linux-ker...@vger.kernel.org; netdev@vger.kernel.org; Philippe Reynes
> <t
From: Troy Kisky <troy.ki...@boundarydevices.com> Sent: Thursday, April 07,
2016 12:43 AM
> To: Fugang Duan <fugang.d...@nxp.com>; netdev@vger.kernel.org;
> da...@davemloft.net; lzn...@gmail.com
> Cc: Fabio Estevam <fabio.este...@nxp.com>; l.st...@pengutronix
From: Troy Kisky <troy.ki...@boundarydevices.com> Sent: Wednesday, April 06,
2016 10:26 AM
> To: netdev@vger.kernel.org; da...@davemloft.net; Fugang Duan
> <fugang.d...@nxp.com>; lzn...@gmail.com
> Cc: Fabio Estevam <fabio.este...@nxp.com>; l.st...@pengutronix
From: Troy Kisky <troy.ki...@boundarydevices.com> Sent: Wednesday, April 06,
2016 10:26 AM
> To: netdev@vger.kernel.org; da...@davemloft.net; Fugang Duan
> <fugang.d...@nxp.com>; lzn...@gmail.com
> Cc: Fabio Estevam <fabio.este...@nxp.com>; l.st...@pengutronix
From: Troy Kisky <troy.ki...@boundarydevices.com> Sent: Wednesday, April 06,
2016 10:26 AM
> To: netdev@vger.kernel.org; da...@davemloft.net; Fugang Duan
> <fugang.d...@nxp.com>; lzn...@gmail.com
> Cc: Fabio Estevam <fabio.este...@nxp.com>; l.st...@pengutronix
From: Troy Kisky <troy.ki...@boundarydevices.com> Sent: Wednesday, April 06,
2016 10:26 AM
> To: netdev@vger.kernel.org; da...@davemloft.net; Fugang Duan
> <fugang.d...@nxp.com>; lzn...@gmail.com
> Cc: Fabio Estevam <fabio.este...@nxp.com>; l.st...@pengutronix
From: Troy Kisky <troy.ki...@boundarydevices.com> Sent: Wednesday, April 06,
2016 10:26 AM
> To: netdev@vger.kernel.org; da...@davemloft.net; Fugang Duan
> <fugang.d...@nxp.com>; lzn...@gmail.com
> Cc: Fabio Estevam <fabio.este...@nxp.com>; l.st...@pengutronix
From: Fabio Estevam <feste...@gmail.com> Sent: Thursday, March 31, 2016 11:05 PM
> To: da...@davemloft.net
> Cc: Fugang Duan <fugang.d...@nxp.com>; troy.ki...@boundarydevices.com;
> g...@uclinux.org; netdev@vger.kernel.org; Fabio Estevam
> <fabio.este...@nxp.com&
From: Fabio Estevam <feste...@gmail.com> Sent: Thursday, March 31, 2016 6:57 PM
> To: Fugang Duan <fugang.d...@nxp.com>
> Cc: Greg Ungerer <g...@uclinux.org>; Troy Kisky
> <troy.ki...@boundarydevices.com>; netdev@vger.kernel.org
> Subject: Re: [PATCH] net: fec:
From: Fabio Estevam Sent: Thursday, March 31, 2016 2:37 AM
> To: Greg Ungerer
> Cc: Troy Kisky ; netdev@vger.kernel.org
> Subject: Re: [PATCH] net: fec: stop the "rcv is not +last, " error messages
>
> Hi Greg,
>
> On Wed,
From: nick <xerofo...@gmail.com> Sent: Sunday, March 06, 2016 11:50 AM
> To: Fugang Duan <fugang.d...@nxp.com>; da...@davemloft.net
> Cc: b38...@freescale.com; and...@lunn.ch; fabio.este...@freescale.com;
> l.st...@pengutronix.de; rmk+ker...@arm.linux.org.uk; trem.
gt; @@ -3132,7 +3133,9 @@ static int fec_enet_init(struct net_device *ndev)
> fep->tx_align = 0x3;
> #endif
>
> - fec_enet_alloc_queue(ndev);
> + ret = fec_enet_alloc_queue(ndev);
> + if (ret)
> + return ret;
>
> if (fep->bufdesc_ex)
> fep->bufdesc_size = sizeof(struct bufdesc_ex);
> --
> 2.1.4
Thanks.
Acked-by: Fugang Duan <fugang.d...@nxp.com>
From: Troy Kisky <troy.ki...@boundarydevices.com> Sent: Saturday, March 05,
2016 12:08 AM
> To: Fugang Duan <fugang.d...@nxp.com>; netdev@vger.kernel.org;
> da...@davemloft.net; b38...@freescale.com
> Cc: fabio.este...@freescale.com; l.st...@pengutronix.de; and...@lunn.ch
From: Troy Kisky Sent: Thursday, February 25,
2016 8:37 AM
> To: netdev@vger.kernel.org; da...@davemloft.net; b38...@freescale.com
> Cc: fabio.este...@freescale.com; l.st...@pengutronix.de; and...@lunn.ch;
> trem...@gmail.com; li...@arm.linux.org.uk; linux-arm-
>
From: Troy Kisky Sent: Thursday, February 25,
2016 8:37 AM
> To: netdev@vger.kernel.org; da...@davemloft.net; b38...@freescale.com
> Cc: fabio.este...@freescale.com; l.st...@pengutronix.de; and...@lunn.ch;
> trem...@gmail.com; li...@arm.linux.org.uk; linux-arm-
>
From: Troy Kisky Sent: Thursday, February 25,
2016 8:37 AM
> To: netdev@vger.kernel.org; da...@davemloft.net; b38...@freescale.com
> Cc: fabio.este...@freescale.com; l.st...@pengutronix.de; and...@lunn.ch;
> trem...@gmail.com; li...@arm.linux.org.uk; linux-arm-
>
From: Troy Kisky Sent: Thursday, February 25,
2016 8:37 AM
> To: netdev@vger.kernel.org; da...@davemloft.net; b38...@freescale.com
> Cc: fabio.este...@freescale.com; l.st...@pengutronix.de; and...@lunn.ch;
> trem...@gmail.com; li...@arm.linux.org.uk; linux-arm-
>
From: Troy Kisky Sent: Thursday, February 25,
2016 8:37 AM
> To: netdev@vger.kernel.org; da...@davemloft.net; b38...@freescale.com
> Cc: fabio.este...@freescale.com; l.st...@pengutronix.de; and...@lunn.ch;
> trem...@gmail.com; li...@arm.linux.org.uk; linux-arm-
>
From: Troy Kisky <troy.ki...@boundarydevices.com> Sent: Thursday, March 03,
2016 12:14 AM
> To: Fugang Duan <fugang.d...@nxp.com>; netdev@vger.kernel.org;
> da...@davemloft.net; b38...@freescale.com
> Cc: fabio.este...@freescale.com; l.st...@pengutronix.de; and...@lunn.ch;
&g
if (err) {
> dev_err(>dev, "failed to get phy-reset-gpios: %d\n",
> err);
> return;
> }
> msleep(msec);
> - gpio_set_value_cansleep(phy_reset, !active_low);
> + gpio_set_value_cansleep(phy_reset, !active_high);
> }
> #else /* CONFIG_OF */
> static void fec_reset_phy(struct platform_device *pdev)
> --
> 2.7.2
Rename "phy-reset-active-low" to "phy-reset-active-high" is more reasonable,
not confuse us. Thanks.
Acked-by: Fugang Duan <fugang.d...@nxp.com>
From: Troy Kisky Sent: Thursday, February 25,
2016 8:37 AM
> To: netdev@vger.kernel.org; da...@davemloft.net; b38...@freescale.com
> Cc: fabio.este...@freescale.com; l.st...@pengutronix.de; and...@lunn.ch;
> trem...@gmail.com; li...@arm.linux.org.uk; linux-arm-
>
From: Troy Kisky Sent: Thursday, February 25,
2016 8:37 AM
> To: netdev@vger.kernel.org; da...@davemloft.net; b38...@freescale.com
> Cc: fabio.este...@freescale.com; l.st...@pengutronix.de; and...@lunn.ch;
> trem...@gmail.com; li...@arm.linux.org.uk; linux-arm-
>
gt; - pkt_received += fec_enet_rx_queue(ndev,
> - budget - pkt_received, queue_id);
> + rxq = fep->rx_queue[FEC_ENET_GET_QUQUE(queue_id)];
> + pkt_received += fec_rxq(ndev, fep, rxq, budget -
> pkt_received);
> }
> return pkt_received;
> }
> --
> 2.5.0
This is one clean up patch that you introduce struct bufdesc_prop.
Acked-by: Fugang Duan <fugang.d...@nxp.com>
;
>
> - if (int_events & FEC_ENET_TXF)
> + if (int_events & FEC_ENET_TXF_0)
> fep->work_tx |= (1 << 2);
> if (int_events & FEC_ENET_TXF_1)
> fep->work_tx |= (1 << 0);
> --
> 2.5.0
Acked-by: Fugang Duan <fugang.d...@nxp.com>
From: Fugang Duan <b38...@freescale.com> Sent: Wednesday, March 02, 2016 5:25 PM
> To: da...@davemloft.net
> Cc: netdev@vger.kernel.org; Fugang Duan <fugang.d...@nxp.com>
> Subject: [PATCH] MAINTAINERS: add maintainer entry for FREESCALE FEC
> ethernet driver
>
Add a maintainer entry for FREESCALE FEC ethernet driver and add myself
as a maintainer.
Signed-off-by: Fugang Duan <fugang.d...@nxp.com>
---
MAINTAINERS | 9 +
1 file changed, 9 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 0499f9e..4d4b18f 100644
--- a/MAINTAINERS
t;f.faine...@gmail.com>
Signed-off-by: Fugang Duan <b38...@freescale.com>
---
drivers/net/ethernet/freescale/fec_main.c | 8
1 file changed, 8 insertions(+)
diff --git a/drivers/net/ethernet/freescale/fec_main.c
b/drivers/net/ethernet/freescale/fec_main.c
index 91925e3..d0d83aef 10
netif status check to avoid registers access when clocks are
gated off. Until eth0 up the new MAC address are wrote into related registers.
Signed-off-by: Fugang Duan <b38...@freescale.com>
---
drivers/net/ethernet/freescale/fec_main.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/d
t is still pending.
Acked-by: Fugang Duan <b38...@freescale.com>
Signed-off-by: Russell King <rmk+ker...@arm.linux.org.uk>
---
drivers/net/ethernet/freescale/fec_main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/freescale/fec_main.c
b/drivers/net/ethernet/frees
Add enet phy fixup, clock source init for i.MX7D platform.
Signed-off-by: Fugang Duan b38...@freescale.com
---
arch/arm/mach-imx/mach-imx7d.c | 75 --
1 file changed, 73 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-imx/mach-imx7d.c b/arch/arm
Add bcm54220 phy ID entry.
Signed-off-by: Fugang Duan b38...@freescale.com
---
include/linux/brcmphy.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/linux/brcmphy.h b/include/linux/brcmphy.h
index 697ca77..20bed15 100644
--- a/include/linux/brcmphy.h
+++ b/include/linux/brcmphy.h
Enable fec1 and fec2 for i.MX7d-sdb board.
Signed-off-by: Fugang Duan b38...@freescale.com
---
arch/arm/boot/dts/imx7d-sdb.dts | 76 -
1 file changed, 75 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/imx7d-sdb.dts b/arch/arm/boot/dts/imx7d
Add fec1 and fec2 nodes for i.MX7d soc.
Signed-off-by: Fugang Duan b38...@freescale.com
---
arch/arm/boot/dts/imx7d.dtsi | 36
1 file changed, 36 insertions(+)
diff --git a/arch/arm/boot/dts/imx7d.dtsi b/arch/arm/boot/dts/imx7d.dtsi
index b738ce0..7631492
: i.MX7d sdb board install bcm54220 phy, i.MX7d arm2 board install
AR8031 phy.
For the two phys, there needs extra phy setting, so package the
setting to fixup.
Patch#4~6: Add fec dts node and pinmux setting in dts file.
Fugang Duan (6):
net: phy: broadcom: add bcm54220 phy ID
ARM
Add GPIO1 pin define for i.MX7d.
Signed-off-by: Fugang Duan b38...@freescale.com
---
arch/arm/boot/dts/imx7d-pinfunc.h | 115 ++
1 file changed, 115 insertions(+)
diff --git a/arch/arm/boot/dts/imx7d-pinfunc.h
b/arch/arm/boot/dts/imx7d-pinfunc.h
index
Add imx7d iomux-gpr field define.
Signed-off-by: Fugang Duan b38...@freescale.com
---
include/linux/mfd/syscon/imx7-iomuxc-gpr.h | 49 ++
1 file changed, 49 insertions(+)
diff --git a/include/linux/mfd/syscon/imx7-iomuxc-gpr.h
b/include/linux/mfd/syscon/imx7-iomuxc
. And the specifix GPR register offset and MASK
bit can be transferred from DTS.
Signed-off-by: Fugang Duan b38...@freescale.com
---
Documentation/devicetree/bindings/net/fsl-fec.txt | 3 +
drivers/net/ethernet/freescale/fec.h | 8 +++
drivers/net/ethernet/freescale/fec_main.c | 87
initialized MAC registers reset to default, so in the case, it must
init MAC prior to mii bus probe.
Signed-off-by: Fugang Duan b38...@freescale.com
---
drivers/net/ethernet/freescale/fec_main.c |4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/net/ethernet/freescale
From: Fugang Duan b38...@freescale.com
The current driver adjust freq formula is:
fe * diff = ppb * pc
Note:
fe: ENET ref clock frequency in Hz
diff = inc_corr - inc: difference between default increment and correction
increment
ppb: parts per billion adjustment from base
pc: correction
69 matches
Mail list logo