Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1006510pxf; Thu, 8 Apr 2021 19:40:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwfNV1OtfAQnNH7PX80tfDq/eKdKM3YHst6c+ada6U1AJPgbTnDScILjHK0Jg6Ht67X1Rzl X-Received: by 2002:a63:2c8a:: with SMTP id s132mr10848500pgs.165.1617936000796; Thu, 08 Apr 2021 19:40:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617936000; cv=none; d=google.com; s=arc-20160816; b=JJuCgW5ZNAH7WQzAOeG0RSsMxv8BgZIw5vY+5Y6BzJv+mhHtfsdVIJ04iPW+LIHmOL M3jJHUUOlGLMwzONYobW9/ccYj8qd0NfF0h1eCB9TbZKEGHO8hBu2EdnPTnRa4DWVAti C9uUb+zZlNWzh/qbo3sDLb/oBNY3JS7ApWpqWW5GaRpv6tkQMXv2JX1eWragABrLDIM8 Y7xnuGavbylDsF2Y5rRFi3NZi+r3R58tGhZS/K83i/alty1pJcsglFAxlOBZqOA+AzKT t4JX3t2LnUKZ3Lj2IbODVOEe4QMi5R9aDmAXCwrs1K/UzmZCATBwWpPj9nxiS+xmEszo 5PJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=/H3+w1kSlHgYeFTRlykVW3L+NCrhoQZ5yFHQvC4t+aQ=; b=dTN69jYMv7Mpch3Y2bzZoc2PjQ/TmXSZdkpkgju+7T19liE8DTcN8IcvZYj0jvBrp+ 2CBjAYnYyp5FiOZdHrAoBEITsQo9+KPhP1Q0YNxvlU6ycu3gS/zeJqu2mXMV1jTvYXN/ orkaFmBEu1j3YDUE8xV0n68oYAznqXVHgdh5nxjbeOP2oVA8C24ZPp6Z3a3gDg+NMIWx MYGhi9pTlS8ry5jMvMc2EbCrRjdj8jdhr3zRa1tKAEh5X6rBxZkhsWwoqdkiX4+S+q3L r8GTJEmmVX1uhVd8rb0ypCi7Y4FLnqcUq65RRaIWTA56FUlvnVXDBXUjXxuLExGl41cw W/4w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c23si1168896pls.21.2021.04.08.19.39.47; Thu, 08 Apr 2021 19:40:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232815AbhDICj2 (ORCPT + 99 others); Thu, 8 Apr 2021 22:39:28 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:32851 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S232616AbhDICj1 (ORCPT ); Thu, 8 Apr 2021 22:39:27 -0400 X-UUID: 42acbb786ab846b5aa462aae7e359e64-20210409 X-UUID: 42acbb786ab846b5aa462aae7e359e64-20210409 Received: from mtkmbs10n1.mediatek.inc [(172.21.101.34)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1531868952; Fri, 09 Apr 2021 10:39:11 +0800 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkmbs06n2.mediatek.inc (172.21.101.130) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 9 Apr 2021 10:39:09 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 9 Apr 2021 10:39:08 +0800 From: Chunfeng Yun To: Greg Kroah-Hartman , Alan Stern CC: Matthias Brugger , Chunfeng Yun , Nishad Kamdar , , , , , Eddie Hung Subject: [RFC PATCH] usb: core: reduce power-on-good delay time of root hub Date: Fri, 9 Apr 2021 10:39:07 +0800 Message-ID: <1617935947-24045-1-git-send-email-chunfeng.yun@mediatek.com> X-Mailer: git-send-email 1.8.1.1.dirty MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: E08103E15D8BA582B180E4E4D7CBAA8F1514BC09414DEEB178647A498EF9A0E32000:8 X-MTK: N Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return the exactly delay time given by root hub descriptor, this helps to reduce resume time etc. Due to the root hub descriptor is usually provided by the host controller driver, if there is compatibility for a root hub, we can fix it easily without affect other root hub Signed-off-by: Chunfeng Yun --- drivers/usb/core/hub.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/usb/core/hub.h b/drivers/usb/core/hub.h index 73f4482d833a..22ea1f4f2d66 100644 --- a/drivers/usb/core/hub.h +++ b/drivers/usb/core/hub.h @@ -148,8 +148,10 @@ static inline unsigned hub_power_on_good_delay(struct usb_hub *hub) { unsigned delay = hub->descriptor->bPwrOn2PwrGood * 2; - /* Wait at least 100 msec for power to become stable */ - return max(delay, 100U); + if (!hub->hdev->parent) /* root hub */ + return delay; + else /* Wait at least 100 msec for power to become stable */ + return max(delay, 100U); } static inline int hub_port_debounce_be_connected(struct usb_hub *hub, -- 2.18.0