Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp1037481pxb; Wed, 6 Apr 2022 07:15:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxjjbu/64lqKFaIYM1axA3f58P56TS+emI6pA6JnwETW7MBHKvavUNUrXEhTuO4uvxQurLm X-Received: by 2002:a05:6870:2198:b0:e2:583:ddc6 with SMTP id l24-20020a056870219800b000e20583ddc6mr3994216oae.29.1649254537500; Wed, 06 Apr 2022 07:15:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649254537; cv=none; d=google.com; s=arc-20160816; b=fLTXvBEIgqBCVoLaCEhOzpuHfTDN1Dr7YI1JZNmtkMD1DMNVOcgqp0hycJ+ZoOeVm7 jBN/IPU828zEJc7RviLqw1uZVgX+MDUBJS836GqwhnnKpFcb987kiySmiROaKR+k4Ii0 rZK4i9+UufkDyfc/i2Fr5PL6070QtlORX24cRN19gY9jaiN4cDtB0MiWXzWdtbgslotD e8eA7AQhdVAd8EQF1iRrD4fuXcIpuTGDwclW04VkDDiTp2sSPSI07xS4QNJ1Lg4eqlRl UaDaJ4r9yGYaOFr7de1cyNihn6j/LPIH8DfW7oD/d+gAaLPnYMQEUxC7/T4py0gWyFCW jrpQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=0FW336dtHK89fvl3u7JvXc/X8Vjn0tSLcri6guFx7q0=; b=sLXNu8I/ps0LQ4KjyyyVWAM53Rp7Swm1j8vwfI/1iGGiBOLtryu3OYmINk/yYt2vFx jKiNBOl85hHabcEFX5dxH8hgSncYue0SdSQfL43jdVrmTvNxJFKDo0pr+JvQB09sMGYT MWBKuJeDrougCRPCU7NEUKc12zLCLa9FSUgEFNev1FPAnG8LF9iAY2UhH9jlu8uZQqly oHE514a0U23mqBmE2POJYauCjG39rpXdWKep5QYm3QtgZrlVHjCMbgQalTzGoI+io86P IInjsGXJL/ZkZ1ape1ZR8yvlMVMloCM/jIwL/9t7ECpZwu4KDA8+Mc2GfPy3ylXvl1n7 2Xdg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=Sm9XupWe; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id z9-20020a4ae909000000b003244bc5df09si8485248ood.5.2022.04.06.07.15.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Apr 2022 07:15:37 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=Sm9XupWe; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 0AA7A3AF494; Wed, 6 Apr 2022 05:01:44 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239839AbiDFKGS (ORCPT + 99 others); Wed, 6 Apr 2022 06:06:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38788 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1348462AbiDFKF3 (ORCPT ); Wed, 6 Apr 2022 06:05:29 -0400 Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9CFED42CA48 for ; Tue, 5 Apr 2022 18:49:26 -0700 (PDT) Received: by mail-pl1-x62f.google.com with SMTP id j8so673237pll.11 for ; Tue, 05 Apr 2022 18:49:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0FW336dtHK89fvl3u7JvXc/X8Vjn0tSLcri6guFx7q0=; b=Sm9XupWe/onCfaGAwkmriGjGwohqfs7tWqDVDN3hrzuBMaoUOGdAEyO1VLSUAtATA8 Ft0TJTt8T8ciBNG6tsVOxsv8tvLCqPvaXb7mzPcJpEZFilTlFRXoZAoBamloOY0jZhkv 9D62OHjZGQyqzrj1XG9hW8jNlQ6K+qMVy3crY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=0FW336dtHK89fvl3u7JvXc/X8Vjn0tSLcri6guFx7q0=; b=pzZxKORnjbLyZibm43SedUXCr3JjsKQZyrHAsujDbyr1HMhK7fmCDHFZ3g7nb97TCj WnAGNPb/3QVOQhhCfbbhQWZmBb/pBFFIrxqRUkOM3G9zFf3GXrektT9iKJy3LAjx90xj LSZe0SgAP5Ai81fc5JuA0v23j8ogOQUzsQIbRohwzS2rKPjnJ0LsWjKtGQOsagpWjAwx AMETARV5KPTzSTlq8L6r9Ns3Z+HR/VYgKvk5nO4CUR0C6XuyhKcWUVkpIFz6gGMhaGFO 8vRjHXfSIMuXyDF63hUVzslwmSXWRzLjG7MoZaZeJH6rRdrZfHszIRJm9bH/e6QUpBfj 8zYw== X-Gm-Message-State: AOAM533O/dBXf3lLQbJ0UwtAiBe7fNMv9GdNCrmndA+q3y5XGct3oaMe jTpmL7b+ODI+HHoQEbijfcc3Ig== X-Received: by 2002:a17:902:db03:b0:155:cb6a:7c8e with SMTP id m3-20020a170902db0300b00155cb6a7c8emr6492519plx.125.1649209765864; Tue, 05 Apr 2022 18:49:25 -0700 (PDT) Received: from localhost ([2620:15c:202:201:6903:769c:e1f5:9c25]) by smtp.gmail.com with UTF8SMTPSA id bg13-20020a17090b0d8d00b001caa8f51098sm3475575pjb.9.2022.04.05.18.49.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 05 Apr 2022 18:49:25 -0700 (PDT) From: Brian Norris To: MyungJoo Ham , Kyungmin Park , Chanwoo Choi , Heiko Stuebner Cc: linux-kernel@vger.kernel.org, Elaine Zhang , linux-pm@vger.kernel.org, Doug Anderson , linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, Brian Norris Subject: [RFC PATCH 2/2] PM / devfreq: rk3399_dmc: Block PMU during transitions Date: Tue, 5 Apr 2022 18:48:42 -0700 Message-Id: <20220405184816.RFC.2.I2d73b403944f0b8b5871a77585b73f31ccc62999@changeid> X-Mailer: git-send-email 2.35.1.1094.g7c7d902a7c-goog In-Reply-To: <20220406014842.2771799-1-briannorris@chromium.org> References: <20220406014842.2771799-1-briannorris@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 See the previous patch ("soc: rockchip: power-domain: Manage resource conflicts with firmware") for a thorough explanation of the conflicts. While ARM Trusted Firmware may be modifying memory controller and power-domain states, we need to block the kernel's power-domain driver. If the power-domain driver is disabled, there is no resource conflict and this becomes a no-op. Signed-off-by: Brian Norris --- drivers/devfreq/rk3399_dmc.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/devfreq/rk3399_dmc.c b/drivers/devfreq/rk3399_dmc.c index e494d1497d60..daff40702615 100644 --- a/drivers/devfreq/rk3399_dmc.c +++ b/drivers/devfreq/rk3399_dmc.c @@ -21,6 +21,7 @@ #include #include +#include #include #include @@ -93,6 +94,16 @@ static int rk3399_dmcfreq_target(struct device *dev, unsigned long *freq, mutex_lock(&dmcfreq->lock); + /* + * Ensure power-domain transitions don't interfere with ARM Trusted + * Firmware power-domain idling. + */ + err = rockchip_pmu_block(); + if (err) { + dev_err(dev, "Failed to block PMU: %d\n", err); + goto out_unlock; + } + /* * Some idle parameters may be based on the DDR controller clock, which * is half of the DDR frequency. @@ -198,6 +209,8 @@ static int rk3399_dmcfreq_target(struct device *dev, unsigned long *freq, dmcfreq->volt = target_volt; out: + rockchip_pmu_unblock(); +out_unlock: mutex_unlock(&dmcfreq->lock); return err; } -- 2.35.1.1094.g7c7d902a7c-goog