Message ID | 20231213063543.12435-1-chunfeng.yun@mediatek.com |
---|---|
State | New |
Headers | show |
Series | [1/3] dt-bindings: usb: mtk-xhci: add a property for Gen1 isoc-in transfer issue | expand |
On Wed, 2023-12-13 at 09:05 +0100, Krzysztof Kozlowski wrote: > > External email : Please do not click links or open attachments until > you have verified the sender or the content. > On 13/12/2023 07:35, 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 "mediatek,rxfifo-depth" to work around this > hardware > > issue; > > The side-effect is that may cause performance drop about 10%, > including > > bulk transfer. > > > > Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com> > > --- > > .../devicetree/bindings/usb/mediatek,mtk-xhci.yaml | 10 > ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/usb/mediatek,mtk- > xhci.yaml b/Documentation/devicetree/bindings/usb/mediatek,mtk- > xhci.yaml > > index e9644e333d78..b8ed68574ba4 100644 > > --- a/Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml > > +++ b/Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml > > @@ -124,6 +124,16 @@ properties: > > defined in the xHCI spec on MTK's controller. > > default: 5000 > > > > + mediatek,rxfifo-depth: > > + description: > > The property description and driver patch suggest you configure the > depth of FIFO, so this should be not bool, but some uint32. And then, > use generic "fifo-depth" property to set desired depth. I fix it as 2, it's OK to use a uint32, I'll modify it. Thanks > > > Best regards, > Krzysztof > >
On Wed, 2023-12-13 at 12:17 +0100, AngeloGioacchino Del Regno wrote: > Il 13/12/23 09:05, Krzysztof Kozlowski ha scritto: > > On 13/12/2023 07:35, 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 "mediatek,rxfifo-depth" to work around this > > > hardware > > > issue; > > > The side-effect is that may cause performance drop about 10%, > > > including > > > bulk transfer. > > > > > > Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com> > > > --- > > > .../devicetree/bindings/usb/mediatek,mtk-xhci.yaml | 10 > > > ++++++++++ > > > 1 file changed, 10 insertions(+) > > > > > > diff --git a/Documentation/devicetree/bindings/usb/mediatek,mtk- > > > xhci.yaml b/Documentation/devicetree/bindings/usb/mediatek,mtk- > > > xhci.yaml > > > index e9644e333d78..b8ed68574ba4 100644 > > > --- a/Documentation/devicetree/bindings/usb/mediatek,mtk- > > > xhci.yaml > > > +++ b/Documentation/devicetree/bindings/usb/mediatek,mtk- > > > xhci.yaml > > > @@ -124,6 +124,16 @@ properties: > > > defined in the xHCI spec on MTK's controller. > > > default: 5000 > > > > > > + mediatek,rxfifo-depth: > > > + description: > > > > The property description and driver patch suggest you configure the > > depth of FIFO, so this should be not bool, but some uint32. And > > then, > > use generic "fifo-depth" property to set desired depth. > > Did you mean "rx-fifo-depth" instead, as used in net? > This FIFO depth parameter is for RX only. Yes, only for RX > > Cheers, > Angelo > >
diff --git a/Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml b/Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml index e9644e333d78..b8ed68574ba4 100644 --- a/Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml +++ b/Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml @@ -124,6 +124,16 @@ properties: defined in the xHCI spec on MTK's controller. default: 5000 + mediatek,rxfifo-depth: + description: + It is a quirk flag 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. + type: boolean + # the following properties are only used for case 1 wakeup-source: description: enable USB remote wakeup, see power/wakeup-source.txt
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 "mediatek,rxfifo-depth" to work around this hardware issue; The side-effect is that may cause performance drop about 10%, including bulk transfer. Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com> --- .../devicetree/bindings/usb/mediatek,mtk-xhci.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+)