Re: [PATCH 0/5] Add power domain support for dw_mmc/sdhci-of-arasan

From: Shawn Lin
Date: Sun Jul 31 2016 - 23:24:23 EST

å 2016/7/29 17:21, Ulf Hansson åé:
On 29 July 2016 at 06:14, Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> wrote:

We need to enable the power domain manually while probing as the
power policy will turn off the pd which is not referenced. Otherwise

I assume you are going to use the generic PM domain (genpd)?


If so, this statement isn't entirely correct.

As a matter of fact, the PM domain will be "powered on" once you have
registered your PM domain with genpd and when the device (dw_mmc etc)
gets attached to the domain. The attach occurs when the platform bus'
->probe() function get invoked for the device.

Genpd monitors each device within the domain. To allow it to "power
off", all devices in same domain needs to be runtime PM enabled and
runtime PM suspended.

I will check this with my PM guys as I have limited knowledge about
PM stuff. Thanks for these great info.

So, if my real intention is to just enable genpd to make sure it will
be in "power on " stat, I just need to update my DTS/DTB. That would be

Due to this, you should be able to deploy genpd support+an updated
DTB, without first having to deploying runtime PM support in the
related drivers. In other words, you should be able to work on these
things almost independently of each other.


we may take risk of breaking kernel once Feng Xiao land the rockchip pd
relate stuff. So, let's do it in advance.

This pachset is based on the latest linux-next[1] which should contain
the next branch of linux-mmc and dt stuff. It's ideal to pack these all
into Ulf' tree with Heiko's ack for dts, Rob's ack for Doc and Jaehoon's
ack for dw_mmc. But it's okay to be merged seperately.

[1] git://


Shawn Lin (5):
Documentation: mmc: synopsys-dw-mshc: add power domain description
Documentation: mmc: sdhci-of-arasan: add power domain description

To me this isn't necessary to describe for each device. I think
Documentation/devicetree/bindings/power/power_domain.txt describes all
that is needed.

arm64: dts: rockchip: Provide power-domains for sd/sdio/emmc
mmc: dw_mmc: add power domain support
mmc: sdhci-of-arasan: add power domain support

I would rephrase these commit message headers, to something like
"Deploy runtime PM support", as that is actually what you intend to

Documentation/devicetree/bindings/mmc/arasan,sdhci.txt | 1 +
Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt | 2 ++
arch/arm64/boot/dts/rockchip/rk3399.dtsi | 3 +++
drivers/mmc/host/dw_mmc.c | 11 +++++++++++
drivers/mmc/host/sdhci-of-arasan.c | 10 ++++++++++
5 files changed, 27 insertions(+)


Kind regards

Best Regards
Shawn Lin