Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753241AbcCZBMR (ORCPT ); Fri, 25 Mar 2016 21:12:17 -0400 Received: from mail-pf0-f182.google.com ([209.85.192.182]:35427 "EHLO mail-pf0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752544AbcCZBMO (ORCPT ); Fri, 25 Mar 2016 21:12:14 -0400 From: Steve Muckle Subject: Re: [PATCH v6 6/7][Resend] cpufreq: Support for fast frequency switching To: "Rafael J. Wysocki" , Linux PM list References: <7262976.zPkLj56ATU@vostro.rjw.lan> <25154681.B5BGJ94JlQ@vostro.rjw.lan> Cc: Juri Lelli , ACPI Devel Maling List , Linux Kernel Mailing List , Peter Zijlstra , Srinivas Pandruvada , Viresh Kumar , Vincent Guittot , Michael Turquette , Ingo Molnar X-Enigmail-Draft-Status: N1110 Message-ID: <56F5E1EB.1050702@linaro.org> Date: Fri, 25 Mar 2016 18:12:11 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.0 MIME-Version: 1.0 In-Reply-To: <25154681.B5BGJ94JlQ@vostro.rjw.lan> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1364 Lines: 36 Hi Rafael, On 03/21/2016 06:53 PM, Rafael J. Wysocki wrote: > Add two new policy flags, fast_switch_possible, to be set by the > cpufreq driver if fast frequency switching can be used for the > given policy and fast_switch_enabled, to be set by the governor > if it is going to use fast frequency switching for the given > policy. Also add a helper for setting the latter. ... > @@ -740,6 +777,9 @@ static int acpi_cpufreq_cpu_init(struct > goto err_unreg; > } > > + policy->fast_switch_possible = !acpi_pstate_strict && > + !(policy_is_shared(policy) && policy->shared_type != CPUFREQ_SHARED_TYPE_ANY); Could the policy->fast_switch_possible flag be avoided by just checking whether a driver has registered the .fast_switch callback? ... > @@ -1726,6 +1810,34 @@ EXPORT_SYMBOL(cpufreq_unregister_notifie > * GOVERNORS * > *********************************************************************/ > > +/** > + * cpufreq_driver_fast_switch - Carry out a fast CPU frequency switch. > + * @policy: cpufreq policy to switch the frequency for. > + * @target_freq: New frequency to set (may be approximate). > + * > + * Carry out a fast frequency switch from interrupt context. I think that should say atomic rather than interrupt as this might not be called from interrupt context. thanks, Steve