Re: [PATCH v3 1/3] dt-bindings: usb: mtk-xhci: add a property for Gen1 isoc-in transfer issue

From: Chunfeng Yun (云春峰)
Date: Tue Dec 26 2023 - 21:09:02 EST


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