On Thu, May 03, 2012 at 05:17:18, Mark A. Greer wrote: > From: "Mark A. Greer" <mgreer@xxxxxxxxxxxxxxx> > > The davinci EMAC driver has been incorporated into the am35x > family of SoC's which is OMAP-based. The incorporation is > incomplete in that the EMAC cannot unblock the [ARM] core if > its blocked on a 'wfi' instruction. This is an issue with > the cpu_idle code because it has the core execute a 'wfi' > instruction. > > To work around this issue, add platform data callbacks which > are called at the beginning of the open routine and at the > end of the stop routine of the davinci_emac driver. The > callbacks allow the platform code to issue disable_hlt() and > enable_hlt() calls appropriately. Calling disable_hlt() > prevents cpu_idle from issuing the 'wfi' instruction. > > It is not sufficient to simply call disable_hlt() when > there is an EMAC present because it could be present but > not actually used in which case, we do want the 'wfi' to > be executed. > Are you trying to say that if ARM executes _just_ wfi and _absolutely nothing else_ is done in the OMAP PM code, EMAC stops working? However, if this is indeed the case, then probably a better solution would be to invoke disable_hlt() from the board file when EMAC support is compiled in. Regards, Vaibhav -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html