On Thursday 28 December 2006 9:33 am, Marcelo Tosatti wrote:
> Hi,
> 
> The root hub status timer is problematic for tickless systems.

Yes.  Most of them (by number) being on ARM, using OHCI, which is why
that driver got converted to non-polled operation already.  :)

Root hub polling is largely a legacy of the initial Linux 2.2 host
controller implementations.  We're slowly getting past most such
limitations.


> So I've hacked up a patch to switch ehci-hcd to new_polling.

Thanks!!  Glad to see this.  Though I'm still waiting to x86 systes
able to run in tickless mode... and for that matter, to see the
tickless support become generic (vs ARM-specific).  The "clockevent"
stuff hasn't merged yet, I guess that's got to come first ...


> Unfortunately ehci_irq holds ehci->lock, so calling
> usb_hcd_poll_rh_status() directly from IRQ context is not possible.
> 
> Due to that, I've moved the call to a workqueue instance.

What Alan said ... workqueue not desired.  We have khubd,
whose job it is to do such stuff.


> Is it necessary to poll status during certain situations?

OHCI needed to poll since the spec didn't stipulate whether its
analogue of PCD was triggered by level ("change" bit nonzero in
the per-port root hub register) or edge ("change" bit changed to
become nonzero).  So naturally different vendors made different
choices.  Your excerpt from the EHCI spec seems to say that EHCI
requires that to be edge trigered ... which means that polling
won't be required.  (Modulo silicon bugs, and AFAIK we've not yet
seen anything using the wrong triggering.)

- Dave



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to