Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp4277447imm; Wed, 30 May 2018 02:31:49 -0700 (PDT) X-Google-Smtp-Source: ADUXVKI9DOr5s8lyHImCCVYCDTmfnXHx4piKvVYzFtsRUMdPit2ZDU0H/8o/EbLpvyFoRxE+Z3zZ X-Received: by 2002:aa7:8386:: with SMTP id u6-v6mr2027441pfm.253.1527672709813; Wed, 30 May 2018 02:31:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527672709; cv=none; d=google.com; s=arc-20160816; b=QHGr9dYPGkq9mDznU5QxHlGXH774IBP8ESOYGHFGffBljPOwGP3C+hlJbQ7OSnhfRI PGt5AU8UC38uvRBoKA3vMkR6RTbtUneWv7hSkfzYR/leJagdQQ9tjcbWmGuMe3EXrkQY O30oJQTEEB4Zn/o8s2uxWno+ZP6Ct512on09IntTmE+8llvQ+hKgjJl82yIE8nHKen/8 EROjGYVViyDLbqG5kuCn+Dy3vZo5anRS0m3coSpKsQn7pij6S3VIpu+etJp342DgntSh gMT5mZIPoK0esWZAfpwzD0DM7ms3uiQGawN+WM78IRG1vUoN3H8TRKByd75ccF0lCOwl YxWQ== 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=hQ26b8trSvGb0UZ0EwikoJ5lM/bi7VOtox4am8BXB64=; b=skfxMTFQYJqDi7Chx6GQvcjHGzQBiGmevxY63dWGL9dwP4L512ixo2skwi2emJ6H2t /GDb3Yt/1QL+bXghCcS6C5sSZB2xCae87B2D+Xd6jUDvM0/zzZ7p4W/WuXNRsj4W9l0c JIy/RuikcOXOxCz2Ocej4ds92nsgZQRkeO9idBzGarclJAlWADMI2gpONW67sNzXnbTq am/cxJZWQHZ3CN5kHyoqLGUUnxEcWYcRrlTIT84OkGMKgPq/Wbr6i29YnEcKk4JEniN+ SweArc2UJnhnGX8gLIana5rZhUK5Gnsku297JRq+ErpkyNH1s5wq/xcvd4F/GXUqtTie Hflg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=QqpC9br4; 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=fail (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 w66-v6si35431802pfj.144.2018.05.30.02.31.35; Wed, 30 May 2018 02:31:49 -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=fail header.i=@gmail.com header.s=20161025 header.b=QqpC9br4; 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=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965241AbeE3Jai (ORCPT + 99 others); Wed, 30 May 2018 05:30:38 -0400 Received: from mail-oi0-f68.google.com ([209.85.218.68]:34623 "EHLO mail-oi0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750869AbeE3Jaf (ORCPT ); Wed, 30 May 2018 05:30:35 -0400 Received: by mail-oi0-f68.google.com with SMTP id i205-v6so1161079oib.1; Wed, 30 May 2018 02:30:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=hQ26b8trSvGb0UZ0EwikoJ5lM/bi7VOtox4am8BXB64=; b=QqpC9br4kzb5v0bEgOv7BYMdfWWZ3rGNmQMZkLnRGf1lOjp7tLJmQPNnOGC/qicHL/ wNasOdDRfh6konUJTM1MnNVFfEJnGnxDVFJOkKIue2sTUy52ZSNfD1jDOrik8c01B+WN aCp2DNTkaN0zgjcoD/rKBcKX3XvJgSslLsXNU9yR+v/zItMNeYNYwlOBF1I0FAolcPu3 YoNVemZWNfYgGCwRRYmYaiLNvDvzmmUkOkspuiZxSTNCxVApEab/80t1t0Dkm0wQxU9i 0reLy50JbiTf0FCdISywdGDsiac6jQxU2Ce9T7a77q88Vm5j6PZEc4QxsXkVa356fVbl Xh8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=hQ26b8trSvGb0UZ0EwikoJ5lM/bi7VOtox4am8BXB64=; b=FHWRawI429UoSPF/qAo/ggoR4SvfFg0sQ7R2SKBBKOD3m3TeIgf0YPqHyS6WxnDiN4 mkweWrPn4lvYR6naOzG2cNTKrwIPK57tlDpBJMQCa99iocU8jjjQsHrzrvtDeA61h9BH RpJEghqvbZXQEaKgmXxIkypHL8Y4jTllwMSLDviGkNaxGwh6ovmyAPXS0FahTtHAx5Ec wmm6qxzQI9o7kz3FVG9Bd+sB72/RYgAmpJdb8ccG16LjuQYOv2PTZfVX7J/0u0f7mwaq TUvMQKOjBcKJP2uqIj57KQmCIJtvyVPxR4XL5a8C3xKQFRbDV6/dOdmmNUmR23+dgmE8 kQWg== X-Gm-Message-State: APt69E06vSuVqqInVYE1rnTBkG+DFZmB7IS9vf8B5Nc0CDObBeQHogMi Qt9ACvEV/g1Nfzvbz0ywyUqqWqNKQHYqK0J7JkQ= X-Received: by 2002:aca:1c3:: with SMTP id 186-v6mr1063209oib.174.1527672634245; Wed, 30 May 2018 02:30:34 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a9d:1468:0:0:0:0:0 with HTTP; Wed, 30 May 2018 02:30:33 -0700 (PDT) In-Reply-To: <20180529100421.31022-1-ulf.hansson@linaro.org> References: <20180529100421.31022-1-ulf.hansson@linaro.org> From: "Rafael J. Wysocki" Date: Wed, 30 May 2018 11:30:33 +0200 X-Google-Sender-Auth: VLaFLQSORvi6r7Zvw-JIU78MnP4 Message-ID: Subject: Re: [PATCH v2 0/9] PM / Domains: Add support for multi PM domains per device To: Ulf Hansson Cc: "Rafael J . Wysocki" , Linux PM , Greg Kroah-Hartman , Jon Hunter , Geert Uytterhoeven , Todor Tomov , Rajendra Nayak , Viresh Kumar , 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 Tue, May 29, 2018 at 12:04 PM, 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! > > Kind regards > Ulf Hansson > > > Ulf Hansson (9): > PM / Domains: Drop extern declarations of functions in pm_domain.h > PM / Domains: Drop __pm_genpd_add_device() > PM / Domains: Drop genpd as in-param for pm_genpd_remove_device() > PM / Domains: Drop unused parameter in genpd_allocate_dev_data() > PM / Domains: dt: Allow power-domain property to be a list of > specifiers > PM / Domains: Don't attach devices in genpd with multi PM domains > PM / Domains: Split genpd_dev_pm_attach() > PM / Domains: Add support for multi PM domains per device to genpd > PM / Domains: Add dev_pm_domain_attach_by_id() to manage multi PM > domains > > .../bindings/power/power_domain.txt | 19 ++- > drivers/base/power/common.c | 39 ++++- > drivers/base/power/domain.c | 155 ++++++++++++++---- > drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c | 2 +- > include/linux/pm_domain.h | 79 ++++----- > 5 files changed, 216 insertions(+), 78 deletions(-) I can take patches [1-4/9] from this series for 4.18. I need an ACK from Rob on the bindings change. The rest of the series doesn't seem to be ready yet. Thanks, Rafael