Re: Question on Linux USB driver's power management

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

 



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.

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

Yes.

> 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

> will any query via urb
> will cause resume of USB device?

Yes.

> Q4: should USB device driver response to do some device-specific power
> action (e.g. device register writing) to put a specific USB device
> into low power state when responding to suspend action?

No. A driver should implement suspend()/resume() hooks that
a) save device state if necessary
b) make it safe to go into a suspended state
c) cease communication
(in suspend() )

Please clarify the question.

> Q5: If Q4 is Yes, should device vendor respond for those
> device-specific code? will Linux kernel code typically incorporate
> those device-specific code?

There is nothing necessarily device specific in suspend()/resume()
Please clarify the question.

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