Received: by 2002:a05:6602:18e:0:0:0:0 with SMTP id m14csp3054018ioo; Sun, 29 May 2022 11:21:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzd07aCOFq6YmsTREn/Zi0vgPycf38tgICDErrtTWq6Cdu95vDEhtree6ErTrBoAORBHheq X-Received: by 2002:a17:90a:6602:b0:1e3:17e:6290 with SMTP id l2-20020a17090a660200b001e3017e6290mr876220pjj.37.1653848509819; Sun, 29 May 2022 11:21:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653848509; cv=none; d=google.com; s=arc-20160816; b=uEKbLS0afq58f7PROwj3RVv20uI69HI7hFNRLTzh5R0DQLCKrMWMuUp9n+5et3Zrue j12mApkJQNTSMC1s+Wd8ShJ6ufaWKap6k1GXQoq4Ebvw6Jk4bFz1iVzuQok5wgkN1xoc D5yaf4NjAlc7UwviAUXx6ZeMMdaiF9Ut6qnksMnotJB0zSdkJ207kI+qC44gzqVXlDq7 QiWRWm6i1THtAu2z36Q/so8FhLbLP0ui9/2hA4bfmJFkBVoORvokBmS3VTDpUlEI0l+W t78Wvc/+qGOUnrsNqyS46xHnzUxp6Z9oWIRZtQKJdOih83MdxsHZ5lMYOaomlX8YmQ0n oxKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:references :cc:to:from:content-language:subject:user-agent:mime-version:date :message-id:dkim-signature; bh=NCFunBEFjHDS4kSHmTWh2rDUaL9Ra0pglMx6IoOP03I=; b=viKs9skCg1DM4QvYkA25MzrcKMS620F+KZlImELaIEK6nxUo8KEIiF4qEa5FilhuLk Wqky8ZjEmT9817NG+p6yMGnaMJuy95EWLzNg66sjAy2891sE4z0B+9tvN5IcZ6njuxO4 n0xT+e7grhBCxaPCiNYVnRJ/WEU7niBBb1OMTyYjDlqy4M2YuY3Q8kp4LtSeB3/EIrbb lFK6dXkYksu5TZsl7vxNfBcuzfaCKZhvLr9S7NUQCrGSBrfpUr+9bYYYRcAcAY3bUzaF sBg2WdH6gZSzcdEYiL2HrS6PyWeeLhWcfqs1H6rtKND4oyhxI4ji2EsvLkuI+SN13nHb W/Ig== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=kct5g9G2; 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=collabora.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c12-20020a630d0c000000b003fadb07ee46si13639918pgl.442.2022.05.29.11.21.29; Sun, 29 May 2022 11:21:49 -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=@collabora.com header.s=mail header.b=kct5g9G2; 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=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231329AbiE2Q7S (ORCPT + 99 others); Sun, 29 May 2022 12:59:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47334 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229533AbiE2Q7R (ORCPT ); Sun, 29 May 2022 12:59:17 -0400 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8C94969484; Sun, 29 May 2022 09:59:15 -0700 (PDT) Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: dmitry.osipenko) with ESMTPSA id 752B01F41B57 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1653843554; bh=HXpzexAHuTGfMvjwNEubZjjJXQCZDvQMzeTdlogl4TE=; h=Date:Subject:From:To:Cc:References:In-Reply-To:From; b=kct5g9G22nqf4CmjepZtyLR3YKzjnJe51I4fJsG2q1NxclRG9W7ckmUnT1G8+8eG4 0D9o1W7Hq4FxFYbUsQ4Q9Sx5+z2ROyGEBKuMhc+RDUp2BDWdz4P9Y3IMkG3WxihZ35 Ko+VtIuZl389RR+YjNIgBwQ6b/3Nisi52YanvDx+S0kEmKESRQV8WrRVL4WtJV9Anu JCSmmf1GytLv4nYfrjmrOucY3966I/l65hCcIaGOIeKNITsJNSsJFxZYOGZPgZBN/Q 3qqEPGUdvwxL+zRG6/e7xj6d5AEQ7dpc248/bM/juMRC2Mk6OqoWZbgNSrfPbRtNfr 33Blh5JMPqN1A== Message-ID: <5c0e697e-abca-bcf0-cf68-d9c240d82527@collabora.com> Date: Sun, 29 May 2022 19:59:10 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Subject: Re: [PATCH 08/31] cpufreq: tegra20: Migrate to dev_pm_opp_set_config() Content-Language: en-US From: Dmitry Osipenko To: Viresh Kumar , "Rafael J. Wysocki" , Thierry Reding , Jonathan Hunter Cc: linux-pm@vger.kernel.org, Vincent Guittot , Rafael Wysocki , Stephen Boyd , Nishanth Menon , Krzysztof Kozlowski , linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org References: <4b38ceed657bfcf87ff9ab0dd69dd1f2f5658b24.1653564321.git.viresh.kumar@linaro.org> <793e49ea-aeb0-a47a-9fe8-742a6397bb35@collabora.com> In-Reply-To: <793e49ea-aeb0-a47a-9fe8-742a6397bb35@collabora.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,SPF_HELO_PASS, SPF_PASS,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY 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 On 5/29/22 19:19, Dmitry Osipenko wrote: > On 5/26/22 14:42, Viresh Kumar wrote: >> The OPP core now provides a unified API for setting all configuration >> types, i.e. dev_pm_opp_set_config(). >> >> Lets start using it. >> >> Signed-off-by: Viresh Kumar >> --- >> drivers/cpufreq/tegra20-cpufreq.c | 12 ++++++++---- >> 1 file changed, 8 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/cpufreq/tegra20-cpufreq.c b/drivers/cpufreq/tegra20-cpufreq.c >> index e8db3d75be25..2c73623e3abb 100644 >> --- a/drivers/cpufreq/tegra20-cpufreq.c >> +++ b/drivers/cpufreq/tegra20-cpufreq.c >> @@ -34,7 +34,7 @@ static bool cpu0_node_has_opp_v2_prop(void) >> >> static void tegra20_cpufreq_put_supported_hw(void *opp_table) >> { >> - dev_pm_opp_put_supported_hw(opp_table); >> + dev_pm_opp_clear_config(opp_table); >> } >> >> static void tegra20_cpufreq_dt_unregister(void *cpufreq_dt) >> @@ -49,6 +49,10 @@ static int tegra20_cpufreq_probe(struct platform_device *pdev) >> struct device *cpu_dev; >> u32 versions[2]; >> int err; >> + struct dev_pm_opp_config config = { >> + .supported_hw = versions, >> + .supported_hw_count = ARRAY_SIZE(versions), >> + }; >> >> if (!cpu0_node_has_opp_v2_prop()) { >> dev_err(&pdev->dev, "operating points not found\n"); >> @@ -71,10 +75,10 @@ static int tegra20_cpufreq_probe(struct platform_device *pdev) >> if (WARN_ON(!cpu_dev)) >> return -ENODEV; >> >> - opp_table = dev_pm_opp_set_supported_hw(cpu_dev, versions, 2); >> - err = PTR_ERR_OR_ZERO(opp_table); >> + opp_table = dev_pm_opp_set_config(cpu_dev, &config); >> + err = PTR_ERR(opp_table); > > Please keep the PTR_ERR_OR_ZERO. > > tegra20-cpufreq tegra20-cpufreq: failed to set OPP config: -1042688000 > With that fixed, now there is another error: [ 1.761945] cpu cpu0: _of_add_opp_table_v2: no supported OPPs [ 1.761960] cpu cpu0: OPP table can't be empty I see this on Tegra30, but not on Tegra20. Apparently OPP table refcounting is broken on Tegra30 by this patchset. To make it clear, there are no error without these OPP patches applied. I may take a closer look if will be needed, just ping me. -- Best regards, Dmitry