Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp869070pxf; Wed, 7 Apr 2021 13:44:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz/qXRwFKbB03s9JcW+PHejSXDL3fgiX+Q+Tcs4W/3xNiWJS92vDFDkyBFxXz2uCBF6qcwI X-Received: by 2002:a17:906:b1c1:: with SMTP id bv1mr6019995ejb.24.1617828287318; Wed, 07 Apr 2021 13:44:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617828287; cv=none; d=google.com; s=arc-20160816; b=nUZnmzDO+0r6KC6xVWyI8P7MqsREhtT62jgs9ZqKvjvtbu5l6JnCwagVKsgupT1Ht0 q+t/v+ZzfJHtx8IOwWNLncdhx4pAZl45RG4qnIFUwMNg908PpIhVNSp9mgGe+LOe0hzm TSeyjGLfMrB9Ki+WnHj1GKwpLSlbE8NPE93Y0qNDh6LByI2o5xTdfLIBxYdC5KrjPnkF INGVZ1B+cSU5YRbSdHG9SRDq3gKwG6RM+Cde2MZ+7gy7K6BwQt1XPbud1XF6xvplPwuX LHfZUOZiwB0RNkSN8Rm50iqKQGY9p1i73PZz++rfS1cTod1skAnBJTG6ktw/s5ewU8t4 goNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:from:message-id:date :dkim-signature; bh=da5md7qjXWriHZiS42+dPNMmvR3GbPkB2YT5T40rDaU=; b=Hh3RJ4jY18ZOywjsZjYwnmWvDugE29HRh4s4MiSQ1vZqG0hds9Fuwt5SxabVAoZ3+C RaJqFj9/wVJYl6+WjAtFjsVp3qb39//S3KK12cfSl1IQihcZssdHASS++v23B2h+p6Wd T6cRVXjdmk8ppBbh7MuSVpFLnGKbHAelDiTBFdy+Lu48bBBBV0S2MTZM5ZjJHDiZ9HyI yjcYJIZD/syKPDp+mZgdo+10QsegVfReP3qdDf7VRstxrk54rVeLFAycg1Ng24uKqhGs MRZZGACttGCLtb7Vx7XoON5VuIu5Q35qR5xUajf65ozMw6FJl9ucyWHGSRCh6Na3V4cM aIvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@synopsys.com header.s=mail header.b=YHbwi9Qp; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=synopsys.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l24si11762428ejk.471.2021.04.07.13.44.23; Wed, 07 Apr 2021 13:44:47 -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=fail header.i=@synopsys.com header.s=mail header.b=YHbwi9Qp; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=synopsys.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1350451AbhDGKAd (ORCPT + 99 others); Wed, 7 Apr 2021 06:00:33 -0400 Received: from smtprelay-out1.synopsys.com ([149.117.73.133]:39484 "EHLO smtprelay-out1.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230220AbhDGKAc (ORCPT ); Wed, 7 Apr 2021 06:00:32 -0400 Received: from mailhost.synopsys.com (mdc-mailhost2.synopsys.com [10.225.0.210]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by smtprelay-out1.synopsys.com (Postfix) with ESMTPS id 5676F404A0; Wed, 7 Apr 2021 10:00:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail; t=1617789623; bh=5j9+LN48/eUhsAf/2HaDqriIe19NdgXnp/wRV+fh3Gw=; h=Date:From:Subject:To:Cc:From; b=YHbwi9Qp0mX9OTmwC77DbcxOU3ruwdLD91CD9DI35TxoGdNOYhOlT6BCmHdEVIryo QH+9Zd1UBg6qShrnjZ86r8ZYqo0RhYhNdO1uDvCcPgi/s4YKtVFA2nJE2uuyEE6LUe +kt1OyITs/NXvTjpcTAiiZljTSnR4ID/82YcaB9ggw4JlNlW5LyRsQzg6+QzI7Wh0p wIP2FabU0CYaeoffGMbQX6F/fNJvXiY/8MlLvcragOoYziBghmp5hxbei5y7QR5PJl YjsiMTllwtt8Lir84Mg8bJM5E+/lQoLOZgkk96zhmTuMk9uu0IkE9EqDPAT7nyeREO Yj9nPJcdYIuMw== Received: from razpc-HP (razpc-hp.internal.synopsys.com [10.116.126.207]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by mailhost.synopsys.com (Postfix) with ESMTPSA id 4441BA0094; Wed, 7 Apr 2021 10:00:17 +0000 (UTC) Received: by razpc-HP (sSMTP sendmail emulation); Wed, 07 Apr 2021 14:00:15 +0400 Date: Wed, 07 Apr 2021 14:00:15 +0400 Message-Id: X-SNPS-Relay: synopsys.com From: Artur Petrosyan Subject: [PATCH 00/14] usb: dwc2: Fix Partial Power down issues. To: John Youn , Felipe Balbi , Greg Kroah-Hartman , Minas Harutyunyan , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Mian Yousaf Kaukab , Gregory Herrero , Douglas Anderson Cc: Artur Petrosyan , Minas Harutyunyan , Paul Zimmerman , , Robert Baldyga , Kever Yang Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch set fixes and improves the Partial Power Down mode for dwc2 core. It adds support for the following cases 1. Entering and exiting partial power down when a port is suspended, resumed, port reset is asserted. 2. Exiting the partial power down mode before removing driver. 3. Exiting partial power down in wakeup detected interrupt handler. 4. Exiting from partial power down mode when connector ID. status changes to "connId B It updates and fixes the implementation of dwc2 entering and exiting partial power down mode when the system (PC) is suspended. The patch set also improves the implementation of function handlers for entering and exiting host or device partial power down. NOTE: This is the second patch set in the power saving mode fixes series. This patch set is part of multiple series and is continuation of the "usb: dwc2: Fix and improve power saving modes" patch set. (Patch set link: https://marc.info/?l=linux-usb&m=160379622403975&w=2). The patches that were included in the "usb: dwc2: Fix and improve power saving modes" which was submitted earlier was too large and needed to be split up into smaller patch sets. Artur Petrosyan (14): usb: dwc2: Add device partial power down functions usb: dwc2: Add host partial power down functions usb: dwc2: Update enter and exit partial power down functions usb: dwc2: Add partial power down exit flow in wakeup intr. usb: dwc2: Update port suspend/resume function definitions. usb: dwc2: Add enter partial power down when port is suspended usb: dwc2: Add exit partial power down when port is resumed usb: dwc2: Add exit partial power down when port reset is asserted usb: dwc2: Add part. power down exit from dwc2_conn_id_status_change(). usb: dwc2: Allow exit partial power down in urb enqueue usb: dwc2: Fix session request interrupt handler usb: dwc2: Update partial power down entering by system suspend usb: dwc2: Fix partial power down exiting by system resume usb: dwc2: Add exit partial power down before removing driver drivers/usb/dwc2/core.c | 113 ++------- drivers/usb/dwc2/core.h | 27 ++- drivers/usb/dwc2/core_intr.c | 46 ++-- drivers/usb/dwc2/gadget.c | 148 ++++++++++- drivers/usb/dwc2/hcd.c | 458 +++++++++++++++++++++++++---------- drivers/usb/dwc2/hw.h | 1 + drivers/usb/dwc2/platform.c | 11 +- 7 files changed, 558 insertions(+), 246 deletions(-) base-commit: e9fcb07704fcef6fa6d0333fd2b3a62442eaf45b -- 2.25.1