[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20140605.152459.1082790961637060914.davem@davemloft.net>
Date: Thu, 05 Jun 2014 15:24:59 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: Alexey.Brodkin@...opsys.com
Cc: netdev@...r.kernel.org, hdegoede@...hat.com,
peppe.cavallaro@...com, wens@...e.org,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
Vineet.Gupta1@...opsys.com
Subject: Re: [PATCH] stmmac: extend DMA initialization delay to 2.5 seconds
From: Alexey Brodkin <Alexey.Brodkin@...opsys.com>
Date: Thu, 5 Jun 2014 16:58:00 +0400
> On some platforms existing 100 msecond delay is not enough for DMA block to
> recover after reset. This is because MAC DMA waits for all PHY input clocks
> to present and depending on the board reset bit deassertion may take much
> longer than previously used 100 milliseconds
>
> I have a board that requires more than 2 seconds for DMA to zero "reset" bit.
> If for other boards it's still not long enough this value should be extended
> once again.
>
> In the same change I convert "mdelay" to "msleep" to make CPU available for
> other processes during DMA init delay which is especially useful in case of
> delay for a few seconds.
>
> Signed-off-by: Alexey Brodkin <abrodkin@...opsys.com>
This will not work, you cannot sleep with spinlocks held, and this code is
absolutely called in such a context.
For example stmmac_resume() --> stmmac_hw_setup() -> stmmac_init_dma_engine().
stmmac_resume() holds priv->lock over all of these operations, and even has
interrupts disabled.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists