mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Andrey Smirnov <andrew.smirnov@gmail.com>
To: barebox@lists.infradead.org
Cc: Andrey Smirnov <andrew.smirnov@gmail.com>
Subject: [PATCH 07/16] fec_imx: Impelemnt reset timeout
Date: Tue, 15 Mar 2016 20:33:42 -0700	[thread overview]
Message-ID: <1458099232-9050-7-git-send-email-andrew.smirnov@gmail.com> (raw)
In-Reply-To: <1458099232-9050-1-git-send-email-andrew.smirnov@gmail.com>

Don't wait for more than one second for IP block to finish resetting. If
the block is dead it makes more sence to continue execution in hopes
that the rest of the processor is fine, rather than spin indefinetly
inside of the fec_probe function

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 drivers/net/fec_imx.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c
index 601edba..fc2c8e1 100644
--- a/drivers/net/fec_imx.c
+++ b/drivers/net/fec_imx.c
@@ -656,6 +656,7 @@ static int fec_probe(struct device_d *dev)
 	enum fec_type type;
 	int phy_reset;
 	u32 msec = 1;
+	u64 start;
 
 	ret = dev_get_drvdata(dev, (const void **)&type);
 	if (ret)
@@ -708,9 +709,13 @@ static int fec_probe(struct device_d *dev)
 	}
 
 	/* Reset chip. */
+	start = get_time_ns();
 	writel(FEC_ECNTRL_RESET, fec->regs + FEC_ECNTRL);
 	while(readl(fec->regs + FEC_ECNTRL) & FEC_ECNTRL_RESET) {
-		udelay(10);
+		if (is_timeout(start, SECOND)) {
+			ret = -ETIMEDOUT;
+			goto free_gpio;
+		}
 	}
 
 	/*
-- 
2.5.0


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

  parent reply	other threads:[~2016-03-16  3:34 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-16  3:33 [PATCH 01/16] i.MX6: dts: Include local .dtsi's last Andrey Smirnov
2016-03-16  3:33 ` [PATCH 02/16] clk-imx6: Call clk_enable on mmdc_ch0_axi_podf Andrey Smirnov
2016-03-16  3:33 ` [PATCH 03/16] fec_imx: Deallocate clocks when probe fails Andrey Smirnov
2016-03-16  3:33 ` [PATCH 04/16] fec_imx: Deallocate I/O resources if " Andrey Smirnov
2016-03-16  3:33 ` [PATCH 05/16] fec_imx: Free phy_reset GPIO if when " Andrey Smirnov
2016-03-16  3:33 ` [PATCH 06/16] fec_imx: Use FEC_ECNTRL_RESET instead of a magic number Andrey Smirnov
2016-03-16  3:33 ` Andrey Smirnov [this message]
2016-03-16  5:46   ` [PATCH 07/16] fec_imx: Impelemnt reset timeout Antony Pavlov
2016-03-16  3:33 ` [PATCH 08/16] fec_imx: Deallocate DMA buffers when probe fails Andrey Smirnov
2016-03-16  3:33 ` [PATCH 09/16] fec_imx: Unregister MDIO " Andrey Smirnov
2016-03-16  3:33 ` [PATCH 10/16] i.MX: Add revision detection for i.MX6D/Q Plus Andrey Smirnov
2016-03-16  3:33 ` [PATCH 11/16] ARM: Add errata 845369 workaround Andrey Smirnov
2016-03-16  3:33 ` [PATCH 12/16] i.MX6: Apply " Andrey Smirnov
2016-03-17  7:31   ` Stefan Christ
2016-03-21 16:08     ` Andrey Smirnov
2016-03-29 16:33       ` Trent Piepho
2016-03-16  3:33 ` [PATCH 13/16] L2x0: i.MX6: Replace magic numbers with constants Andrey Smirnov
2016-03-16  3:33 ` [PATCH 14/16] i.MX6: Apply PL310 errata base on PL310's revision Andrey Smirnov
2016-03-16  3:33 ` [PATCH 15/16] i.MX6: PL310: Adjust settings for performance Andrey Smirnov
2016-03-16  3:33 ` [PATCH 16/16] common: Add EPROBE_DEFER to strerror Andrey Smirnov
2016-03-17  7:25 ` [PATCH 01/16] i.MX6: dts: Include local .dtsi's last Sascha Hauer

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=1458099232-9050-7-git-send-email-andrew.smirnov@gmail.com \
    --to=andrew.smirnov@gmail.com \
    --cc=barebox@lists.infradead.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: 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