From patchwork Mon Mar 20 13:42:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 6898 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp1226362wrt; Mon, 20 Mar 2023 06:48:34 -0700 (PDT) X-Google-Smtp-Source: AK7set9CUkdMsfblWIn8nbGt2mjkMuoBZ2Xp2yCB2lEukNHzf1gJJ6Uw3cKHCnRLf6BxprfkMEM8 X-Received: by 2002:a05:6a20:4a13:b0:d9:84d2:7a9f with SMTP id fr19-20020a056a204a1300b000d984d27a9fmr3111988pzb.24.1679320114070; Mon, 20 Mar 2023 06:48:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679320114; cv=none; d=google.com; s=arc-20160816; b=zI9gvCKXJc0imlRrr6SCinkk0n9m8DuLDVRdLbXH3gXt26UdLkAaZrQdariZMjnJoa WykEEBcmFKzJrWCyTl9ntwPwdefSvB66iX29amp5xBmqhQPm0dAWBeH/w3kc7pRE6nDV BqfO32TbL/P4R56MR/TMnxxXyrJnpEr7DGkDdKBy1kh6igyfKgCD6pKV8BQLTP0rnJ5X uVKmUzPIe1YgMu23HJ+PL9hs8JeItX8yVaWRN7b4EvnPpImNwJuEY2mSVieSovHKc0Fq NFoAJgw5SMt9SZ+D6k8ZL00AKgW6OVT+lIuV61P+QK2Jw2Q9K6zHkDvEY1r8i4N5xwVB 7DjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=KrZdAoTHd1rYa6+2bns0LZXrcUZt1Y0m6OA8qCzTSf0=; b=RWb1YzjtiMjvONT6ouZs+Hv7op7smFC9RO8R1XQR7cW6L0Zay8pDPuDVyrFR1qj8Ii G4zZQ1f2PAgSUrkIysXEg058F32gLfbUYbuBCWeiWR0FZ9ewl9srniStFL6xC2cbe+1x t7zDuUbrGFEA/VDvxMNitI/rftxfFWqbxMvUvY7fRDOs+ndFRB004Lo4H22oCfjLS/og wYhhHyGfdfNvtjoD/l+F9Yj3Fs8EnXNeIIvynn8jyyaXptFyiN720dv8IxwlBpUHZBDD Y5NBQfVM2jkMkVfIx9L1YoPT+4S8JIV0UFw60tM4ddtiEMSBMh1PgzuecTeiKJeRTxJM osOQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="nKq81/J0"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n49-20020a056a000d7100b006265c3706f5si8428408pfv.42.2023.03.20.06.48.16; Mon, 20 Mar 2023 06:48:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="nKq81/J0"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231674AbjCTNmk (ORCPT + 99 others); Mon, 20 Mar 2023 09:42:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49628 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231276AbjCTNm1 (ORCPT ); Mon, 20 Mar 2023 09:42:27 -0400 Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A1AC8524D for ; Mon, 20 Mar 2023 06:42:25 -0700 (PDT) Received: by mail-ed1-x534.google.com with SMTP id t5so10098746edd.7 for ; Mon, 20 Mar 2023 06:42:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1679319744; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=KrZdAoTHd1rYa6+2bns0LZXrcUZt1Y0m6OA8qCzTSf0=; b=nKq81/J0FvmXA5JsN+7z0xgyaD9ypIJv/BMXgeposmSq7l8XikkO3z4up7Arj9kxwi VuV2Ip6nA1LpGeefrIatp+un0KTSs0rYOS6Tns2H8z0qDvBpOQn4PGu/17PQCK9/UrzB yjh5iCdll2J6urVxY2BAcIEfwBQm44lRHj4nFo9prwAtLKSjAEph5Ln1HT9R9Y9bLrc1 9VArIsZE/0RK4GeOFr3eStNrxoP7l7MQOVxbIByaB70Fr0BlXOjIEf+KCuOyZH/BI93l GP1lLQIpAnmwfrEAXAGbt+3Jw8C7d0gMuunLiRhQY6q7LhdK5hkG2BqUO/wAk0Yf9dUc ETjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679319744; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=KrZdAoTHd1rYa6+2bns0LZXrcUZt1Y0m6OA8qCzTSf0=; b=mahimEdt+KzKgCOQ9RykHwKY3S96YbS1CJg9lPhuENhtIfMGT555Et2DfO63LLrZ33 UnibwJfgHxqWVIcyqi9YuIkJh4c3bK0B7d27jH4x68J5kcZbDa98lVYoe13asCJ7cE0K KRcvDOEhIP8z3hvH614e9M7j+hvAF705idkf9vxLY/5KcxczZSr0BKjqp9p/kEsQjTnk VNwh49c1FZWY8Jzk2TUzpAKe6FhuWbHacmZ3bDONEWzfXzgaWxVyhgoTC6+OZLCPvJRx 3OEUtu6kbmiMjc8p0LjOZ+6BVkSyI3rb5MQQjrH+cfK6Kg68SozCyfOGaLocjOHzOWQU frmQ== X-Gm-Message-State: AO0yUKVocvmEnUJq3xkta6kjJAQ31DgJ+CxpopJyJrRXUUhp1ERVF8Zj jmoW36AAAccLZ3cbHe5Sm3hbOw== X-Received: by 2002:a17:907:86a8:b0:937:9a24:370b with SMTP id qa40-20020a17090786a800b009379a24370bmr1347382ejc.67.1679319744054; Mon, 20 Mar 2023 06:42:24 -0700 (PDT) Received: from localhost.localdomain ([94.52.112.99]) by smtp.gmail.com with ESMTPSA id u23-20020a170906409700b009334a6ef3e8sm2368602ejj.141.2023.03.20.06.42.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Mar 2023 06:42:23 -0700 (PDT) From: Abel Vesa To: "Rafael J. Wysocki" , Kevin Hilman , Ulf Hansson , Pavel Machek , Len Brown , Greg Kroah-Hartman , Bjorn Andersson , Andy Gross , Konrad Dybcio , Mike Turquette , Stephen Boyd , Saravana Kannan Cc: linux-pm@vger.kernel.org, Linux Kernel Mailing List , linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org, Doug Anderson , Matthias Kaehlcke Subject: [RFC PATCH v2 0/5] Allow genpd providers to power off domains on sync state Date: Mon, 20 Mar 2023 15:42:12 +0200 Message-Id: <20230320134217.1685781-1-abel.vesa@linaro.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1760894767970739277?= X-GMAIL-MSGID: =?utf-8?q?1760894767970739277?= There have been already a couple of tries to make the genpd "disable unused" late initcall skip the powering off of domains that might be needed until later on (i.e. until some consumer probes). The conclusion was that the provider could return -EBUSY from the power_off callback until the provider's sync state has been reached. This patch series tries to provide a proof-of-concept that is working on Qualcomm platforms. I've been doing extensive testing on SM8450, but I've also spinned this on my X13s (SC8280XP). Both patches that add the sync state callback to the SC8280XP and SM8450 are here to provide context. Once we agree on the form, I intend to add the sync state callback to all gdsc providers. Currently, some of the gdsc providers might not reach sync state due to list of consumers not probing yet (or at all). The sync state can be enforced by writing 1 to the state_synced sysfs attribute of the provider, thanks to Saravana's commit [1] which has been already merged. [1] https://lore.kernel.org/r/20230304005355.746421-3-saravanak@google.com V1 of this patchset was here: https://lore.kernel.org/all/20230315132330.450877-1-abel.vesa@linaro.org/ Changes since v1: * Added the qcom_cc sync state callback which calls in turn the gdsc one * dropped extra semicolon from pm_domain.h Abel Vesa (5): PM: domains: Allow power off queuing from providers soc: qcom: rpmhpd: Do proper power off when state synced clk: qcom: gdsc: Avoid actual power off until sync state clk: qcom: Add sync state callback to all SC8280XP providers clk: qcom: Add sync state callback to all SM8450 providers drivers/base/power/domain.c | 3 ++- drivers/clk/qcom/camcc-sm8450.c | 1 + drivers/clk/qcom/common.c | 19 +++++++++++++++++++ drivers/clk/qcom/common.h | 2 ++ drivers/clk/qcom/dispcc-sc8280xp.c | 1 + drivers/clk/qcom/dispcc-sm8450.c | 1 + drivers/clk/qcom/gcc-sc8280xp.c | 1 + drivers/clk/qcom/gcc-sm8450.c | 1 + drivers/clk/qcom/gdsc.c | 26 ++++++++++++++++++++++++++ drivers/clk/qcom/gdsc.h | 6 ++++++ drivers/clk/qcom/gpucc-sc8280xp.c | 1 + drivers/soc/qcom/rpmhpd.c | 19 +++++++------------ include/linux/pm_domain.h | 6 ++++++ 13 files changed, 74 insertions(+), 13 deletions(-) Reviewed-by: Ulf Hansson