From patchwork Thu Feb 9 03:41:46 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh Kumar X-Patchwork-Id: 93670 Delivered-To: patch@linaro.org Received: by 10.140.20.99 with SMTP id 90csp71229qgi; Wed, 8 Feb 2017 20:10:10 -0800 (PST) X-Received: by 10.99.114.19 with SMTP id n19mr1388471pgc.143.1486613410225; Wed, 08 Feb 2017 20:10:10 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l19si8954797pgn.71.2017.02.08.20.10.09; Wed, 08 Feb 2017 20:10:10 -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=@linaro.org; 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 S1751874AbdBIEJy (ORCPT + 25 others); Wed, 8 Feb 2017 23:09:54 -0500 Received: from mail-pg0-f47.google.com ([74.125.83.47]:34574 "EHLO mail-pg0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751808AbdBIEJw (ORCPT ); Wed, 8 Feb 2017 23:09:52 -0500 Received: by mail-pg0-f47.google.com with SMTP id 14so53955153pgg.1 for ; Wed, 08 Feb 2017 20:09:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=2gD56uJvMhrpk2BYa0V3x9hALIqmGt+yt1o1zpe/mJM=; b=O1kBU3IBNgwt18RblxqgCQcC29QkJAkqA3fti2yFdGG8tk8jKa1xMZqgG0ufUPxEFf 2iGDK9LcDs+CgDaHHO8egLbmLCGppQR1Un4MYB3Ny8oBdDE1vdrfVfZzolJTvSNfL2Qa 1XpmMH0M/eVb8fRLSSWJV6ZTDZt5pJhNNjnEI= 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=2gD56uJvMhrpk2BYa0V3x9hALIqmGt+yt1o1zpe/mJM=; b=IVkutKGTtKwx29TqWrYCSHqXfIVvuf7vNNqETL6+SyZXB8V5Gm+zUXG11XWzvFDdsb nonuwKGSAUPRagnpJxHdQcCTZdLBDbnohDSnDXUjcAYeDfjFV+31Yw7NYJrCrY5s9E5Z CLQ1AOkUEhQdWyF3YSGuabe759ImR1T1c/AvAJ+voHfBxv/MEBbxi50zhunakzfDZmK5 sTY9i9ykG9nZ+o8MTAQnhU/emmfyJoTvyIJqQnocsebMWI2w9EzZPU5gsHVqlLmB05PE SSkEIIBM8PqKfDh4IbxmftEu14QMXfXsphjgVQoDdHP8hAxYvfWQWgM7Rlxg2lEnOPyw rr0w== X-Gm-Message-State: AMke39mLM+a8r+4LLgjwhabksAVTpM5ntwYQSW037VvBcaK7WtuYxIbmx8zU7w0cuVDapXm1 X-Received: by 10.99.50.132 with SMTP id y126mr1362438pgy.8.1486611722657; Wed, 08 Feb 2017 19:42:02 -0800 (PST) Received: from localhost ([122.172.165.189]) by smtp.gmail.com with ESMTPSA id e127sm23690755pfh.89.2017.02.08.19.42.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 08 Feb 2017 19:42:01 -0800 (PST) From: Viresh Kumar To: Rafael Wysocki , khilman@baylibre.com, ulf.hansson@linaro.org Cc: linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Vincent Guittot , sboyd@codeaurora.org, nm@ti.com, robh+dt@kernel.org, lina.iyer@linaro.org, rnayak@codeaurora.org, Viresh Kumar Subject: [PATCH V2 0/6] PM / Domains: Implement domain performance states Date: Thu, 9 Feb 2017 09:11:46 +0530 Message-Id: X-Mailer: git-send-email 2.7.1.410.g6faf27b Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, An earlier series[1] tried to implement bindings for PM domain performance states. Rob Herring suggested that we can actually merge the supporting code first instead of bindings, as that will make things easier to understand for all. The bindings can be decided and merged later. The bindings [1] aren't discarded yet and this series is based on a version of those only. The bindings are only used by the last patch, which should not be applied and is only sent for completeness. IOW, this series doesn't have any dependencies and can be merged straight away without waiting for the DT bindings. A brief summary of the problem this series is trying to solve: Some platforms have the capability to configure the performance state of their Power Domains. The performance levels are represented by positive integer values, a lower value represents lower performance state. We decided earlier that we should extend Power Domain framework to support active state power management as well. The power-domains until now were only concentrating on the idle state management of the device and this needs to change in order to reuse the infrastructure of power domains for active state management. The first 5 patches update the PM domain and QoS frameworks to support that and the last one presents the front end interface to it. The V1 series was tested by hacking the OPP core a bit but this one is also tested by Rajendra Nayak (Qcom) on *real* Qualcomm hardware for which this work is done. And most of his feedback is incorporated here. V1->V2: - Based over latest pm/linux-next - It is mostly a resend of what is sent earlier as this series hasn't got any reviews so far and Rafael suggested that its better I resend it. - Only the 4/6 patch got an update, which was shared earlier as reply to V1 as well. It has got several fixes for taking care of power domain hierarchy, etc. -- viresh [1] https://marc.info/?l=linux-kernel&m=148154020127722&w=2 Viresh Kumar (6): PM / QOS: Add default case to the switch PM / QOS: Pass request type to dev_pm_qos_{add|remove}_notifier() PM / QOS: Add 'performance' request PM / domain: Register for PM QOS performance notifier PM / domain: Save/restore performance state at runtime suspend/resume PM / OPP: Add support to parse domain-performance-state Documentation/power/pm_qos_interface.txt | 11 ++- drivers/base/power/domain.c | 125 +++++++++++++++++++++++++++++-- drivers/base/power/opp/core.c | 75 +++++++++++++++++++ drivers/base/power/opp/debugfs.c | 4 + drivers/base/power/opp/of.c | 44 +++++++++++ drivers/base/power/opp/opp.h | 12 +++ drivers/base/power/qos.c | 74 ++++++++++++++++-- include/linux/pm_domain.h | 6 ++ include/linux/pm_qos.h | 16 +++- 9 files changed, 345 insertions(+), 22 deletions(-) -- 2.7.1.410.g6faf27b