Re: [PATCH v10 19/19] usb: documentation for usb port power off mechanisms

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

 



On Tue, 20 May 2014, Dan Williams wrote:

> From: Lan Tianyu <tianyu.lan@xxxxxxxxx>
> 
> describe the mechanisms for controlling port power policy and
> discovering the port power state.


> +Example of the relevant files for port power control.
> +
> +                       child device link +
> +                       port device +     |
> +                parent hub +       |     |
> +                           v       v     v
> +     /sys/bus/devices/usb2/2-0:1.0/port1/device
> +
> +     /sys/bus/devices/usb2/2-0:1.0/port1/power/pm_qos_no_power_off
> +     /sys/bus/devices/usb2/2-0:1.0/port1/device/power/control
> +     /sys/bus/devices/usb2/2-0:1.0/port1/device/2-1:<intf0>/driver/unbind
> +     /sys/bus/devices/usb2/2-0:1.0/port1/device/2-1:<intf1>/driver/unbind
> +     ...
> +     /sys/bus/devices/usb2/2-0:1.0/port1/device/2-1:<intfN>/driver/unbind

These port names are out of date.  Likewise the names below.

+While a superspeed port is powered off a device may downgrade its
+connection and attempt to connect to the hi-speed pins.  The
+implementation takes steps to prevent this:
+
+1/ Port suspend is sequenced to guarantee that hi-speed ports are powered-off
+   before their superspeed peer is permitted to power-off.  The implication is
+   that the setting pm_qos_no_power_off to zero on a superspeed port may not cause
+   the port to power-off until its highspeed peer to go to its runtime suspend

s/to go/has gone/

+   state.  Userspace must take care to order the suspensions if it wants to
+   guarantee that a superspeed port will power-off.

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