On Tue, 15 Mar 2016 20:33:42 -0700 Andrey Smirnov <andrew.smirnov@xxxxxxxxx> wrote: > [PATCH 07/16] fec_imx: Impelemnt reset timeout ^^^^^^^^^ Implement? > 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@xxxxxxxxx> > --- > 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@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/barebox -- -- Best regards, Antony Pavlov _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox