Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp49268pxa; Mon, 3 Aug 2020 22:25:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyO6g19qSuBEUq7KaRdY5/hiedsFtOWOUicf+yDc8MAGmQ8+0D9/HRRnpy61sEfcgF3ajqp X-Received: by 2002:a50:da04:: with SMTP id z4mr18457149edj.375.1596518747247; Mon, 03 Aug 2020 22:25:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596518747; cv=none; d=google.com; s=arc-20160816; b=ynozT9ZoNsmW4Qt2fKaOhFUddLkJCQ0/RZ6tvPDv+iNV+U2w8kofA9VuJCkUkgD191 0Ezj4FdsJ9mjxFN/QkrZshd8Ak2zSz+Ny64F7H9BysapZcJ4KPVpU/cLMyZQ3CqFyxIY 8bh2QwGoORT/B/EObDRzCLxHMqMwXFeygX6gWNd/BfUq3AA8tt9PIsqZaVQxukiC+HWx 8PVACrSbtnX+5e696vaH5q7I1JxJe68rQYsbsY4sVElhJSsrBnm1m2SBO/0yVY4PLtEf UMdjvTb7uFUOroQrKOimN+E+IFYQkRWU736A6iGfntlREisFw94lDLRFkHdP9NT0b1yN FT1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=VyvJTV65QYrZba9SIfzf3Qah/NqVWDrTLrkNojuqHV0=; b=Jmd4qNU5AMWU1NpDX8SuuQhHNcmR7vs/laGKZCjmM9nN7OXoAxWoR7dhV4a4c8sIGQ t87Gb4vLX9u3TSWHLUHqdDorjtX8xlafwc2QqpV2BIMFFioYg96TAFIQl8yuBSILovOo 89sTU5ZOS5JS/RZTV31gATZXl5LRaIY1skFGvwO3Dc96FoHgBTOLPTG4h3EhOpEL3BMh 6FEiP4YCgJmOSTAaLAkMOBxtMxxnIzhE9NKAFbbV3ISB7yQnKtz9WkVEDaDLheQ1NInU RfT5P7hL5ZHCJVMIZiJ87dh/rIuWmhHbW5PEOiEA2I0nNdEnvS5GXdVmfp4sRTT1qpC0 quuQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=SafJSNqu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f13si5589533edn.54.2020.08.03.22.25.22; Mon, 03 Aug 2020 22:25:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=SafJSNqu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S1727076AbgHDFZP (ORCPT + 99 others); Tue, 4 Aug 2020 01:25:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58152 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725912AbgHDFZO (ORCPT ); Tue, 4 Aug 2020 01:25:14 -0400 Received: from mail-pf1-x441.google.com (mail-pf1-x441.google.com [IPv6:2607:f8b0:4864:20::441]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 84C94C06174A for ; Mon, 3 Aug 2020 22:25:14 -0700 (PDT) Received: by mail-pf1-x441.google.com with SMTP id m8so12698806pfh.3 for ; Mon, 03 Aug 2020 22:25:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=VyvJTV65QYrZba9SIfzf3Qah/NqVWDrTLrkNojuqHV0=; b=SafJSNqu2HzopBQNzSMzXgtQyoN95IoHlxuM48onRYrNr0jx5X5Yx4nbz7n1qxZTaz BBLmwCHy6ILOfFAj4CVMMmylSVMacwrWKkcJQHwIk7vN5K3c9K4FBhLNWH2UDK0qjPuR YGUpqI6YFRmyyfYhhfJDeZht6Y+jZjY7iT5DkLaaNJe5xOHeoArcGLnKyrwUVYgWgrzO j1kh4lVdzME9oNVocVV+RTxxFppvbtEuHgVfDLkCKZT8qhtbHe7/vfLu2r0h/KLji4uj RI5P+HSeGJFYjBdWLInTEPaOTXwpLsJZ2dkncuYuY/PF5XAQYjUlZEzY0oCevMx0Arni uAoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=VyvJTV65QYrZba9SIfzf3Qah/NqVWDrTLrkNojuqHV0=; b=sm+pveNm/3mpfe3fW2KmQkGwxOcYtq1OQQdjK01INUgj8nogeLR3J2ZM5kAVuhXGJS PWUbnErkR0Y2FKDMQpSWJfvsj/3AxLxML8Q/X1zWNkLGUvPzcliYJvkCzOFEsJ8E03sr KZ7TeuSUWQISkybFHGmP1Lpt82F3d6COXfjSlqBw3zHEBj897gznIBoFybIqU3vePXjR 1sBKMKMGP3HGu5tU2mpkwfz/hkYL0RywgkhmeBpSTJqheD2wJLJM6JgzrpqN1mPLldgX SIJk9iBqVGvXa4TZ40Ouj6Fji72HZEz+7eNtx2mfyQ98omA7KVwd0/YD4hkq8ncNYBwm 5mFA== X-Gm-Message-State: AOAM533f8Ed19OCCdkmNg7qnIeAD+dpQmdX+Wih2ISli5rcouG4vtLWP kY5vpStn2Eh51UyWhYuAIwL/YQ== X-Received: by 2002:a63:5d11:: with SMTP id r17mr17546649pgb.146.1596518713836; Mon, 03 Aug 2020 22:25:13 -0700 (PDT) Received: from localhost ([122.162.244.227]) by smtp.gmail.com with ESMTPSA id v11sm19518479pgs.22.2020.08.03.22.25.11 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 03 Aug 2020 22:25:12 -0700 (PDT) Date: Tue, 4 Aug 2020 10:55:09 +0530 From: Viresh Kumar To: Jon Hunter Cc: Thierry Reding , "Rafael J . Wysocki" , linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/2] cpufreq: tegra186: Fix initial frequency Message-ID: <20200804052509.24en7voy2bg6vdbc@vireshk-mac-ubuntu> References: <20200712100645.13927-1-jonathanh@nvidia.com> <20200713032554.cykywnygxln6ukrl@vireshk-i7> <3d6091f2-6b04-185f-6c23-e39a34b87877@nvidia.com> <20200714034635.2zdv3wzmftjg2t4a@vireshk-i7> <8c6d3c32-c142-3981-3a52-6560e885f4c9@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8c6d3c32-c142-3981-3a52-6560e885f4c9@nvidia.com> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 31-07-20, 13:14, Jon Hunter wrote: > I have been doing some more testing on Tegra, I noticed that when > reading the current CPU frequency via the sysfs scaling_cur_freq entry, > this always returns the cached value (at least for Tegra). Looking at > the implementation of scaling_cur_freq I see ... > > static ssize_t show_scaling_cur_freq(struct cpufreq_policy *policy, char *buf) > { > ssize_t ret; > unsigned int freq; > > freq = arch_freq_get_on_cpu(policy->cpu); > if (freq) > ret = sprintf(buf, "%u\n", freq); > else if (cpufreq_driver && cpufreq_driver->setpolicy && > cpufreq_driver->get) > ret = sprintf(buf, "%u\n", cpufreq_driver->get(policy->cpu)); > else > ret = sprintf(buf, "%u\n", policy->cur); > return ret; > } > > The various Tegra CPU frequency drivers do not implement the > set_policy callback and hence why we always get the cached value. I > see the following commit added this and before it simply return the > cached value ... > > commit c034b02e213d271b98c45c4a7b54af8f69aaac1e > Author: Dirk Brandewie > Date: Mon Oct 13 08:37:40 2014 -0700 > > cpufreq: expose scaling_cur_freq sysfs file for set_policy() drivers > > Is this intentional? Yes, it is. There are two sysfs files to read the current frequency. - scaling_cur_freq: as you noticed it returns cached value unless it is for setpolicy drivers in whose case cpufreq core doesn't control the frequency and so doesn't cache any values. - cpuinfo_cur_freq: This will return the value as read from hardware using ->get() callback. -- viresh