Message ID | 20231213063543.12435-1-chunfeng.yun@mediatek.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [1/3] dt-bindings: usb: mtk-xhci: add a property for Gen1 isoc-in transfer issue | expand |
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. Best regards, Krzysztof
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. Cheers, Angelo
On 13/12/2023 12:17, 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. I guess yes, if it is specific to RX. Best regards, Krzysztof
On Wed, Dec 13, 2023 at 12:17:17PM +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. Or rx-fifo-size. There's so many to choose from. Rob
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(+)