On Wed, 2023-12-20 at 11:40 +0100, AngeloGioacchino Del Regno wrote: > Il 20/12/23 08:38, Krzysztof Kozlowski ha scritto: > > On 20/12/2023 03:58, Chunfeng Yun wrote: > > > For Gen1 isoc-in endpoint on controller before about SSUSB IPM > > > v1.6.0, it > > > still send out unexpected ACK after receiving a short packet in > > > burst > > > transfer, this will cause an exception on connected device, > > > specially for > > > a 4k camera. > > > Add a quirk property "rx-fifo-depth" to work around this hardware > > > issue, > > > prefer to use 3k bytes; > > > The side-effect is that may cause performance drop about 10%, > > > including > > > bulk transfer. > > > > > > Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> > > > --- > > > v3: add fifo depth unit, change the value range from 0-3 to 1-4 > > > v2: change 'mediatek,rxfifo-depth' to 'rx-fifo-depth' > > > --- > > > .../devicetree/bindings/usb/mediatek,mtk-xhci.yaml | 12 > > > ++++++++++++ > > > 1 file changed, 12 insertions(+) > > > > > > diff --git a/Documentation/devicetree/bindings/usb/mediatek,mtk- > > > xhci.yaml b/Documentation/devicetree/bindings/usb/mediatek,mtk- > > > xhci.yaml > > > index e9644e333d78..9478b7031796 100644 > > > --- a/Documentation/devicetree/bindings/usb/mediatek,mtk- > > > xhci.yaml > > > +++ b/Documentation/devicetree/bindings/usb/mediatek,mtk- > > > xhci.yaml > > > @@ -124,6 +124,18 @@ properties: > > > defined in the xHCI spec on MTK's controller. > > > default: 5000 > > > > > > + rx-fifo-depth: > > > + $ref: /schemas/types.yaml#/definitions/uint32 > > > + description: > > > + It is a quirk used to work around Gen1 isoc-in endpoint > > > transfer issue > > > + that still send out unexpected ACK after device finish the > > > burst transfer > > > + with a short packet and cause an exception, specially on a > > > 4K camera > > > + device, it happens on controller before about IPM v1.6.0; > > > the side-effect > > > + is that may cause performance drop about 10%, include bulk > > > transfer, > > > + prefer to use 3 here. The unit is 1K bytes. > > > > NAK. Read comments on previous submission. > > > > Best regards, > > Krzysztof > > > > Chunfeng, I think the discussion was not clear for you, so I will try > to give > you a different explanation: this should be expressed in bytes, so > 1000, or 1024, > 2048, 4096, etc, and not 1/2/3/4/5/n. > > The driver shall then validate and map your bytes number to hardware > register > value and subsequently write to the registers. Got it, I left out Krzysztof's comments when sent v3 series, Thanks a lot > > Cheers, > Angleo