On Tue, May 26, 2009 at 8:53 PM, Timur Tabi timur@freescale.com wrote:
On Tue, May 26, 2009 at 7:44 PM, Jon Smirl jonsmirl@gmail.com wrote:
Because Grant didn't want me doing udelay(50) just to delay things in order to give the AC97 controller time to initialize. Your function lets me loop on cpu_relax() for 50us.
But udelay() calls HMT_low(), which is like cpu_relax().
Then why did you need to make your routine that calls cpu_relax()?
I don't know what goes on in the guts of HMT_low() and cpu_relax(), when you guys decide which one I should use let me know and I can adjust the patch.
The hardware needs a minimum 50us pause. It doesn't matter if the pause is more than that. If the CPU has something to keep it busy for a few milliseconds that's fine.
-- Timur Tabi Linux kernel developer at Freescale