Re: [v1 1/1] usb:host:xhci support option to disable xHCI 1.0 USB2 HW LPM

From: Thang Q. Nguyen
Date: Thu May 18 2017 - 23:44:34 EST


On Fri, May 19, 2017 at 5:30 AM, Rob Herring <robh@xxxxxxxxxx> wrote:
> On Sat, May 13, 2017 at 07:13:14AM +0700, Thang Q. Nguyen wrote:
>> XHCI specification 1.1 does not require xHCI 1.0 compliant controllers
>> to always enable hardware USB2 LPM.
>> However, the current xHCI driver always enable it by setting HLE=1 when
>> seeing HLC=1. This makes certain xHCI controllers that have broken USB2
>> HW LPM fail to work as there is no way to disable this feature.
>> This patch adds support to control disabling USB2 Hardware LPM via
>> DT/ACPI attribute.
>>
>> Signed-off-by: Tung Nguyen <tunguyen@xxxxxxx>
>> Signed-off-by: Thang Q. Nguyen <tqnguyen@xxxxxxx>
>> ---
>> Documentation/devicetree/bindings/usb/usb-xhci.txt | 1 +
>> drivers/usb/host/xhci-plat.c | 3 +++
>> drivers/usb/host/xhci.c | 7 ++++++-
>> drivers/usb/host/xhci.h | 1 +
>> 4 files changed, 11 insertions(+), 1 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.txt b/Documentation/devicetree/bindings/usb/usb-xhci.txt
>> index 2d80b60..b5da569 100644
>> --- a/Documentation/devicetree/bindings/usb/usb-xhci.txt
>> +++ b/Documentation/devicetree/bindings/usb/usb-xhci.txt
>> @@ -26,6 +26,7 @@ Required properties:
>>
>> Optional properties:
>> - clocks: reference to a clock
>> + - usb2-hle-disable: disable USB2 LPM for hardware does not support it
>> - usb3-lpm-capable: determines if platform is USB3 LPM capable
>
> Can we have some consistency in the naming of these 2 properties? At
> least use 'lpm' rather than 'hle'. I don't recall why the 2nd one is not
> default enabled, but that would make more sense.
Thanks. I will update the attribute to "usb2-lpm-disable" in the next
patch revision.
>
>> - quirk-broken-port-ped: set if the controller has broken port disable mechanism
>>