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]

Reply via email to