Re: [RESENDING RFC PATCH 1/4] dt-bindings: usb: Add snps,consolidate-sgl & consolidate-sgl
From: Tejas Joglekar
Date: Fri Mar 27 2020 - 06:28:46 EST
On 3/27/2020 3:54 PM, Greg KH wrote:
> On Fri, Mar 27, 2020 at 10:11:59AM +0000, Tejas Joglekar wrote:
>> Hi,
>> On 3/27/2020 3:24 PM, Greg KH wrote:
>>> On Fri, Mar 27, 2020 at 03:11:56PM +0530, Tejas Joglekar wrote:
>>>> This commit adds the documentation for consolidate-sgl, and
>>>> snps,consolidate-sgl property. These when set enables the quirk for
>>>> XHCI driver for consolidation of sg list into a temporary buffer when small
>>>> buffer sizes are scattered over the sg list not making up to MPS or total
>>>> transfer size within TRB cache size with Synopsys xHC.
>>>>
>>>> Signed-off-by: Tejas Joglekar <joglekar@xxxxxxxxxxxx>
>>>> ---
>>>> Documentation/devicetree/bindings/usb/dwc3.txt | 3 +++
>>>> Documentation/devicetree/bindings/usb/usb-xhci.txt | 3 +++
>>>> 2 files changed, 6 insertions(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
>>>> index 9946ff9ba735..292d1f7969e4 100644
>>>> --- a/Documentation/devicetree/bindings/usb/dwc3.txt
>>>> +++ b/Documentation/devicetree/bindings/usb/dwc3.txt
>>>> @@ -104,6 +104,9 @@ Optional properties:
>>>> this and tx-thr-num-pkt-prd to a valid, non-zero value
>>>> 1-16 (DWC_usb31 programming guide section 1.2.3) to
>>>> enable periodic ESS TX threshold.
>>>> + - snps,consolidate-sgl: enable sg list consolidation - host mode only. Set to use
>>>> + SG buffers of at least MPS size by consolidating smaller SG
>>>> + buffers list into a single buffer.
>>>>
>>>> - <DEPRECATED> tx-fifo-resize: determines if the FIFO *has* to be reallocated.
>>>> - snps,incr-burst-type-adjustment: Value for INCR burst type of GSBUSCFG0
>>>> diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.txt b/Documentation/devicetree/bindings/usb/usb-xhci.txt
>>>> index 3f378951d624..a90d853557ee 100644
>>>> --- a/Documentation/devicetree/bindings/usb/usb-xhci.txt
>>>> +++ b/Documentation/devicetree/bindings/usb/usb-xhci.txt
>>>> @@ -43,6 +43,9 @@ Optional properties:
>>>> - quirk-broken-port-ped: set if the controller has broken port disable mechanism
>>>> - imod-interval-ns: default interrupt moderation interval is 5000ns
>>>> - phys : see usb-hcd.yaml in the current directory
>>>> + - consolidate-sgl: indicate if you need to consolidate sg list into a
>>>> + temporary buffer when small SG buffer sizes does not make upto MPS
>>>> + size or total transfer size across the TRB cache size.
>>>
>>> Shouldn't this refer to the fact that the hardware is broken? Otherwise
>>> why would anyone know if they should, or should not, enable this option?
>>>
>> We have not seen issue with Linux environment for now. But with other OS with
>> SG list with very small buffer sizes the xHC controller hang was seen. So
>> currently introducing the binding as optional one. One could enable this
>> option when xHC halt happens due to small SG list sizes.
>
> What I mean is this should be something like,
> "quirk-broken-sg-list-handler" or something like that. Otherwise how
> does anyone know if this really is needed or not. Reading this would
> seem like everyone would like to do this, as consolidating links
> sounds like a good optimization, when instead this really cause more
> memory allocations, making this possibly worse performance.
>
Sure, understood. I will rename this entry.
> thanks,
>
> greg k-h
>
Thanks & Regards,
Tejas Joglekar