RE: issues with FS isochronous device behind HS hub

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

 



On Thu, 27 Aug 2009, Julie Zhu wrote:

> > What do you mean by "constantly"?  scan_periodic should be called only
> > when an interrupt occurs, which should be only when one of those 2
> URBs
> > completes.  Therefore scan_periodic should be called only twice.
> > 
> 
> Because the HS hub (FS hub also, although tests pass through FS hubs) is
> connected to the host controller, therefore, periodic schedule is
> enabled all the time. That is why scan_periodic is called constantly. I
> think it comes from ehci_work().

You can prevent this from happening so often by commenting out the line
in ehci_watchdog() where it calls ehci_work().

> I do see that scan_periodic() updates now_uframe, and my prints (which
> messed up all the timing therefore not much use) show that with HS hub,
> often now_uframe is incremented over clock, at the end of the procedure,
> inside else:

You left out some important code:

          if (now_uframe == clock) {
		...
>         } else {
>             now_uframe++;		/* this one sometimes pass over
> clock without round up happening*/
>             now_uframe %= mod;
>         }
>     }		/* end of for(;;) */
> }		/* end of scan_periodic() */

So I don't see how this can cause now_uframe to pass over clock.

> If that is true (which I will verify), then scan_periodic could scan
> ahead of frame index. The potential reason for this to happen could be
> the interrupt from HS hub transfers, which hardware trace showed that
> the submitted sitd's are interrupted by HS hub interrupt, and missing

I don't understand.  Are you talking about the URB for the hub's
interrupt-IN endpoint?  Do you mean that completion of this URB is 
somehow interfering with scan_periodic()?

> sitd's happened afterwards. Although, at this point, we are not sure why
> it is so.
> 
> > > I wonder whether the test setting is correct?
> > 
> > What test setting?
> > 
> The test setting of submitting 50 packets a time. I do not see anything
> is incorrect.

Since it works with a regular EHCI controller, it probably is correct.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

  Powered by Linux