Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755545Ab3CPByO (ORCPT ); Fri, 15 Mar 2013 21:54:14 -0400 Received: from hqemgate03.nvidia.com ([216.228.121.140]:19402 "EHLO hqemgate03.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754081Ab3CPByM (ORCPT ); Fri, 15 Mar 2013 21:54:12 -0400 X-PGP-Universal: processed; by hqnvupgp08.nvidia.com on Fri, 15 Mar 2013 18:47:02 -0700 Message-ID: <1363398860.2879.2.camel@bilhuang-vm1> Subject: Re: [RFC 1/1] clk: Add notifier support in clk_prepare_enable/clk_disable_unprepare From: Bill Huang To: Stephen Warren CC: Ulf Hansson , Peter De Schrijver , Russell King - ARM Linux , "linux-kernel@vger.kernel.org" , "patches@linaro.org" , "linaro-dev@lists.linaro.org" , "linux-arm-kernel@lists.infradead.org" Date: Fri, 15 Mar 2013 18:54:20 -0700 In-Reply-To: <514378CB.1060605@wwwdotorg.org> References: <1363151317.3311.9.camel@bilhuang-vm1> <51400D9D.9060305@wwwdotorg.org> <1363153204.3311.14.camel@bilhuang-vm1> <5140C12A.4060900@wwwdotorg.org> <1363227311.3311.30.camel@bilhuang-vm1> <20130314092132.GE18519@tbergstrom-lnx.Nvidia.com> <1363253287.3311.32.camel@bilhuang-vm1> <51420EBB.7080503@wwwdotorg.org> <1363310454.3311.44.camel@bilhuang-vm1> <5142B027.4040403@wwwdotorg.org> <20130315093951.GV18519@tbergstrom-lnx.Nvidia.com> <1363349206.5827.10.camel@bilhuang-vm1> <514378CB.1060605@wwwdotorg.org> X-Mailer: Evolution 3.2.3-0ubuntu6 MIME-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-9" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2601 Lines: 52 On Sat, 2013-03-16 at 03:38 +0800, Stephen Warren wrote: > On 03/15/2013 06:33 AM, Ulf Hansson wrote: > > On 15 March 2013 13:06, Bill Huang wrote: > >> On Fri, 2013-03-15 at 18:08 +0800, Ulf Hansson wrote: > ... > >>> Some prerequisites; I think am in favor of using the clk API to > >>> trigger DVFS changes and then I agree on that clk_prepare|unprepare > >>> needs to be possible to track from a DVFS perspective. clk_set_rate is > >>> not enough. > >>> > >>> So if we decide to do the above (using the clk API to trigger DVFS > >>> changes), I believe we should discuss two possible solutions; > >>> - clk notifiers or.. > >>> - dvfs clock type. > >>> > >>> I am trying to make up my mind of what I think is the best solution. > >>> Have you considered "dvfs clock type"? > >>> I put some comments about this for "[PATCH 2/5] clk: notifier handler > >>> for dynamic voltage scaling" recently as well. > >>> > >>> What could the advantages/disadvantages be between the two options? > >> > >> I personally prefer clk notifiers since that's easy and all the existing > >> device drivers don't need to be modified, a new clock or API might be > >> more thoroughly considered (and hence maybe more graceful) but that > >> means we need more time to cook and many drivers need to plug into that > >> API when it comes out, a lot of test/verification or maybe chaos > >> follows, I'm not sure will that be a little overkill. > > > > I guess you did not fully got what I meant with "dvfs clock type". It > > will not affect the clock API. But instead the dvfs is handled by > > implementing a specific clk hw type. So the same thing is accomplished > > as with clk notifiers, no changes should be needed to device drivers. > > > > The difference is only that no notifiers will be needed, and all the > > dvfs stuff will be handled in the clk hw instead. It will mean that we > > will bundle dvfs stuff into the clock drivers, instead of separating > > the code outside the clock drivers. But, on the other hand no > > notifiers will be needed. > > The advantage here is that I assume that a notifier would continually > have to check whether the clock being modified was one that the DVFS > notifier cared about. By integrating the CVFS logic into the clk_hw Actually, we can register notifier only on clocks that DVFS care about. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/