RE: FEC driver hangs hardware on i.MX6SX
From: fugang.duan@freescale.com <hidden>
Date: 2014-07-21 02:13:39
Also in:
linux-arm-kernel
From: Shawn Guo <redacted> Data: Monday, July 21, 2014 9:59 AM
To: Richard Cochran Cc: Duan Fugang-B38611; linux-arm-kernel@lists.infradead.org; netdev@vger.kernel.org; Li Frank-B20596; David S. Miller Subject: Re: FEC driver hangs hardware on i.MX6SX On Sun, Jul 20, 2014 at 08:20:49AM +0200, Richard Cochran wrote:quoted
On Sun, Jul 20, 2014 at 10:57:33AM +0800, Shawn Guo wrote:quoted
I think the cause is that PTP is still accessing registers after FEC driver calls fec_enet_clk_enable(ndev, false) to disable FEC clocks. Can you please try to provide a fix for this regression soon?What do you mean by, "PTP is still accessing registers"? The only access to any register is through the driver, and the driver can and should make sure all register accesses are safe.Sorry for being vague, Richard. I meant PTP driver is still accessing registers. With Fugang's clock management patch, FEC clocks will be disabled to save power after FEC gets probed. But at that point, fec_ptp driver already launches a timer, which will trigger the read on FEC ATIME register once per second. Shawn
Yes, why does it cause at imx6sx platform ? Because imx5x, imx6q/dl/sl enet register access don't cause system hang when clock is disab led, just return one error value that is zero. But for imx6sx, if there disable enet ipg clock, and access register, which cause system hang. For clock management patch itself, there have no any problem. Just ptp driver has one issue which think clock is always on. I submit one patch to fix the ptp issue. Thanks, Andy