From: Frank Li <Frank.Li@freescale.com> To: <b38611@freescale.com>, <davem@davemloft.net>, <netdev@vger.kernel.org>, <lznuaa@gmail.com> Cc: <shawn.guo@linaro.org>, <linux-arm-kernel@lists.infradead.org>, <devicetree@vger.kernel.org>, Fugang Duan <B38611@freescale.com>, Frank Li <Frank.Li@freescale.com> Subject: [Patch net-next 05/11] net:fec: Disable enet-avb MAC instead of reset MAC Date: Thu, 4 Sep 2014 04:38:11 +0800 [thread overview] Message-ID: <1409776697-1536-6-git-send-email-Frank.Li@freescale.com> (raw) In-Reply-To: <1409776697-1536-1-git-send-email-Frank.Li@freescale.com> From: Fugang Duan <B38611@freescale.com> For i.MX6SX enet use AXI bus, reset MAC will make system bus dead if ENET-AXI bus has pending access (AHB bus should not have such issue). So, disable enet with AVB MAC instead of reset MAC itself. Signed-off-by: Fugang Duan <B38611@freescale.com> Signed-off-by: Frank Li <Frank.Li@freescale.com> --- drivers/net/ethernet/freescale/fec_main.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index f973a92..5dab6a6 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -948,9 +948,16 @@ fec_restart(struct net_device *ndev) u32 ecntl = 0x2; /* ETHEREN */ int i; - /* Whack a reset. We should wait for this. */ - writel(1, fep->hwp + FEC_ECNTRL); - udelay(10); + /* Whack a reset. We should wait for this. + * For i.MX6SX SOC, enet use AXI bus, we use disable MAC + * instead of reset MAC itself. + */ + if (id_entry && id_entry->driver_data & FEC_QUIRK_HAS_AVB) { + writel(0, fep->hwp + FEC_ECNTRL); + } else { + writel(1, fep->hwp + FEC_ECNTRL); + udelay(10); + } /* * enet-mac reset will reset mac address registers too, @@ -1122,9 +1129,16 @@ fec_stop(struct net_device *ndev) netdev_err(ndev, "Graceful transmit stop did not complete!\n"); } - /* Whack a reset. We should wait for this. */ - writel(1, fep->hwp + FEC_ECNTRL); - udelay(10); + /* Whack a reset. We should wait for this. + * For i.MX6SX SOC, enet use AXI bus, we use disable MAC + * instead of reset MAC itself. + */ + if (id_entry && id_entry->driver_data & FEC_QUIRK_HAS_AVB) { + writel(0, fep->hwp + FEC_ECNTRL); + } else { + writel(1, fep->hwp + FEC_ECNTRL); + udelay(10); + } writel(fep->phy_speed, fep->hwp + FEC_MII_SPEED); writel(FEC_DEFAULT_IMASK, fep->hwp + FEC_IMASK); -- 1.9.1
WARNING: multiple messages have this Message-ID (diff)
From: Frank Li <Frank.Li@freescale.com> To: b38611@freescale.com, davem@davemloft.net, netdev@vger.kernel.org, lznuaa@gmail.com Cc: shawn.guo@linaro.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, Fugang Duan <B38611@freescale.com>, Frank Li <Frank.Li@freescale.com> Subject: [Patch net-next 05/11] net:fec: Disable enet-avb MAC instead of reset MAC Date: Thu, 4 Sep 2014 04:38:11 +0800 [thread overview] Message-ID: <1409776697-1536-6-git-send-email-Frank.Li@freescale.com> (raw) In-Reply-To: <1409776697-1536-1-git-send-email-Frank.Li@freescale.com> From: Fugang Duan <B38611@freescale.com> For i.MX6SX enet use AXI bus, reset MAC will make system bus dead if ENET-AXI bus has pending access (AHB bus should not have such issue). So, disable enet with AVB MAC instead of reset MAC itself. Signed-off-by: Fugang Duan <B38611@freescale.com> Signed-off-by: Frank Li <Frank.Li@freescale.com> --- drivers/net/ethernet/freescale/fec_main.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index f973a92..5dab6a6 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -948,9 +948,16 @@ fec_restart(struct net_device *ndev) u32 ecntl = 0x2; /* ETHEREN */ int i; - /* Whack a reset. We should wait for this. */ - writel(1, fep->hwp + FEC_ECNTRL); - udelay(10); + /* Whack a reset. We should wait for this. + * For i.MX6SX SOC, enet use AXI bus, we use disable MAC + * instead of reset MAC itself. + */ + if (id_entry && id_entry->driver_data & FEC_QUIRK_HAS_AVB) { + writel(0, fep->hwp + FEC_ECNTRL); + } else { + writel(1, fep->hwp + FEC_ECNTRL); + udelay(10); + } /* * enet-mac reset will reset mac address registers too, @@ -1122,9 +1129,16 @@ fec_stop(struct net_device *ndev) netdev_err(ndev, "Graceful transmit stop did not complete!\n"); } - /* Whack a reset. We should wait for this. */ - writel(1, fep->hwp + FEC_ECNTRL); - udelay(10); + /* Whack a reset. We should wait for this. + * For i.MX6SX SOC, enet use AXI bus, we use disable MAC + * instead of reset MAC itself. + */ + if (id_entry && id_entry->driver_data & FEC_QUIRK_HAS_AVB) { + writel(0, fep->hwp + FEC_ECNTRL); + } else { + writel(1, fep->hwp + FEC_ECNTRL); + udelay(10); + } writel(fep->phy_speed, fep->hwp + FEC_MII_SPEED); writel(FEC_DEFAULT_IMASK, fep->hwp + FEC_IMASK); -- 1.9.1
next prev parent reply other threads:[~2014-09-03 21:00 UTC|newest] Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-09-03 20:38 [Patch net-next 00/11] net: fec: imx6sx multiqueue support Frank Li 2014-09-03 20:38 ` Frank Li 2014-09-03 20:38 ` [Patch net-next 03/11] net:fec: use multiqueue interface to allocate Ethernet device Frank Li 2014-09-03 20:38 ` Frank Li 2014-09-03 21:20 ` Florian Fainelli 2014-09-03 21:20 ` Florian Fainelli [not found] ` <1409776697-1536-1-git-send-email-Frank.Li-KZfg59tc24xl57MIdRCFDg@public.gmane.org> 2014-09-03 20:38 ` [Patch net-next 01/11] net:fec: add enet refrence clock for i.MX 6SX chip Frank Li 2014-09-03 20:38 ` Frank Li 2014-09-03 20:38 ` [Patch net-next 02/11] net:fec: add enet AVB feature macro define for imx6sx Frank Li 2014-09-03 20:38 ` Frank Li 2014-09-03 20:38 ` [Patch net-next 04/11] net:fec: add multiqueue support Frank Li 2014-09-03 20:38 ` Frank Li 2014-09-03 21:27 ` Florian Fainelli 2014-09-03 21:27 ` Florian Fainelli [not found] ` <540787B9.8090504-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-09-04 3:41 ` Zhi Li 2014-09-04 3:41 ` Zhi Li 2014-09-04 4:09 ` Florian Fainelli 2014-09-04 4:09 ` Florian Fainelli 2014-09-04 14:02 ` Zhi Li 2014-09-04 14:02 ` Zhi Li 2014-09-03 20:38 ` [Patch net-next 08/11] net:fec: change FEC alignment to 64 bytes for ARM platform Frank Li 2014-09-03 20:38 ` Frank Li 2014-09-04 8:50 ` David Laight 2014-09-04 9:11 ` fugang.duan at freescale.com 2014-09-04 9:18 ` David Laight 2014-09-04 14:17 ` Zhi Li 2014-09-04 14:17 ` Zhi Li 2014-09-03 20:38 ` [Patch net-next 09/11] net:fec: remove unnessary memory copy for address alignment in .xmit() Frank Li 2014-09-03 20:38 ` Frank Li 2014-09-03 20:38 ` [Patch net-next 10/11] ARM: Documentation: Update fec dts binding doc Frank Li 2014-09-03 20:38 ` Frank Li 2014-09-03 20:38 ` Frank Li [this message] 2014-09-03 20:38 ` [Patch net-next 05/11] net:fec: Disable enet-avb MAC instead of reset MAC Frank Li 2014-09-03 20:38 ` [Patch net-next 06/11] net:fec: add enet-avb IP support Frank Li 2014-09-03 20:38 ` Frank Li 2014-09-03 20:38 ` [Patch net-next 07/11] net:fec: Add fsl,imx6sx-fec compatible strings Frank Li 2014-09-03 20:38 ` Frank Li 2014-09-03 20:38 ` [Patch net-next 11/11] ARM: dts: imx6sx: add multi-queue support enet Frank Li 2014-09-03 20:38 ` Frank Li [not found] <1409776486-1403-1-git-send-email-y> 2014-09-03 20:34 ` [Patch net-next 05/11] net:fec: Disable enet-avb MAC instead of reset MAC y 2014-09-03 20:34 ` y 2014-09-03 20:34 ` y 2014-09-03 20:34 ` y
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=1409776697-1536-6-git-send-email-Frank.Li@freescale.com \ --to=frank.li@freescale.com \ --cc=b38611@freescale.com \ --cc=davem@davemloft.net \ --cc=devicetree@vger.kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=lznuaa@gmail.com \ --cc=netdev@vger.kernel.org \ --cc=shawn.guo@linaro.org \ /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: linkBe 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.