Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753449AbdCMOie (ORCPT ); Mon, 13 Mar 2017 10:38:34 -0400 Received: from mail-io0-f196.google.com ([209.85.223.196]:36008 "EHLO mail-io0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752058AbdCMOi2 (ORCPT ); Mon, 13 Mar 2017 10:38:28 -0400 MIME-Version: 1.0 In-Reply-To: <161ee6b9-7a76-c7b4-3cb4-06259fef4898@nvidia.com> References: <1474367287-10402-1-git-send-email-jonathanh@nvidia.com> <52493231-71f4-1b62-b325-8532e63e4229@nvidia.com> <3e88692d-613b-9c25-2554-7d399c45637a@nvidia.com> <161ee6b9-7a76-c7b4-3cb4-06259fef4898@nvidia.com> From: Geert Uytterhoeven Date: Mon, 13 Mar 2017 15:38:20 +0100 X-Google-Sender-Auth: br5yM82qPmqiGD7YZndcoMQSoDc Message-ID: Subject: Re: [RFC PATCH 0/3] PM / Domains: Add support for devices that require multiple domains To: Jon Hunter Cc: Ulf Hansson , "Rafael J. Wysocki" , Kevin Hilman , Rajendra Nayak , Stanimir Varbanov , Stephen Boyd , Marek Szyprowski , Linux PM list , "linux-kernel@vger.kernel.org" , "linux-tegra@vger.kernel.org" , Bjorn Andersson Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v2DEcdNn024520 Content-Length: 3386 Lines: 78 Hi Jon, On Mon, Mar 13, 2017 at 3:27 PM, Jon Hunter wrote: > On 13/03/17 14:19, Geert Uytterhoeven wrote: >> On Mon, Mar 13, 2017 at 3:09 PM, Jon Hunter wrote: >>> On 13/03/17 11:45, Ulf Hansson wrote: >>>> +Björn >>>> >>>> On 13 March 2017 at 10:37, Jon Hunter wrote: >>>>> Looks like there is still some interest/needs in/for this. Any thoughts >>>>> on how we can move this forward? >>>> >>>> At the Linaro Connect last week, I was talking to Björn, Rajendra and >>>> Stephen more about these related issues. >>>> >>>> It definitely seems like we need to progress with this somehow, >>>> meaning we need a solution for being able to associate a device with >>>> more than one PM domain. In that context, I don't think genpd based on >>>> its current design, is a good fit to solve the problem. >>>> >>>> Instead I think we need something entirely new (perhaps some code can >>>> be borrowed from genpd), which is more similar to the clock/regulator >>>> framework. In other words, what you also were suggesting in a earlier >>>> reply. >>>> In this way, the driver/subsystem gains full flexibility of managing >>>> its device's PM domains, which seems like the best future-proof >>>> solution. >>> >>> I agree, I think that that would give us the most flexibility to handle >>> whatever scenario. However, I was thinking that we could still use the >>> genpd core to register pm-domains with and control. My thought was to >>> allow devices to have a bindings with multiple pm-domains ... >>> >>> dev-xyz { >>> ... >>> power-domains = <&domain-a>, <&domain-b>; >>> }; >>> >>> Then in the genpd core we do having something like ... >>> >>> diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c >>> index e697dec9d25b..d1ae6ddf4903 100644 >>> --- a/drivers/base/power/domain.c >>> +++ b/drivers/base/power/domain.c >>> @@ -2026,6 +2026,15 @@ int genpd_dev_pm_attach(struct device *dev) >>> "samsung,power-domain", 0); >>> if (!pd_args.np) >>> return -ENOENT; >>> + } else if (ret > 1) { >>> + /* >>> + * If there are more than one PM domain defined for a device, >>> + * then these need to be manually controlled by the device >>> + * driver because the genpd core cannot bind a device with >> >> Which device driver? >> The driver for the device that belongs to multiple PM domains? > > Yes, exactly. So maybe I would need to say ... "manually controlled by > the driver for *this* device ..." That looks a bit cumbersome to me. Power (and clock) domains are platform features. Any IP core may show up in a new SoC, and suddenly have become part of one or more PM Domains. Having to handle that in each individual driver will cause lots of churn. Especially as the multiple PM Domains a device may belong to may be fairly orthogonal to each other. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds