From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1763331AbcLUXGF (ORCPT ); Wed, 21 Dec 2016 18:06:05 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:37444 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1761703AbcLUXGA (ORCPT ); Wed, 21 Dec 2016 18:06:00 -0500 DMARC-Filter: OpenDMARC Filter v1.3.1 smtp.codeaurora.org 5E91561676 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=pass smtp.mailfrom=sboyd@codeaurora.org Date: Wed, 21 Dec 2016 15:05:57 -0800 From: Stephen Boyd To: Pierre-Louis Bossart Cc: Andy Shevchenko , ALSA Development Mailing List , linux-clk@vger.kernel.org, Irina Tirdea , Pierre-Louis Bossart , Michael Turquette , "x86@kernel.org" , "Rafael J. Wysocki" , "linux-kernel@vger.kernel.org" , "linux-acpi@vger.kernel.org" , Ingo Molnar , Mark Brown , "H. Peter Anvin" , Darren Hart , Takashi Iwai , platform-driver-x86@vger.kernel.org, Thomas Gleixner , Len Brown Subject: Re: [alsa-devel] [PATCH v6 1/3] clk: x86: Add Atom PMC platform clocks Message-ID: <20161221230557.GK5423@codeaurora.org> References: <1481306510-7471-1-git-send-email-irina.tirdea@intel.com> <1481306510-7471-2-git-send-email-irina.tirdea@intel.com> <20161213232524.GQ5423@codeaurora.org> <32235fb3-0d54-211d-28f4-4655e4bc7812@linux.intel.com> <20161217013337.GW5423@codeaurora.org> <7f3d03dc-24fe-ec3f-4a3b-926c28f0ac86@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7f3d03dc-24fe-ec3f-4a3b-926c28f0ac86@linux.intel.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/19, Pierre-Louis Bossart wrote: > On 12/17/16 7:57 AM, Andy Shevchenko wrote: > >On Sat, Dec 17, 2016 at 3:33 AM, Stephen Boyd wrote: > >>On 12/15, Pierre-Louis Bossart wrote: > > > >>>Clients use devm_clk_get() with a "pmc_plt_clk_" > >>>argument. > >> > >>This is the problem. Clients should be calling clk_get() like: > >> > >> clk_get(dev, "signal name in datasheet") > >> > >>where the first argument is the device and the second argument is > >>some string that is meaningful to the device, not the system as a > >>whole. The way clkdev is intended is so that the dev argument's > >>dev_name() is combined with the con_id that matches some signale > >>name in the datasheet. This way when the same IP is put into some > >>other chip, the globally unique name doesn't need to change, just > >>the device name that's registered with the lookup. Obviously this > >>breaks down quite badly when dev_name() isn't stable. Is that > >>happening here? > > > >PMC Atom is a PCI device and thus each platform would have different > >dev_name(). Do you want to list all in each consumer if consumer wants > >to work on all of them or I missed something? > > > >So, the question is how clock getting will look like to work on > >currently both CherryTrail and BayTrail. > > The name pmc_plt_clk_ follows the data sheet specification, where > this convention is suggested: > PLT_CLK[2:0] - Camera > PLT_CLK[3] - Audio Codec > PLT_CLK[4] - > PLT_CLK[5] - COMMs > > These clocks are not internal but are made available to external > components through dedicated physical pins on the package, this > external visibility limits the scope for confusions, variations. I > have not seen any skews where these clocks and pins were changed at > all. Ok, by clkdev design if a device is passed but there isn't a match in the lookup table it allows it to match based solely on the connection id. Given that the connection id is globally unique this will work. Hopefully we don't have two of these devices with pmc_plt_clk_ signals in a single system though. Then having the device name would help differentiate between the two. And then it may make sense to have some sort of ACPI lookup system, similar to how we have lookups for clks in DT. -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project