Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp197168pxf; Thu, 8 Apr 2021 00:30:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwgRlyNEJEDOS6APHGBgRykVjncByJUE2yRDB7bSghgo3OafdIUsJXkPFDh8OxCT8s8AvH7 X-Received: by 2002:a17:90b:d95:: with SMTP id bg21mr7160158pjb.159.1617867019885; Thu, 08 Apr 2021 00:30:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617867019; cv=none; d=google.com; s=arc-20160816; b=IBWBylxdJyvAhbXfzgrJJZlelIRxuh/oGiHqOKCZKapq0lz5CEdZHKyLpr7LAnmkro ejv9iQGRnW9C/aCnJywPRh3XgUt6NQamKCmxqJzfUAv3EE9rZueCwsFkT4hyfaUoKtUz +o1n5tsJ5uWMuds4GID9ZYnj84DPfjpCsA9es4qjH9H2sVA3pOXKvXZiAN4XSQndbpQt uGob7uI1mUNPPF6tocXmpBDLJ66c+TWdFICn+yeyAHnr0lV3pB2j3kuX8UxSihRBWqHx eUY8IuPE/eHryyc0V8gjAn7Z0zQKX+CIwB632YkeNLn5+uLswTbtOMoIHzifsLhCs7s8 QYAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:cc:to:subject:from:references :in-reply-to:date:dkim-signature; bh=GXODuvOupJt8+bJ8dAW08Bfezg8Gwpj4s5cB0yyXr1M=; b=wtPQvHTBOJW2prJzMQzAKGXAMgq8ukAEOo6NuyXL+Ox55YOY/ReWQLDOx3a5094cYj IU9FbT1qZ60+hxvuB/s7rDa7d2pIfetecKyGqE1eikOUMCTHCHqUUzhNSR0NOvGgCT2p sVakI+2Y3ZvXUfB3m3/G9lm7JJWnkDCigTKL4cQ1rlokOrCQImyxAm98U3KTumbOSGdD 2Nf3UVA6zoYEKClxND0AnkzNUxFxDkmqk8XnWQrVuwuhOny48Q9dkwLCMof+DbgQb4PP akw1yEuQweqLgIqbotujJaEwvrGqe24rnfuYuJ6J45RYTryi3H/hY102SRApGI8AOmh7 qxpQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@synopsys.com header.s=mail header.b=GT4eAEcD; 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 o15si9464100pjf.0.2021.04.08.00.30.07; Thu, 08 Apr 2021 00:30:19 -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=GT4eAEcD; 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 S230213AbhDHH2t (ORCPT + 99 others); Thu, 8 Apr 2021 03:28:49 -0400 Received: from smtprelay-out1.synopsys.com ([149.117.73.133]:59968 "EHLO smtprelay-out1.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229623AbhDHH2l (ORCPT ); Thu, 8 Apr 2021 03:28:41 -0400 Received: from mailhost.synopsys.com (mdc-mailhost1.synopsys.com [10.225.0.209]) (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 400F640556; Thu, 8 Apr 2021 07:28:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail; t=1617866911; bh=MayTwbhgx5n8GaJ/Kha7XYbeB6XviL3Z8jfc1aJZQRQ=; h=Date:In-Reply-To:References:From:Subject:To:Cc:From; b=GT4eAEcDxrVoJRaN+l35ES5wNXBCIpX2GLONMcy5VFTeMeN02GeZffu8I29qYPZU/ 1QlM/jSiPK36z7hL4E8nL8yCxxJKpMdXowC3MBGweYBonscPEwhhjzsUQTglrcUl5d +0pA7YP7Wxua15xObS8AXUOYKn7xlvkBiuRs4v2F6FYcITNKApGrZje+CvHgs8SPpW Tf+6BkKH6G64brSDplDOzDCpVouIB5yYNNwwGFAFHyOpSzaq0IzRuR3Ct32r3ezFiZ Yg7FRSVN1KX/036LguP4LBaDgxPAujzDS7THqbSXZBQwNhM/zOKfzmj9xNwG4FkyFH bfi5KsPTo7kBg== 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 61347A022E; Thu, 8 Apr 2021 07:28:25 +0000 (UTC) Received: by razpc-HP (sSMTP sendmail emulation); Thu, 08 Apr 2021 11:28:24 +0400 Date: Thu, 08 Apr 2021 11:28:24 +0400 In-Reply-To: References: X-SNPS-Relay: synopsys.com From: Artur Petrosyan Subject: [PATCH v2 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 Message-Id: <20210408072825.61347A022E@mailhost.synopsys.com> 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. Changes since V1: No changes in the patches or the source code. Sending the second version of the patch set because the first version was not received by vger.kernel.org. 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