Message ID | 20231114-msm8909-cpufreq-v3-3-926097a6e5c1@kernkonzept.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b909:0:b0:403:3b70:6f57 with SMTP id t9csp1758671vqg; Tue, 14 Nov 2023 02:08:49 -0800 (PST) X-Google-Smtp-Source: AGHT+IEJk6UuLX+acnfMyy0SrSPhLIInaOZDsX6DsW0sbHKk1EyID4+3HDeZhM6VH3xEpBrFTCsh X-Received: by 2002:a05:6a21:7889:b0:187:15e2:fe02 with SMTP id bf9-20020a056a21788900b0018715e2fe02mr1042350pzc.13.1699956528962; Tue, 14 Nov 2023 02:08:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699956528; cv=none; d=google.com; s=arc-20160816; b=IBwCcXOc/aSIjGERc05VPWv55EDY/phT1UnYqciwS7FO9m8tptBxpk+UfOMRlLtcpf Ciro29h6P+aUeN+dD+wNyV6BEjikIhlqzqCVTkSywcqsBNr5Varai1yhqNqx4FTjLxlV DAGNqy8JsDM3it+ZO/TfX3FIuj5sBmnDbdT9pFEQkhY0nx3as1T2IyruoaIk7vCdwpi3 CIL9EUnUgjt5MSbyXCwYUZekRGKgcSNMy/AE4NyTcMYVWHnt+Wm58GQ1FCa+X2qkZ2VA xgu66scTvp7hWDLGWQ/UoB1ueWENcmETDLPipjD4+WcB2soOJAT693QaceWyHjCNvG7R JD8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=nMk7zTRFOdK2rz7OlbU43But/2vJEYeFTpihGg8XE7g=; fh=baZlWuGVVef3WThMpLPuu/B8EmVlLN4ljFIX27Lw9Ds=; b=gJcN/uDEeYro8TYn9A/AxP/w66aGyHSeMteNdHBxSEUzwEVBhcge1BEqZL0Hu5t4Ri zwprLx1rli88QcFW+z9MEJ76fBN8nI8lH640Jj4V85DGyTVyqE7I8cakEjpAb6dkqRvn gX0RmKHHJVfRixZsyhwHQgAkrDACSt32TbwzAdyzDR3njSWQVnABa8HjWPQ8TePOn/or /wRn80XrUTBNm/Wxc6lHI1Yj0yPqiYiGOHt2TXgbKtsNaYo1RoJ9oj4du66HQ2m9Mnvs WjyEXnxRBel9tNOsxVkC6MtXb56D5eA/kfyIbJR0u6ziVWMN0GTZdalOFoNHzefwj53x Apnw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernkonzept.com header.s=mx1 header.b=SiabwveP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernkonzept.com Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id ja22-20020a170902efd600b001ca152d038dsi7357365plb.281.2023.11.14.02.08.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Nov 2023 02:08:48 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@kernkonzept.com header.s=mx1 header.b=SiabwveP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernkonzept.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 1554280B31DF; Tue, 14 Nov 2023 02:08:46 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232629AbjKNKI0 (ORCPT <rfc822;lhua1029@gmail.com> + 30 others); Tue, 14 Nov 2023 05:08:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60020 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232528AbjKNKIR (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Tue, 14 Nov 2023 05:08:17 -0500 Received: from mx.kernkonzept.com (serv1.kernkonzept.com [IPv6:2a01:4f8:1c1c:b490::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 02E7119F; Tue, 14 Nov 2023 02:08:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kernkonzept.com; s=mx1; h=Cc:To:In-Reply-To:References:Message-Id: Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date:From: Reply-To:Content-ID:Content-Description; bh=nMk7zTRFOdK2rz7OlbU43But/2vJEYeFTpihGg8XE7g=; b=SiabwvePpKfwYhWDzfZmkNiNNQ 3ZaIv65InR4KA6aJNFIaF9JgNoRa2C/kuMmOHZUbq1sdbczJFTJskPIpIvx8pNDZst2i6oDDgL8Ya fIXA/8Agl+Ru22hY67BJJ1XH6tZzdRpDfGkYYWEAEUwc0yaRFjfq8mLKEKqywU5DDV4e1k+VdYB+s gR+UdQe4ru9fbqlTD8gbky86aoKPdqW5x9FJ2LaOM0QzM64p9xTewGlcIuC89+4XfRfDRRXUjhQcz mWDy349lfOrZdio0Pxp5r4ObvXJAJJD+pUUbus17HiIKt+97xAfHNLa6U9Lr6K/mDvGj6N2toClDj Ul0bMbBQ==; Received: from [10.22.3.24] (helo=serv1.dd1.int.kernkonzept.com) by mx.kernkonzept.com with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.96) id 1r2qL4-0050az-0q; Tue, 14 Nov 2023 11:08:10 +0100 From: Stephan Gerhold <stephan.gerhold@kernkonzept.com> Date: Tue, 14 Nov 2023 11:07:45 +0100 Subject: [PATCH v3 3/3] pmdomain: qcom: rpmpd: Set GENPD_FLAG_ACTIVE_WAKEUP MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20231114-msm8909-cpufreq-v3-3-926097a6e5c1@kernkonzept.com> References: <20231114-msm8909-cpufreq-v3-0-926097a6e5c1@kernkonzept.com> In-Reply-To: <20231114-msm8909-cpufreq-v3-0-926097a6e5c1@kernkonzept.com> To: Viresh Kumar <viresh.kumar@linaro.org>, Ulf Hansson <ulf.hansson@linaro.org> Cc: Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, Konrad Dybcio <konrad.dybcio@linaro.org>, Ilia Lin <ilia.lin@kernel.org>, "Rafael J. Wysocki" <rafael@kernel.org>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Conor Dooley <conor+dt@kernel.org>, linux-pm@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Stephan Gerhold <stephan@gerhold.net>, Stephan Gerhold <stephan.gerhold@kernkonzept.com> X-Mailer: b4 0.12.4 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Tue, 14 Nov 2023 02:08:46 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782533617158029365 X-GMAIL-MSGID: 1782533617158029365 |
Series |
cpufreq: qcom-nvmem: Fix power domain scaling
|
|
Commit Message
Stephan Gerhold
Nov. 14, 2023, 10:07 a.m. UTC
Set GENPD_FLAG_ACTIVE_WAKEUP for all RPM power domains so that power
domains necessary for wakeup/"awake path" devices are kept on across
suspend.
This is needed for example for the *_AO ("active-only") variants of the
RPMPDs used by the CPU. Those should maintain their votes also across
system suspend to ensure the CPU can keep running for the whole suspend
process (ending in a firmware call). When the RPM firmware detects that
the CPUs are in a deep idle state it will drop those votes automatically.
Signed-off-by: Stephan Gerhold <stephan.gerhold@kernkonzept.com>
---
drivers/pmdomain/qcom/rpmpd.c | 1 +
1 file changed, 1 insertion(+)
Comments
On Tue, 14 Nov 2023 at 11:08, Stephan Gerhold <stephan.gerhold@kernkonzept.com> wrote: > > Set GENPD_FLAG_ACTIVE_WAKEUP for all RPM power domains so that power > domains necessary for wakeup/"awake path" devices are kept on across > suspend. > > This is needed for example for the *_AO ("active-only") variants of the > RPMPDs used by the CPU. Those should maintain their votes also across > system suspend to ensure the CPU can keep running for the whole suspend > process (ending in a firmware call). When the RPM firmware detects that > the CPUs are in a deep idle state it will drop those votes automatically. > > Signed-off-by: Stephan Gerhold <stephan.gerhold@kernkonzept.com> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Kind regards Uffe > --- > drivers/pmdomain/qcom/rpmpd.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/pmdomain/qcom/rpmpd.c b/drivers/pmdomain/qcom/rpmpd.c > index 07590a3ef19c..7796d65f96e8 100644 > --- a/drivers/pmdomain/qcom/rpmpd.c > +++ b/drivers/pmdomain/qcom/rpmpd.c > @@ -1044,6 +1044,7 @@ static int rpmpd_probe(struct platform_device *pdev) > rpmpds[i]->pd.power_off = rpmpd_power_off; > rpmpds[i]->pd.power_on = rpmpd_power_on; > rpmpds[i]->pd.set_performance_state = rpmpd_set_performance; > + rpmpds[i]->pd.flags = GENPD_FLAG_ACTIVE_WAKEUP; > pm_genpd_init(&rpmpds[i]->pd, NULL, true); > > data->domains[i] = &rpmpds[i]->pd; > > -- > 2.39.2 >
diff --git a/drivers/pmdomain/qcom/rpmpd.c b/drivers/pmdomain/qcom/rpmpd.c index 07590a3ef19c..7796d65f96e8 100644 --- a/drivers/pmdomain/qcom/rpmpd.c +++ b/drivers/pmdomain/qcom/rpmpd.c @@ -1044,6 +1044,7 @@ static int rpmpd_probe(struct platform_device *pdev) rpmpds[i]->pd.power_off = rpmpd_power_off; rpmpds[i]->pd.power_on = rpmpd_power_on; rpmpds[i]->pd.set_performance_state = rpmpd_set_performance; + rpmpds[i]->pd.flags = GENPD_FLAG_ACTIVE_WAKEUP; pm_genpd_init(&rpmpds[i]->pd, NULL, true); data->domains[i] = &rpmpds[i]->pd;