From patchwork Fri Aug 5 12:12:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johan Hovold X-Patchwork-Id: 595831 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 18360C3F6B0 for ; Fri, 5 Aug 2022 12:13:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240693AbiHEMNH (ORCPT ); Fri, 5 Aug 2022 08:13:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51862 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240672AbiHEMNG (ORCPT ); Fri, 5 Aug 2022 08:13:06 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4463D286F4; Fri, 5 Aug 2022 05:13:06 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D54AB619EC; Fri, 5 Aug 2022 12:13:05 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3AD51C433C1; Fri, 5 Aug 2022 12:13:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1659701585; bh=PA3Jes8esomv6XUVX1XLh+eeP+V+PWzpFq3Big4vhOU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VDmcgm2XSpCJj4Iz+JkznFB0Cw7XoELcozT1CtzxxeJZOuTqIoFw4KqlD0PD+1xs/ 1sUHnrYJw9Cfe8BKymosmZooo1myuNfOt0SI8kCqDUj1ORnwrFmDaP3bCHBbD0ZgvZ WuNseB4g1AneyBOLFc4rx72favCbME0YI9GcK5eEBFH+9IQrrx667UtXqnbZidLD7e ywunXn9aHY19CNZrDHJPU6Q5PWs6MhfH8ZhFDMJ/D+YOlxqS8PuYAffwF50srtGh3b x9nroS5/rwQJRtFyj1iyDEZAWy5ahtH8i4hN+Mb2utT/7h4LkpoWOM/G9SiXRLdMho 0iNLEyXVREF5Q== Received: from johan by xi.lan with local (Exim 4.94.2) (envelope-from ) id 1oJwCn-0002hI-JP; Fri, 05 Aug 2022 14:13:29 +0200 From: Johan Hovold To: Bjorn Andersson Cc: Manivannan Sadhasivam , Andy Gross , Konrad Dybcio , Michael Turquette , Stephen Boyd , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, Johan Hovold Subject: [PATCH 1/2] clk: gcc-sc8280xp: keep PCIe power-domains always-on Date: Fri, 5 Aug 2022 14:12:49 +0200 Message-Id: <20220805121250.10347-2-johan+linaro@kernel.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220805121250.10347-1-johan+linaro@kernel.org> References: <20220805121250.10347-1-johan+linaro@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org The Qualcomm PCIe driver does not yet implement suspend so to keep the PCIe power domains always-on for now to avoid crashing during resume. Signed-off-by: Johan Hovold --- drivers/clk/qcom/gcc-sc8280xp.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/clk/qcom/gcc-sc8280xp.c b/drivers/clk/qcom/gcc-sc8280xp.c index a2f3ffcc5849..eaeada42e13a 100644 --- a/drivers/clk/qcom/gcc-sc8280xp.c +++ b/drivers/clk/qcom/gcc-sc8280xp.c @@ -6768,6 +6768,10 @@ static struct gdsc pcie_1_tunnel_gdsc = { .flags = VOTABLE, }; +/* + * The Qualcomm PCIe driver does not yet implement suspend so to keep the + * PCIe power domains always-on for now. + */ static struct gdsc pcie_2a_gdsc = { .gdscr = 0x9d004, .collapse_ctrl = 0x52128, @@ -6776,7 +6780,7 @@ static struct gdsc pcie_2a_gdsc = { .name = "pcie_2a_gdsc", }, .pwrsts = PWRSTS_OFF_ON, - .flags = VOTABLE, + .flags = VOTABLE | ALWAYS_ON, }; static struct gdsc pcie_2b_gdsc = { @@ -6787,7 +6791,7 @@ static struct gdsc pcie_2b_gdsc = { .name = "pcie_2b_gdsc", }, .pwrsts = PWRSTS_OFF_ON, - .flags = VOTABLE, + .flags = VOTABLE | ALWAYS_ON, }; static struct gdsc pcie_3a_gdsc = { @@ -6798,7 +6802,7 @@ static struct gdsc pcie_3a_gdsc = { .name = "pcie_3a_gdsc", }, .pwrsts = PWRSTS_OFF_ON, - .flags = VOTABLE, + .flags = VOTABLE | ALWAYS_ON, }; static struct gdsc pcie_3b_gdsc = { @@ -6809,7 +6813,7 @@ static struct gdsc pcie_3b_gdsc = { .name = "pcie_3b_gdsc", }, .pwrsts = PWRSTS_OFF_ON, - .flags = VOTABLE, + .flags = VOTABLE | ALWAYS_ON, }; static struct gdsc pcie_4_gdsc = { @@ -6820,7 +6824,7 @@ static struct gdsc pcie_4_gdsc = { .name = "pcie_4_gdsc", }, .pwrsts = PWRSTS_OFF_ON, - .flags = VOTABLE, + .flags = VOTABLE | ALWAYS_ON, }; static struct gdsc ufs_card_gdsc = { From patchwork Fri Aug 5 12:12:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johan Hovold X-Patchwork-Id: 595561 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 65BD7C25B06 for ; Fri, 5 Aug 2022 12:13:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240700AbiHEMNJ (ORCPT ); Fri, 5 Aug 2022 08:13:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51866 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231192AbiHEMNH (ORCPT ); Fri, 5 Aug 2022 08:13:07 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4BA1843E49; Fri, 5 Aug 2022 05:13:06 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id DE7A9619F2; Fri, 5 Aug 2022 12:13:05 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3ECA3C433D6; Fri, 5 Aug 2022 12:13:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1659701585; bh=QE/B3jAG/zflVLqqj8OYDIfnigG3Trc7SVAyes1GBf8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=S/gGN9iVAPz9t+jeVGe/UYb9jKzYNYmzaIzwad9DQ/b0S0jdol+D1b2T6xEDdZ6mp 6UUJq+SmcTFYdN37nCQYOGhEco6NejKAHMeMD7mipQwPWILQYH3gsQXa9Wjq6gig4j ngjnERyobNSnFEsmjYPstOnHLxTLgiBUoqzyMjYblpav8Pipem4I1yWY7A54gCB3Jw 3OGEE4vbIJ4hl5+aLBkSzEo0z/aMYWSRgyDkl95Lj4rANCy524fivCkVSJ2iUPBEc+ tieImzDvG3JWP2FgoewuQfdqdEe5sY2QG5WEsFYUx95PUBaQPeb0piPl4nk9/b2VxI AHOTTF/ybHcFA== Received: from johan by xi.lan with local (Exim 4.94.2) (envelope-from ) id 1oJwCn-0002hK-Md; Fri, 05 Aug 2022 14:13:29 +0200 From: Johan Hovold To: Bjorn Andersson Cc: Manivannan Sadhasivam , Andy Gross , Konrad Dybcio , Michael Turquette , Stephen Boyd , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, Johan Hovold Subject: [PATCH 2/2] clk: gcc-sc8280xp: keep USB power-domains always-on Date: Fri, 5 Aug 2022 14:12:50 +0200 Message-Id: <20220805121250.10347-3-johan+linaro@kernel.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220805121250.10347-1-johan+linaro@kernel.org> References: <20220805121250.10347-1-johan+linaro@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org The Qualcomm DWC3 driver suspend implementation appears to be incomplete for SC8280XP so keep the USB power domains always-on for now so that the controller survives a suspend cycle. Signed-off-by: Johan Hovold Reviewed-by: Manivannan Sadhasivam --- drivers/clk/qcom/gcc-sc8280xp.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/clk/qcom/gcc-sc8280xp.c b/drivers/clk/qcom/gcc-sc8280xp.c index eaeada42e13a..7768e6901dcc 100644 --- a/drivers/clk/qcom/gcc-sc8280xp.c +++ b/drivers/clk/qcom/gcc-sc8280xp.c @@ -6843,12 +6843,17 @@ static struct gdsc ufs_phy_gdsc = { .pwrsts = PWRSTS_OFF_ON, }; +/* + * The Qualcomm DWC3 driver suspend implementation appears to be incomplete + * for sc8280xp so keep the USB power domains always-on for now. + */ static struct gdsc usb30_mp_gdsc = { .gdscr = 0xab004, .pd = { .name = "usb30_mp_gdsc", }, .pwrsts = PWRSTS_OFF_ON, + .flags = ALWAYS_ON, }; static struct gdsc usb30_prim_gdsc = { @@ -6857,6 +6862,7 @@ static struct gdsc usb30_prim_gdsc = { .name = "usb30_prim_gdsc", }, .pwrsts = PWRSTS_OFF_ON, + .flags = ALWAYS_ON, }; static struct gdsc usb30_sec_gdsc = { @@ -6865,6 +6871,7 @@ static struct gdsc usb30_sec_gdsc = { .name = "usb30_sec_gdsc", }, .pwrsts = PWRSTS_OFF_ON, + .flags = ALWAYS_ON, }; static struct clk_regmap *gcc_sc8280xp_clocks[] = {