Subject: Re: jerky interactive behavior -- a clue?
To: Eric Haszlakiewicz <erh@swapsimple.com>
From: David Laight <david@l8s.co.uk>
List: current-users
Date: 01/29/2007 21:36:43
On Mon, Jan 29, 2007 at 02:07:11PM -0600, Eric Haszlakiewicz wrote:
> I haven't looked into it, but my guess is there's probably a call to
> delay() with interrupts blocked somewhere in the driver. In contrast,
> the aue interface on the same machine was fine.
I'd look for code that is reading PHY registers in order to determine whether the
interface has changed from FDX to HDX (which the MAC unit has to be told about).
Quite often that code has to generate waveforms in software, and people have a
rather nasty habit of using deley() in that code (even in VxWorks drivers!).
The ony real solution is to slow the MII read down to do one transition per clock
tick. That would probably still take < 1sec to do the read.
(Obviously you may need to do a fast bit-bang during system initialise...)
David
--
David Laight: david@l8s.co.uk