Re: Changes to power management in ehci-tegra

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

 



On Mon, 16 Apr 2012, Stephen Warren wrote:

> >> The EHCI controller's active_kids count stays at 1 all the time. I
> >> assume that's the root USB hub device. Looking in its power/ directory,
> >> I see that even when nothing is plugged in, runtime_status==enabled,
> >> even with no active_kids or runtime_usage:
> > 
> > That does indeed sound like a bug.
> > 
> >> [  242.611209] usb 3-1: USB disconnect, device number 4
> >> root@ilyich:/sys/devices/tegra-ehci.2/usb3/power# cat async
> >> enabled
> >> root@ilyich:/sys/devices/tegra-ehci.2/usb3/power# cat autosuspend_delay_ms
> >> 0
> > 
> > Odd...  This should contain 2000.  Maybe some userspace program has 
> > changed it?  Either value would be okay, however.
> > 
> > You could try writing 2000 to this file, then plugging in a device and 
> > unplugging it.  The root hub should then suspend 2 seconds after you 
> > unplug the device.
> 
> There's no difference if I write 2000 to this file.
> 
> I've tried turning on dynamic debug for the entire of USB. None of those
> fire, which I believe implies there aren't any attempted suspends of the
> Tegra EHCI controller that fail. I also added a few extra printks to the
> Tegra EHCI controller's suspend/resume functions which don't fire.
> 
> Is this anything to do with it:
> 
> ./ehci-hub.c:615:	/* FIXME autosuspend idle root hubs */

No, that's a very old, fossil comment.  It should have been removed 
years ago.

> I'm at a loss how to do anything more useful here.

We need to find out why the root hub isn't suspending.  Can you do some 
debugging in drivers/usb/core/driver.c?  The routines to check are 
autosuspend_check(), usb_runtime_idle(), and usb_runtime_suspend().

In particular, if autosuspend_check() doesn't return 0, what is the 
reason?  And if it does, what does the usb_suspend_both() call return?

Alan Stern

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


[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux