Re: Question on Linux USB driver's power management

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

 



On Wed, 30 Jun 2010, Oliver Neukum wrote:

> Am Mittwoch, 30. Juni 2010, 11:04:58 schrieb Samuel Xu:
> > Appreciate any USB power expert can help me on those Linux USB power
> > management puzzles:
> > 
> > Q1: I found some USB material mentioned : Relationship between ACPI
> > Dx(e.g. D0/D1/D3) states and USB PM states (active/suspended) is
> > orthogonal.
> 
> Almost. The root hub must be in D0 unless it is suspended. But the root
> hub can be suspended only if all devices on the bus are suspended.

ACPI is used for controlling devices that are on the computer's
motherboard.  Devices that are not on the motherboard (such as most USB
devices as well as add-on USB host controller cards) are not managed by
ACPI and do not have ACPI Dx states.

> > Suspend/resume might not effect device Dx state. Is it a correct
> > statement for general usb device?
> 
> Yes.

No, not really.  The question is based on an invalid assumption, since 
USB devices don't have Dx states.

> > Q2: How to tell USB device?s ACPI Dx state. It seems lsusb can?t tell
> > us those info. (lspci works for PCI device?s Dx state)
> 
> USB devices don't have Dx states. Therefore you can't query them.
> 
> > Q3: How to tell USB device?s suspension state?
> 
> You don't. You can just query whether the device should autosuspend itself
> in /sys/bus/usb/devices/$DEVICE/power

Starting with 2.6.35-rc1, if your kernel has CONFIG_PM_ADVANCED_DEBUG 
enabled then you can tell a USB device's suspension state by reading 
the device's power/runtime_status sysfs attribute file.

Alan Stern

--
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