Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp459413imm; Thu, 31 May 2018 03:48:34 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLEvkIXGMn5qjzp78y5Ckrb1MODQlHEPI26q/0tP5svCZn0LxqgEuiDjR5HBiaDU1D+Nnci X-Received: by 2002:a63:6fcd:: with SMTP id k196-v6mr1196667pgc.267.1527763714444; Thu, 31 May 2018 03:48:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527763714; cv=none; d=google.com; s=arc-20160816; b=O3TCfAUA1AhXxU6sfiFAkgUSDbs7nW8F/uGEJ5YsNSdKMx5gaWGrldind4xeZpoGwT Vg322JOAejbh69aekWp7TG74Je/U+1iKB+zQ4rbOQqJaieg2UazUnoF8h4C4E7Kxvxd0 SPYlOPxHGDJfr5DQiAvmP5vctDJV6J+HG0z2qYg123ECSbeRdOZ2q5jkgCt7/RC3TnD2 BYXH8VmaQQ3l5GGarZN3F7MU00dh/V0gBo9ifUav4ach6G2gleyBdCwZsSQKDyyOkk13 Ua8LQBYoyFSuRZizDTOSbsk4rT4eGgsMcqy6k4Qv8jtBxcQAHTzj1Q2BraYJY2Ima402 5IIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=eTk96SsISK/MjwVAJgrfVW83oufM2fnbXuXbYDc5DbA=; b=mKraVqCdwh8ZJSGROF/KUDYDQt82TmD2oR34eDIUy9KdHyB7x3aAzzeIJPncsGdy8d KLy+uvchAQp8/XtparK2D/P/lySo5n+2jhODcebSHhZSNRLZMK668IB3Fl/M5Haghx4e VrlQ37rjioCjKpJGTgoeion00Nq7riyu/BDhX3OKSsvJQ8XQefvXP5+pGbbESh6PA9uJ ZIEiSXNGzhEueL0Z/eMkF2snsSO+CXZ9ZGu5eRjomKUO8Mpp8IuwJJh3NjyU/gDPKdO0 //6ofZMEZk0eogYZL9ImqY1Fp9WJ/jfWQ/2Asw6m/qXpG57MToXnat6PeS6Doai49Bsp 1BXA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=SqSooyrD; 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=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r5-v6si29335218pgp.379.2018.05.31.03.48.20; Thu, 31 May 2018 03:48:34 -0700 (PDT) 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=@linaro.org header.s=google header.b=SqSooyrD; 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=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754581AbeEaKr5 (ORCPT + 99 others); Thu, 31 May 2018 06:47:57 -0400 Received: from mail-it0-f65.google.com ([209.85.214.65]:56151 "EHLO mail-it0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754551AbeEaKrv (ORCPT ); Thu, 31 May 2018 06:47:51 -0400 Received: by mail-it0-f65.google.com with SMTP id 144-v6so27008900iti.5 for ; Thu, 31 May 2018 03:47:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=eTk96SsISK/MjwVAJgrfVW83oufM2fnbXuXbYDc5DbA=; b=SqSooyrDkUrnGYFwdiqEj3h4PwViXhIsMYMWPCX5qb/e89LLnKf0K5yPBxwk16iy67 ISy1pfviq6m5kgXyN8tcd8Rk/P1Cy74N2f7zpZoTRRKS0Qqra1ut8m39Th2K74blnkBa 3TIfR5UDuVwpqyuRTubTVIJIvIiUrY3omZ/dU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=eTk96SsISK/MjwVAJgrfVW83oufM2fnbXuXbYDc5DbA=; b=UUZjx/cDPC4Tn3mHNw/HhoW4qO8QZs9ztD7jmczq6rC5vMrPnHTFJmrZgKW/awB3Uh y/gbZpfJHVG58U/bAzCMowc5anOMnas9ZvjqTOqzPG23wkMF9Fbj3IjqYBG6U7Vkv3S8 FaXCPo3n2Tl8i4NL+yEF6fmV9d38bRFVx/96PVPXh97D6jRfwgD6VP3N+DC2dgfx/h9m byU1YHiCHtI+YtI8a41sSvb6hGn+W9v+twGBbEH/J0vL8wmWdE1a8tdDRehV359tnrrP iLqHE/y19Q9BwPmC8M032swOwUIYi7x1hGzLyy7KAPDTXf6oazB7AEib7u145DV2Ep7l M9KQ== X-Gm-Message-State: APt69E2cYAAliHeZk0DYf6nMByCPwkfu2Duv8caP9Gqr1Hs2DWeprJlR yWbp4n131TikVDb6A97JBurYZSSV9QyMSqgk3AXbbg== X-Received: by 2002:a24:9457:: with SMTP id j84-v6mr5817618ite.102.1527763670453; Thu, 31 May 2018 03:47:50 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a02:c054:0:0:0:0:0 with HTTP; Thu, 31 May 2018 03:47:50 -0700 (PDT) In-Reply-To: <20180531091410.fl5f42zmyqi6zj5a@vireshk-i7> References: <20180529100421.31022-1-ulf.hansson@linaro.org> <20180531091410.fl5f42zmyqi6zj5a@vireshk-i7> From: Ulf Hansson Date: Thu, 31 May 2018 12:47:50 +0200 Message-ID: Subject: Re: [PATCH v2 0/9] PM / Domains: Add support for multi PM domains per device To: Viresh Kumar Cc: "Rafael J . Wysocki" , Linux PM , Greg Kroah-Hartman , Jon Hunter , Geert Uytterhoeven , Todor Tomov , Rajendra Nayak , Vincent Guittot , Kevin Hilman , Linux Kernel Mailing List , Linux ARM , linux-tegra@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 31 May 2018 at 11:14, Viresh Kumar wrote: > On 29-05-18, 12:04, Ulf Hansson wrote: >> Changes in v2: >> - Addressed comments from Geert around DT doc. >> - Addressed comments from Jon around clarification of how to use this >> and changes to returned error codes. >> - Fixed build error in case CONFIG_PM was unset. >> >> There are devices that are partitioned across multiple PM domains. Currently >> these can't be supported well by the available PM infrastructures we have in >> the kernel. This series is an attempt to address this. >> >> The interesting parts happens from patch 5 an onwards, including a minor DT >> update to the existing power-domain bindings, the 4 earlier are just trivial >> clean-ups of some related code in genpd, which I happened to stumble over. >> >> Some additional background: >> >> One existing case where devices are partitioned across multiple PM domains, is >> the Nvida Tegra 124/210 X-USB subsystem. A while ago Jon Hunter (Nvidia) sent a >> series, trying to address these issues, however this is a new approach, while >> it re-uses the same concepts from DT point of view. >> >> The Tegra 124/210 X-USB subsystem contains of a host controller and a device >> controller. Each controller have its own independent PM domain, but are being >> partitioned across another shared PM domain for the USB super-speed logic. >> >> Currently to make the drivers work, either the related PM domains needs to stay >> powered on always or the PM domain topology needs to be in-correctly modelled >> through sub-domains. In both cases PM domains may be powered on while they >> don't need to be, so in the end this means - wasting power -. >> >> As stated above, this series intends to address these problem from a PM >> infrastructure point of view. More details are available in each changelog. >> >> It should be noted that this series has been tested on HW, however only by using >> a home-cooked test PM domain driver for genpd and together with a test driver. >> This allowed me to play with PM domain (genpd), runtime PM and device links. >> >> Any further deployment for real use cases are greatly appreciated. I am happy to >> to help, if needed! > > Reviewed-by: Viresh Kumar Thanks! Kind regards Uffe