]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
usb: dwc3: core: Print warning on unsupported speed
authorThinh Nguyen <Thinh.Nguyen@synopsys.com>
Fri, 24 Jul 2020 21:01:09 +0000 (14:01 -0700)
committerFelipe Balbi <balbi@kernel.org>
Thu, 24 Sep 2020 08:56:16 +0000 (11:56 +0300)
The user may have more information to override the HW parameter to
specify the maximum_speed. However, if the user specifies a
maximum_speed that the controller doesn't support, print out a warning.

Signed-off-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
drivers/usb/dwc3/core.c

index c8e0ef2c1db330e604d071bd6500203722c80b41..f3093b4e53072e49826c1857ba161662fea82741 100644 (file)
@@ -1399,8 +1399,17 @@ static void dwc3_check_params(struct dwc3 *dwc)
        case USB_SPEED_LOW:
        case USB_SPEED_FULL:
        case USB_SPEED_HIGH:
+               break;
        case USB_SPEED_SUPER:
+               if (hwparam_gen == DWC3_GHWPARAMS3_SSPHY_IFC_DIS)
+                       dev_warn(dev, "UDC doesn't support Gen 1\n");
+               break;
        case USB_SPEED_SUPER_PLUS:
+               if ((DWC3_IP_IS(DWC32) &&
+                    hwparam_gen == DWC3_GHWPARAMS3_SSPHY_IFC_DIS) ||
+                   (!DWC3_IP_IS(DWC32) &&
+                    hwparam_gen != DWC3_GHWPARAMS3_SSPHY_IFC_GEN2))
+                       dev_warn(dev, "UDC doesn't support SSP\n");
                break;
        default:
                dev_err(dev, "invalid maximum_speed parameter %d\n",