• Cherian, George's avatar
    xhci: Add quirk to workaround the errata seen on Cavium Thunder-X2 Soc · 11644a76
    Cherian, George authored
    Implement workaround for ThunderX2 Errata-129 (documented in
    CN99XX Known Issues" available at Cavium support site).
    As per ThunderX2errata-129, USB 2 device may come up as USB 1
    if a connection to a USB 1 device is followed by another connection to
    a USB 2 device, the link will come up as USB 1 for the USB 2 device.
    
    Resolution: Reset the PHY after the USB 1 device is disconnected.
    The PHY reset sequence is done using private registers in XHCI register
    space. After the PHY is reset we check for the PLL lock status and retry
    the operation if it fails. From our tests, retrying 4 times is sufficient.
    
    Add a new quirk flag XHCI_RESET_PLL_ON_DISCONNECT to invoke the workaround
    in handle_xhci_port_status().
    
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarGeorge Cherian <george.cherian@cavium.com>
    Signed-off-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    11644a76
xhci-pci.c 17.3 KB