Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp271755pxf; Thu, 8 Apr 2021 02:46:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz4tkN/DBUT+8gB6YvD9nFNSrg/9Xhhk/g4K5zlvgmFtz8Lt+8lFNbALZ3TOuK98u9KkZQ5 X-Received: by 2002:a05:6402:2746:: with SMTP id z6mr10239062edd.146.1617875204311; Thu, 08 Apr 2021 02:46:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617875204; cv=none; d=google.com; s=arc-20160816; b=ZDPFQ8Wi9O83pcY4OUhd52YlPKClvOoYvl0f6RM8HVLfLaBg0VOGOIf1xgYnr4/PAt JdFzS9NCFdXLNT/drLGRRGEPYSl84l2wEqLb75/+rng3SqsnzJZ4aDQ7kOHXGBcSCc8/ LlwbFt/6k6du7KLzXqrIoPEFVmuNp2zc4r3t6+WlBdP0igHNwwtX52JbeLXxfOIsU1dI heCfn2uZn2hK5rZFyIDpA8N2mpUb6wRQMeXnxsaUz9zGIpSCT2T1Y13a3Pi6k17ldoIJ xg12aGKejFzzt6z7qmaw6Y9f4ypsZR4gDOU5V+x2yYDnR6e5nG0vVgEvndhxASJBHiEl 60Qw== 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=qqaq6/NSdTwZkfDGT+oD4ln/WVgK2IvoT22WCqFLtdY=; b=ClS23h2gp5p+Y9cM+vl6ftGh/LyZsMHNHF0QclW0VJiCcHw/cBrlwJuCnRz63bUuyj jpJbnM/nyGh0M9jAQnHJQ+dTdENhU5AP2/Yu7ihNMg/f/N7kyVr1dpxGyh+Od3fhwO3A HNO7m7U/Gz6FKN5YYqJr9zCqeVmDZbx4nTflfnIPzgzJrLYn9GC+434Cr7TeRMbq+Oj1 f6FMJOabsI2zXkCgaM+lIZ5R4rqQgYoYUVnm4dD0haaPn7sK7J6Kba9+6EiHwgEcKTO9 bfVCwFPzU/NykLQH2QXEQl8+vAi3vRIffMUTM1ZbyH8obFcO1oBlBo5hlVGUiiysKxgA Yxzw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@synopsys.com header.s=mail header.b=MVI+lX+a; 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=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 y9si8517877edl.103.2021.04.08.02.46.21; Thu, 08 Apr 2021 02:46:44 -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=@synopsys.com header.s=mail header.b=MVI+lX+a; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=synopsys.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231322AbhDHJpP (ORCPT + 99 others); Thu, 8 Apr 2021 05:45:15 -0400 Received: from smtprelay-out1.synopsys.com ([149.117.73.133]:37546 "EHLO smtprelay-out1.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231358AbhDHJpJ (ORCPT ); Thu, 8 Apr 2021 05:45:09 -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 3D02540829; Thu, 8 Apr 2021 09:44:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail; t=1617875097; bh=Gd6RpJYfHcJtTprhTBHDNtSWQfOmDM4ekWqCTpUJyiw=; h=Date:In-Reply-To:References:From:Subject:To:Cc:From; b=MVI+lX+aeluFNiHFgHK+ZIfFPaUReoDY9IO//B7JPIcG4o7awS7DNmWuB4g4rp38a b5t2zjxex9k1fy3GPFGADwZCMB5CBDGBEME8Mh/pFHVh40VUZywCon0xtyiNdAHKMd okYyY6u0u6+lAX8FPzwGAnHQjplYH3oq9/dOEQBWwKBI4p2Nly0W1K0Q32F5Rgedwb XwcZrCTOJSpLuv9noTRkyKF0+yUTzOz+nX2ygoD7gY8c+o8CQ6hph4xYn3teq9EjfD ++q4vssFHh8Lq7MmEGJVPuD4yyMhVOGkMoQ34wWYdli5Z0J1m5IFvfyPlQwCqZ7dr8 GE/OocWAvHAeQ== 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 5BBCBA0094; Thu, 8 Apr 2021 09:44:54 +0000 (UTC) Received: by razpc-HP (sSMTP sendmail emulation); Thu, 08 Apr 2021 13:44:53 +0400 Date: Thu, 08 Apr 2021 13:44:53 +0400 In-Reply-To: References: X-SNPS-Relay: synopsys.com From: Artur Petrosyan Subject: [PATCH v3 04/14] usb: dwc2: Add partial power down exit flow in wakeup intr. To: Felipe Balbi , Greg Kroah-Hartman , Minas Harutyunyan , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Cc: John Youn , Artur Petrosyan , Minas Harutyunyan Message-Id: <20210408094454.5BBCBA0094@mailhost.synopsys.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org According to programming guide added host partial power down exit flow in wakeup detected interrupt handler. Signed-off-by: Artur Petrosyan Acked-by: Minas Harutyunyan --- drivers/usb/dwc2/core_intr.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/drivers/usb/dwc2/core_intr.c b/drivers/usb/dwc2/core_intr.c index 1fb957ce6c25..0a7f9330907f 100644 --- a/drivers/usb/dwc2/core_intr.c +++ b/drivers/usb/dwc2/core_intr.c @@ -423,15 +423,14 @@ static void dwc2_handle_wakeup_detected_intr(struct dwc2_hsotg *hsotg) hsotg->lx_state = DWC2_L0; } } else { - if (hsotg->params.power_down) - return; - - if (hsotg->lx_state != DWC2_L1) { - u32 pcgcctl = dwc2_readl(hsotg, PCGCTL); - - /* Restart the Phy Clock */ - pcgcctl &= ~PCGCTL_STOPPCLK; - dwc2_writel(hsotg, pcgcctl, PCGCTL); + if (hsotg->lx_state == DWC2_L2) { + if (hsotg->in_ppd) { + ret = dwc2_exit_partial_power_down(hsotg, 1, + true); + if (ret) + dev_err(hsotg->dev, + "exit partial_power_down failed\n"); + } /* * If we've got this quirk then the PHY is stuck upon -- 2.25.1