On Monday 13 September 2004 1:29 pm, Alan Stern wrote:
> 
> Do you have a clear idea of exactly what is supposed to get accomplished,
> and how much is supposed to happen in_interrupt in the HCD as opposed to
> later on in khubd?  I don't.  Getting the design straight would be my
> first step.

The IRQ handler can't do much at all; it just got an IRQ that
said the HC died.  Resetting the controller is about all it can
do (so it's in a known and "safe" state), other than notifying
usbcore that it's cleanup-time.

A more interesting question is whether usbcore should try
to actually restart the HCD.  Eventually that'd be nice to
do, but for now the infrastructure seems lacking.   So I'd
be content to just see all devices get cleanly shut down.


> Once that's done, it may well turn out that a special API either for HCDs 
> or for root hubs is appropriate.  (There doesn't seem to be much point in 
> making a strong distinction between HCs and root hubs.)

All I meant was moving the logic into hub.c in that case.
The HCD certainly needs to use hub APIs in some cases,
or at least its root hub component does.

The difference between an HC and a root hub is that
the HC includes a root hub for its downstream links, but
also adds access on one or more upstream links,
such as PCI.  The SOC implementations tend to have
DMA (hc to/from memory), control access (cpu to registers),
and clock control (feeding HC) on separate links.

 
> Or maybe an already-existing routine could be pressed into service.  I've
> got a patch for resetting hubs that I'll send in soon -- it punts when
> asked to reset a root hub, but clearly that's something we need to handle
> somehow.  And resetting root hubs is clearly related to this problem.

That'd work too.  Feel free to work on a patch.  Right now I'm
trying to find out what's up with resume after suspend-to-disk,
which is actually somewhat related (the root hub does get
reset), but other than pmcore problems I think the main issue
is root hub timers not getting restarted right.

- Dave


-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM. 
Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to