Commit 223b4ef5 authored by Chunfeng Yun's avatar Chunfeng Yun Committed by Greg Kroah-Hartman
Browse files

dt-bindings: usb: mtk-xhci: add a property for Gen1 isoc-in transfer issue



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 it may cause performance drop about 10%, including
bulk transfer.

Acked-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: default avatarChunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/20240104061640.7335-1-chunfeng.yun@mediatek.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 3eee5b40
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -124,6 +124,17 @@ 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 finishes 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 it may cause performance drop about 10%,
      including bulk transfer, prefer to use 3k here. The size is in bytes.
    enum: [1024, 2048, 3072, 4096]

  # the following properties are only used for case 1
  wakeup-source:
    description: enable USB remote wakeup, see power/wakeup-source.txt