Re: ehci frame index goes backwards?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I did test double reads and always saw the same value both times.

Another piece of info: I tested this software on an older vortex86dx
and saw the same issue.  It is plausible that a vortex86dx and
vortex86dx3 could have the same flawed EHCI.  Or perhaps there's some
other systemic issue that I'm not seeing.

On Thu, Oct 25, 2018 at 10:30 AM David Laight <David.Laight@xxxxxxxxxx> wrote:
>
> From: Daniel Goertzen
> > Sent: 24 October 2018 17:47
> >
> > I am developing a custom USB device that makes use of isochronous IN
> > transfers.  It works fine from my laptop (xHCI) however on an embedded
> > target (vortex86dx3, EHCI) I am seeing mysterious EFBIG errors.  After
> > adding lots of debug to ehci-sched I discovered that the EHCI register
> > "FRINDEX" which is supposed to increase monotonically, is actually
> > taking a jump backwards:
>
> What happens if you read the register twice - do you get the same value.
> It might be that the hardware is failing to synchronise the counter
> to the host bus clock and generates garbage during an increment.
> Such errors can be a complete mix of the old and new values, not just
> a 'carry chain' error.
> If the two reads give different values a third one should be correct
> (even if it differs from the second one).
>
>         David
>
> -
> Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
> Registration No: 1397386 (Wales)



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux