From patchwork Wed Oct 3 14:38:13 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Hansson X-Patchwork-Id: 10624957 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id F218114BD for ; Wed, 3 Oct 2018 14:39:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DFE1328AF5 for ; Wed, 3 Oct 2018 14:39:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D2ECA28B10; Wed, 3 Oct 2018 14:39:53 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6EC5028AF5 for ; Wed, 3 Oct 2018 14:39:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726829AbeJCV1U (ORCPT ); Wed, 3 Oct 2018 17:27:20 -0400 Received: from mail-lf1-f67.google.com ([209.85.167.67]:38970 "EHLO mail-lf1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726807AbeJCV1U (ORCPT ); Wed, 3 Oct 2018 17:27:20 -0400 Received: by mail-lf1-f67.google.com with SMTP id w21-v6so4324360lff.6 for ; Wed, 03 Oct 2018 07:38:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=BQQ4CUhUwLPSkziPcTmDrRncPt7krFlSgdVDh1XHwGE=; b=GS+6zAXv6Zke+euptEXU1eWKRdQ10l6bXpF+ryuEdLvxk5o24PG8sPEDXsRnUqsCeJ 7icYp+5kNVwQqsgBF/P2Y3/Mi84RS+o8ohyt+kyMFL5QihyFl5Nii7p4JwvqTlpJ4NDp 2/H2SbCgjVk0WP+7f0N69AR0L3VQsaQdIgicI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=BQQ4CUhUwLPSkziPcTmDrRncPt7krFlSgdVDh1XHwGE=; b=QJF/iZl/lPSvHH2E1/r4y8I6+H7r+YsCUNBXGVlwJ+LHuMiOelO+DcCN0OQlpwbAxz xmCaCJi+447+z49a4FLZMCwnToi74q6zrzeCubyqa1lOUIKuWxtEKEpxBaMVfUl+zTMU pMvzZKJEG5RhMdfj/wA2Y5/KoiyH1Ea0avrBwO94TlTTnwqlwHywCE95ZagA2HiAoFB4 vVfFGgsGsgHRF5jvWtuuW/KDXex2OonjtGfDl1ZhUha0T6LsVU3cdZomoNv5E+JkAwn5 hzbXZEojoJk/yBh5WQCPEpz0VlbYebBuYR46XCJgm7wDcEJ0Utr1W6s03RUpby9KbZg4 wUFg== X-Gm-Message-State: ABuFfojKjbPM3uf2oEXigJKpiaTbs3TgAWUnKJoplpuNxbjNn1ntddjp FMUthxGgKXMDcJ+ysM7Cw8RQZQ== X-Google-Smtp-Source: ACcGV63hMhgSPpyjFbDUGSK9FDqWVLEMQzkgE7mzZqN8iAFxs3tJUrX7ol6sFfQbP9rOiwjWWRIekQ== X-Received: by 2002:a19:f817:: with SMTP id a23-v6mr1195615lff.67.1538577517284; Wed, 03 Oct 2018 07:38:37 -0700 (PDT) Received: from localhost.localdomain (h-158-174-22-210.NA.cust.bahnhof.se. [158.174.22.210]) by smtp.gmail.com with ESMTPSA id 18-v6sm380867ljo.74.2018.10.03.07.38.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 Oct 2018 07:38:36 -0700 (PDT) From: Ulf Hansson To: "Rafael J . Wysocki" , Sudeep Holla , Lorenzo Pieralisi , Mark Rutland , Daniel Lezcano , linux-pm@vger.kernel.org Cc: Tony Lindgren , Kevin Hilman , Lina Iyer , Ulf Hansson , Rob Herring , Viresh Kumar , Vincent Guittot , Geert Uytterhoeven , linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v9 00/11] PM / Domains: Support hierarchical CPU arrangement (PSCI/ARM) (a subset) Date: Wed, 3 Oct 2018 16:38:13 +0200 Message-Id: <20181003143824.13059-1-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.17.1 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP I have digested the review comments so far, including a recent offlist chat with with Lorenzo Pieralisi around the debatable PSCI changes. More or less I have a plan for how to move forward. However, to avoid re-posting non-changed patches over and over again, I decided to withhold the more debatable part from this v9, hence this is not the complete series to make things play. In v9, I have just included the trivial changes, which are either already acked/reviewed or hopefully can be rather soon/easily. My hope is to get this queued for v4.20, to move things forward. I know it's late, but there are more or less nothing new here since v8. Kind regards Ulf Hansson Changes in v9: - Collect only a subset from the changes in v8. - Patch 3 is new, documenting existing genpd flags. Future wise, this means when a new genpd flag is invented, we must also properly document it. - No changes have been made to the patches picked from v8. - Dropped the text from v8 cover-letter[1], to avoid confusion. When posting v10 (or whatever the next version containing the rest becomes), I am going re-write the cover-letter to clarify, more exactly, the problems this series intends to solve. The earlier text was simply too vague. [1] https://lwn.net/Articles/758091/ Changes in v8: - Added some tags for reviews and acks. - Cleanup timer patch (patch6) according to comments from Rafael. - Rebased series on top of v4.18rc1 - it applied cleanly, except for patch 5. - While adopting patch 5 to new genpd changes, I took the opportunity to improve the new function description a bit. - Corrected malformed SPDX-License-Identifier in patch20. Changes in v7: - Addressed comments concerning the PSCI changes from Mark Rutland, which moves the psci firmware driver to a new firmware subdir and change to force PSCI PC mode during boot to cope with kexec'ed booted kernels. - Added some maintainers in cc for the timer/nohz patches. - Minor update to the new genpd governor, taking into account the state's poweroff latency while validating the sleep duration time. - Addressed a problem pointed out by Geert Uytterhoeven, around calling pm_runtime_get|put() for CPUs that has not been attached to a CPU PM domain. - Re-based on Linus' latest master. Lina Iyer (3): dt: psci: Update DT bindings to support hierarchical PSCI states cpuidle: dt: Support hierarchical CPU idle states drivers: firmware: psci: Support hierarchical CPU idle states Ulf Hansson (8): PM / Domains: Don't treat zero found compatible idle states as an error PM / Domains: Deal with multiple states but no governor in genpd PM / Domains: Document flags for genpd of: base: Add of_get_cpu_state_node() to get idle states for a CPU node drivers: firmware: psci: Move psci to separate directory MAINTAINERS: Update files for PSCI drivers: firmware: psci: Split psci_dt_cpu_init_idle() drivers: firmware: psci: Simplify error path of psci_dt_init() .../devicetree/bindings/arm/psci.txt | 156 ++++++++++++++++++ MAINTAINERS | 2 +- drivers/base/power/domain.c | 20 ++- drivers/cpuidle/dt_idle_states.c | 5 +- drivers/firmware/Kconfig | 15 +- drivers/firmware/Makefile | 3 +- drivers/firmware/psci/Kconfig | 13 ++ drivers/firmware/psci/Makefile | 4 + drivers/firmware/{ => psci}/psci.c | 70 ++++---- drivers/firmware/{ => psci}/psci_checker.c | 0 drivers/of/base.c | 35 ++++ include/linux/of.h | 8 + include/linux/pm_domain.h | 35 +++- 13 files changed, 302 insertions(+), 64 deletions(-) create mode 100644 drivers/firmware/psci/Kconfig create mode 100644 drivers/firmware/psci/Makefile rename drivers/firmware/{ => psci}/psci.c (95%) rename drivers/firmware/{ => psci}/psci_checker.c (100%)