Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp4356439imu; Fri, 30 Nov 2018 15:52:55 -0800 (PST) X-Google-Smtp-Source: AFSGD/XErY0EAnZwpByF1kCH5pqP6/zLiWXNFH/hmRO2vX5Jsyp0su8gqZiwXBptOwlFjLb5mZa3 X-Received: by 2002:a17:902:bf03:: with SMTP id bi3mr7567427plb.83.1543621975533; Fri, 30 Nov 2018 15:52:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543621975; cv=none; d=google.com; s=arc-20160816; b=xBoCqqhw7iwgePToSNUqWL6qPpbw2ZNkCc8sZD5VKonMBaHjhxiEQQHB5g/0NweSAf Sw0vCnPNYqzX3vv31u1JQDzb7xau98MWnJdD4hv71mCalQ9LNxG3lzElI2Qgp/sm3Yzv 9TJ4xRpHZtxQiv43xgZPPhnOEF4cSnp2kKcO9ddLZ+PuMGyESEBsj+ZCZy0Ix6ipWDWM IEy9ohU9/WRrVcxn/i0yLCQn8wyvdhD//Bg3f/Gocya4dICZT50uiZABQtuftoPcwM3D LVREqx8pZ9EAZCe6kyPQ37x1KlnLvYvuBdQrtCOz5b/dI7WU7WfA85nfy3LDKRf7zPVX tobA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:subject:user-agent:message-id :references:cc:in-reply-to:from:to:content-transfer-encoding :mime-version:dkim-signature; bh=28KxK7jmdJhv3ezopzF8QLNa4Cm04iaHphql+3h5q/M=; b=o5gHEkOYL3LvGdacIGFqUSNhhOAPqWD8eBs9d6rUHIxMU/ykd5QSesCO0mAJUW9TNM 6YM85l9MTcSS0zNMBR4V77knQqKBB3KdfXM3N+MZx4W8cFKFHpQ6LDvqaj2KI1TmvV6l C0pdGlvPOv6QjEgReL2Eo3SKookRw5Qe0Jm1rAtAfU/HtW1/vA+MuL6EGEWtzEruaiED dCMICupUw0NgC/wkSCnriL0SpyZV/1zpC5qQ4oQi3DWj0IsJbegECmvxvc0hMVmge6NO pKTVzjCj7vFn0HmZRvFWUdnpogH4Pbb+gv4JMa91uc31wAajYNrO9VoVNX4u1nFMq1Ri 99GA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=D5ugkbqi; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l23si6048888pgh.533.2018.11.30.15.52.40; Fri, 30 Nov 2018 15:52:55 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=D5ugkbqi; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726728AbeLALC6 (ORCPT + 99 others); Sat, 1 Dec 2018 06:02:58 -0500 Received: from mail.kernel.org ([198.145.29.99]:35952 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726013AbeLALC6 (ORCPT ); Sat, 1 Dec 2018 06:02:58 -0500 Received: from localhost (unknown [104.132.0.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id ABE1D20863; Fri, 30 Nov 2018 23:51:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543621916; bh=28KxK7jmdJhv3ezopzF8QLNa4Cm04iaHphql+3h5q/M=; h=To:From:In-Reply-To:Cc:References:Subject:Date:From; b=D5ugkbqiQaI6Osdqb1R09pUl0ei920geNir6aNU9Ap3TtD8Va13j37nNGL7ZdM2Pf RgDIsqbWNuZOci3TP4oLhD9FUp1Iu3KsmSR6SyD2j7nAkRNN3y1buQMYnGuhZnGTNM LJaX+bZJUCigLoBFmmsTNYPavwaBNrddm86uC+5c= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable To: Tero Kristo , Tony Lindgren From: Stephen Boyd In-Reply-To: <20181130153729.GG53235@atomide.com> Cc: Andreas Kemnade , bcousson@baylibre.com, letux-kernel@openphoenux.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, mturquette@baylibre.com, paul@pwsan.com References: <20181110203115.13335-1-andreas@kemnade.info> <20181110203115.13335-3-andreas@kemnade.info> <154353750560.88331.11814738542436183126@swboyd.mtv.corp.google.com> <20181130071534.0a6cd455@kemnade.info> <154356242517.88331.8496814814468751012@swboyd.mtv.corp.google.com> <9eb7b090-4803-d389-4112-3bf058385b2e@ti.com> <154356463284.88331.13323307899580657085@swboyd.mtv.corp.google.com> <20181130153729.GG53235@atomide.com> Message-ID: <154362191595.88331.15503578806026771935@swboyd.mtv.corp.google.com> User-Agent: alot/0.7 Subject: Re: [PATCH v2 2/3] clk: ti: check clock type before doing autoidle ops Date: Fri, 30 Nov 2018 15:51:55 -0800 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting Tony Lindgren (2018-11-30 07:37:29) > Hi, > = > * Tero Kristo [181130 09:21]: > > On 30/11/2018 09:57, Stephen Boyd wrote: > > > No that is not preferred. Can the omap2_clk_deny_idle() function be > > > integrated closer into the clk framework in some way that allows it to > > > be part of the clk_ops structure? And then have that take a clk_hw > > > structure instead of a struct clk? I haven't looked at this in any > > > detail whatsoever so I may be way off right now. > > = > > It could be added under the main clk_ops struct, however this would > > introduce two new func pointers to it which are not used by anything el= se > > but OMAP. Are you aware of any other platforms requiring similar featur= e? > = > From consumer usage point of view, I'm still wondering about > the relationship of clk_deny_idle() and clkdm_deny_idle(). > = > It seems that we need to allow reset control drivers call > clk_deny_idle() for the duration of reset. And it seems the > clk_deny_idle() should propagate to also up to the related > clock domain driver to do clkdm_deny_idle(). > = > So maybe clk_deny_idle() is could just be something like: > = > dev =3D clk_get_device(clk); > ... > error =3D pm_runtime_get(dev); > ... > pm_runtime_put(dev); > ... > = > And that way it would just propagate to the parent clock > domain driver and the clock framework does not need to know > about clockdomains. A clockdomain could be just a genpd > domain. > = > Or do you guys have better ideas? > = Wouldn't the device link in clk framework patches do this for you if we had the RUNTIME_PM flag passed in. If this is about keeping the clock controller active when a consumer device is using it then I think it may work.