[PATCH] net: davinci_emac: Add pre_open, post_stop platform callbacks
Bedia, Vaibhav
vaibhav.bedia at ti.com
Thu May 3 06:44:44 EDT 2012
On Thu, May 03, 2012 at 05:17:18, Mark A. Greer wrote:
> From: "Mark A. Greer" <mgreer at animalcreek.com>
>
> 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
More information about the linux-arm-kernel
mailing list