Re: Changes to power management in ehci-tegra

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

 



On 04/13/2012 03:00 PM, Alan Stern wrote:
> On Fri, 13 Apr 2012, Stephen Warren wrote:
> 
>> On 04/13/2012 01:46 PM, Alan Stern wrote:
>>> On Fri, 13 Apr 2012, Stephen Warren wrote:
>>>> I've tested the patch, and can unplug a USB device, wait 10 seconds,
>>>> then plug it back in, and everything works as expected.
>>>>
>>>> However, I don't notice /sys/devices/.../power/runtime_status ever
>>>> saying anything other than active, and I can't cat autosuspend_delay_ms,
>>>> so I assume I'm still not triggering the path you want me to test. I do
>>>> have PM_RUNTIME turned on. Any ideas? Do I need some patch to the USB
>>>> core to enable this? I tested on next-20120413 plus a few local patches.
>>>
>>> autosuspend_delay_ms isn't relevant here; the controller should be 
>>> suspended with no delay as soon as the root hub suspends.  No other 
>>> patches should be needed; it sounds like you're doing everything right.
>>>
>>> If you enable CONFIG_PM_ADVANCED_DEBUG along with CONFIG_PM_RUNTIME, 
>>> what do all the other power/runtime_* files show?
>>
>> 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 */

I'm at a loss how to do anything more useful here.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux