mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Amit Daniel Kachhap <amit.daniel@samsung.com>
To: linux-pm@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
	khilman@linaro.org, rjw@rjwysocki.net, len.brown@intel.com,
	ulf.hansson@linaro.org, tomasz.figa@gmail.com,
	kgene.kim@samsung.com, s.nawrocki@samsung.com,
	thomas.ab@samsung.com, pankaj.dubey@samsung.com,
	m.szyprowski@samsung.com, geert+renesas@glider.be,
	Amit Daniel Kachhap <amit.daniel@samsung.com>
Subject: [PATCH RFC v4 0/3] PM / Runtime: Feature to power manage slave devices
Date: Mon, 09 Feb 2015 16:32:03 +0530	[thread overview]
Message-ID: <1423479726-23140-1-git-send-email-amit.daniel@samsung.com> (raw)

This patch is somewhat similar to V3 version but uses pm runtime framework to
register/fetch the information about the device which may be slave or master.
Since the power domain has the necessary information about devices so it invokes
the save/restore runtime callbacks for the slave devices.

There was objection raised by Kevin and others that V3 is hacky in nature so this
revision fixes it by keeping the slave device information in pm runtime framework.

The model works like,
    DEV1 (Attaches itself with PD but no support of  pm_runtime_get and
     /	pm_runtime_put. Registers itself as pm runtime slave device.
    /	Its local runtime_suspend/resume is invoked by PD.
   /	
  /
PD -- DEV2 (Implements complete PM runtime and calls pm_runtime_get and
  \	pm_runtime_put. This in turn invokes PD On/Off)
   \
    DEV3 (Similar to DEV1)

This work is continuation of earlier work,

In V3: Used the existing API pm_genpd_dev_need_restore to add a feature to force
	devices to perform restore/save during every power domain on/off
	operation. This API is now removed.
	Link (https://lkml.org/lkml/2014/12/13/74

In V2: Completely removed notfiers and add support for huge clock list to be
	suspended and restored. There was some issue in this as some clocks are
	not exposed and are just initialised by bootloaders. This approach
	required all of them to be exposed which is cumbersome. Also some
	clock API's set_parent are disabling the original parent clocks
	which is not required.
	Link (https://lkml.org/lkml/2014/11/24/290)

In V1: Implemented PM Domain notfier such as PD_ON_PRE, PD_ON_POST
	PD_OFF_PRE and PD_OFF_POST. This was not supported and other
	options suggested. link (http://www.spinics.net/lists/linux-samsung-soc/msg38442.html)

This work may also assist exynos iommu pm runtime posted earlier by Marek
http://lists.linaro.org/pipermail/linaro-mm-sig/2014-August/004099.html

Amit Daniel Kachhap (3):
  PM / Runtime: Add an API pm_runtime_set_slave
  PM / Domains: Save restore slave pm runtime devices
  clk: samsung: Add PM runtime support for clocks.

 drivers/base/power/domain.c  | 28 +++++++++++++
 drivers/base/power/runtime.c | 18 +++++++++
 drivers/clk/samsung/clk.c    | 93 ++++++++++++++++++++++++++++++++++++++++++++
 drivers/clk/samsung/clk.h    | 11 ++++++
 include/linux/pm.h           |  1 +
 include/linux/pm_runtime.h   |  2 +
 6 files changed, 153 insertions(+)

-- 
2.2.0


             reply	other threads:[~2015-02-09 10:58 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-09 11:02 Amit Daniel Kachhap [this message]
2015-02-09 11:02 ` [PATCH RFC v4 1/3] PM / Runtime: Add an API pm_runtime_set_slave Amit Daniel Kachhap
2015-02-09 15:58   ` Alan Stern
2015-02-12  9:42     ` amit daniel kachhap
2015-02-12 15:13       ` Alan Stern
2015-02-09 11:02 ` [PATCH RFC v4 2/3] PM / Domains: Save restore slave pm runtime devices Amit Daniel Kachhap
2015-02-09 11:02 ` [PATCH RFC v4 3/3] clk: samsung: Add PM runtime support for clocks Amit Daniel Kachhap

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1423479726-23140-1-git-send-email-amit.daniel@samsung.com \
    --to=amit.daniel@samsung.com \
    --cc=geert+renesas@glider.be \
    --cc=kgene.kim@samsung.com \
    --cc=khilman@linaro.org \
    --cc=len.brown@intel.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=pankaj.dubey@samsung.com \
    --cc=rjw@rjwysocki.net \
    --cc=s.nawrocki@samsung.com \
    --cc=thomas.ab@samsung.com \
    --cc=tomasz.figa@gmail.com \
    --cc=ulf.hansson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®