Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp2627437pxy; Mon, 3 May 2021 04:40:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzNGxw/YdWUViaaVzdJ1AUqSNW0js/gEIku1A+VvlCAbOKVejRdolSPfwSiiF6ch1CeROsB X-Received: by 2002:a17:902:e8c1:b029:e9:3c98:2dd2 with SMTP id v1-20020a170902e8c1b02900e93c982dd2mr20011378plg.17.1620042000221; Mon, 03 May 2021 04:40:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620042000; cv=none; d=google.com; s=arc-20160816; b=c0Ep1R5qSQ+77sNdGnPGxnN6hVjQuNAweGkwIEnYBEDJ7l7aUkdPgIFdW/qCMY55qI Bb7k2bnNgoan+0K6kiA3Q9BNZKy5DUPfxUl8X7geD+2Cd218PZsVukYXKDMWkwqD9jRX cbkouX1PJYLBfLFSsahDOo06oRoS78nWnd1FR1i0nOi9F0/7jxlO8+4BYR+7JQjZ6fj0 GFsppC0kCmnkCzz3gAtHTFXpF+U9uTfC9npJ4tW18Fmz66sMe3owsk/npWCWnP4TesQu 2AGPTrGRRqEDMRY6nNPYP22FrpWuH7FYcwzfuJlVVVdusADK1BlcSi434p/LtoDWY1dv QUjQ== 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:references :in-reply-to:subject:cc:to:from:dkim-signature; bh=Faxw6o1xQSsK/+LWvEo1PALcyJG8ob4lXnIrq/0G1T8=; b=TzB5Xoi/wsMAOj7G0g9dI9fA5spc3Lh6pmQJyq/YEYQve7bidWPcFS4YjNtVnlOgpM 3Tchz3Iv98pSFakOIepIO5F3/VRuqwK6+MvrLnnUhwtA5GPQa4yTZOiYqeML9qDjNNRm asJJDAYI1HNFlxXoTVWHx5tmNbJr7wDCuI52lk0HzY9nQ1WOp4BcxlhAs+iqJy8Cm3Hx W0pqYxVMrsa+He8z6QztlytOyzCnNJ7watJfTKlGznUBZdpkT1O+D+kRrRloexmrBm/K caVXme5Hii1xPRSyiCEB4cfsVD2GR0MszzREYgPYYeQyIAg8lJ3GRNo8qX8cCmWFYIju fI3g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=uKxt34Hm; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m2si10689008plx.60.2021.05.03.04.39.47; Mon, 03 May 2021 04: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; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=uKxt34Hm; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232960AbhECLV2 (ORCPT + 99 others); Mon, 3 May 2021 07:21:28 -0400 Received: from mail.kernel.org ([198.145.29.99]:43812 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230137AbhECLV1 (ORCPT ); Mon, 3 May 2021 07:21:27 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id D3EE261221; Mon, 3 May 2021 11:20:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620040834; bh=ZUgVwxzi7a3MtB6NcAHEykBjZMzggIkMTLCY+qPK52g=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=uKxt34HmYmBfq5vBMhBmz3d/CTySSKuJYU1S0hznPEUkhjS1YP/wt+dsyxrl+QgBd 0Eowgk6D67u8gbziE5e40OMnDCKhkS6GL6sm047ezS5+y5m/QiIYw5wam0C3jzL/xV MTRgJgZ7EIIRb74BNEiBqvRvlIgJBNzSIDQA3yh1YPUrcEDFJGGB6yTgyEKbkMQa3a xiAgLmJ89+z6f3TB7XUlMkXMDpIlbUC5A6fmM8QugVrxGUuVbRMzwihu5TMZhuFZ/O upJe1zWfc2Xo54st/24h3oloPZFmniV6TD+cgO80wcNYilR0+EZK7pgIjxRris425t sMZu9UW8Lmq7g== From: Felipe Balbi To: Sandeep Maheswaram , Andy Gross , Bjorn Andersson , Greg Kroah-Hartman , Stephen Boyd , Doug Anderson , Matthias Kaehlcke Cc: linux-arm-msm@vger.kernel.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Manu Gautam Subject: Re: [PATCH v7 2/5] usb: dwc3: core: Host wake up support from system suspend In-Reply-To: <184ddea9-643f-91ea-6d1f-5bdd26373e53@codeaurora.org> References: <1619586716-8687-1-git-send-email-sanm@codeaurora.org> <1619586716-8687-3-git-send-email-sanm@codeaurora.org> <87r1iuk9vs.fsf@kernel.org> <184ddea9-643f-91ea-6d1f-5bdd26373e53@codeaurora.org> Date: Mon, 03 May 2021 14:20:23 +0300 Message-ID: <87h7jkhxmw.fsf@kernel.org> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, Sandeep Maheswaram writes: >> Sandeep Maheswaram writes: >>> Avoiding phy powerdown when wakeup capable devices are connected >>> by checking phy_power_off flag. >>> Phy should be on to wake up the device from suspend using wakeup capable >>> devices such as keyboard and mouse. >>> >>> Signed-off-by: Sandeep Maheswaram >>> Reviewed-by: Matthias Kaehlcke >>> --- >>> drivers/usb/dwc3/core.c | 7 +++++-- >>> 1 file changed, 5 insertions(+), 2 deletions(-) >>> >>> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c >>> index b6e53d8..bb414c3 100644 >>> --- a/drivers/usb/dwc3/core.c >>> +++ b/drivers/usb/dwc3/core.c >>> @@ -1738,7 +1738,7 @@ static int dwc3_suspend_common(struct dwc3 *dwc, = pm_message_t msg) >>> dwc3_core_exit(dwc); >>> break; >>> case DWC3_GCTL_PRTCAP_HOST: >>> - if (!PMSG_IS_AUTO(msg)) { >>> + if (!PMSG_IS_AUTO(msg) && dwc->phy_power_off) { >> should be able to detect this generically, no? Shouldn't >> device_may_wakeup() be valid here and give you the answer you want? > > I think=C2=A0 device_may_wakeup() gives whether the controller is wake up= =20 > capable or not. Yes, but it's a bit more than that. Looking at devices.rst we read: If :c:func:`device_may_wakeup(dev)` returns ``true``, the device should be prepared for generating hardware wakeup signals to trigger a system wakeup = event when the system is in the sleep state. For example, :c:func:`enable_irq_wa= ke()` might identify GPIO signals hooked up to a switch or other external hardwar= e, and :c:func:`pci_enable_wake()` does something similar for the PCI PME sign= al. So, if there is a condition where $this device has to, somehow, deal with wakeup, it should be configured accordingly. This ->phy_power_off flag is telling us the same thing. > But we want to keep phy powered on only when some wakeup capable devices= =20 > (eg:keyboard ,mouse ) are connected to controller. Understood, it could be that we're missing some method for propagating that state (i.e. keyboard with PM support) up to the parent device, but that's no excuse to bypass driver boundaries. Wouldn't you agree? =2D-=20 balbi --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQFFBAEBCAAvFiEE9DumQ60WEZ09LIErzlfNM9wDzUgFAmCP3HcRHGJhbGJpQGtl cm5lbC5vcmcACgkQzlfNM9wDzUjGOQf+KlT69IuS8HqBmJV2X3nhuK2dRhbHPymW K3GcWSvNnMq0ayGT9JmHUzvAOU/WxWqhLb+WLC4F3q2Tyn1bsfM89lu1GNmUFM+w kybGYLlNU1c/91LbJfmSyENKgTGSqYNJobi+mu6ggaIu5Q2Vf5bbu+hT4dMPckQU yxBuY7zrIdXp44EGWz6CImE1Jz8aVSeL98fBbflbgkwFo23zDoXO7Te28CAHg9Hr c0WeaK+z2b4GxOI8SQeBq2o7T4ZLUPtyk0nL36VDZH00Q5uM/ClsmnoreT/xz4In IuEKIJOVjvgyLYD9VcQXIt3Vb22EjhkwEGa7Zv8BD4EA1PIg3qLx9g== =ihYt -----END PGP SIGNATURE----- --=-=-=--