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