David Brownell wrote:
> It tries to use USB resume mode, and looks at the controller to
> figure out if it's got to recover from powerdown (my laptop does
> this even without save-to-disk). There were also some issues
> with cleanup after controller reset, and with reinitializing.
What power management support are you using in the kernel / user space?
APM? ACPI?
Are you saying that your laptop does save-to-RAM if you leave it alone
too long? Is this the case you are fixing? But this patch also works on
save-to-disk?
I also note that the USB version in the root hub emulation is hardwired
(and you updated from 1.0 to 1.1). I note that the OHCI spec doesn't
have something like the UHCI Serial Bus Release Number register that
specifies a particular USB revision. However it does contain a
potentially applicable register that tells us what version of the OHCI
spec is being used (HcRevision - see 7.1.1 of the OHCI spec). Any
thoughts about using this?
Also, I think this needs to be folded into the UHCI drivers. They seem
to do this:
static int handle_pm_event(struct pm_dev *dev, pm_request_t rqst, void
*data)
{
switch (rqst) {
case PM_SUSPEND:
break;
case PM_RESUME:
break;
}
return 0;
}
and
_static int handle_pm_event (struct pm_dev *dev, pm_request_t rqst, void
*data)
{
uhci_t *s = (uhci_t*) dev->data;
dbg("handle_apm_event(%d)", rqst);
if (s) {
switch (rqst) {
case PM_SUSPEND:
reset_hc (s);
break;
case PM_RESUME:
start_hc (s);
break;
}
}
return 0;
}
There are power management bits in UHCI - see section 2.1.1 of the UHCI
spec.
Brad
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]