Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1452251 > unrolled thread
| Started by | Shawn Lin <shawn.lin@rock-chips.com> |
|---|---|
| First post | 2016-07-29 06:20 +0200 |
| Last post | 2016-08-01 05:30 +0200 |
| Articles | 6 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH 0/5] Add power domain support for dw_mmc/sdhci-of-arasan Shawn Lin <shawn.lin@rock-chips.com> - 2016-07-29 06:20 +0200
[PATCH 2/5] Documentation: mmc: sdhci-of-arasan: add power domain description Shawn Lin <shawn.lin@rock-chips.com> - 2016-07-29 06:20 +0200
Re: [PATCH 2/5] Documentation: mmc: sdhci-of-arasan: add power domain description Rob Herring <robh@kernel.org> - 2016-07-29 23:50 +0200
[PATCH 5/5] mmc: sdhci-of-arasan: add power domain support Shawn Lin <shawn.lin@rock-chips.com> - 2016-07-29 06:30 +0200
Re: [PATCH 0/5] Add power domain support for dw_mmc/sdhci-of-arasan Ulf Hansson <ulf.hansson@linaro.org> - 2016-07-29 11:30 +0200
Re: [PATCH 0/5] Add power domain support for dw_mmc/sdhci-of-arasan Shawn Lin <shawn.lin@rock-chips.com> - 2016-08-01 05:30 +0200
| From | Shawn Lin <shawn.lin@rock-chips.com> |
|---|---|
| Date | 2016-07-29 06:20 +0200 |
| Subject | [PATCH 0/5] Add power domain support for dw_mmc/sdhci-of-arasan |
| Message-ID | <s07rb-83j-7@gated-at.bofh.it> |
We need to enable the power domain manually while probing as the
power policy will turn off the pd which is not referenced. Otherwise
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://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
Thanks.
Shawn Lin (5):
Documentation: mmc: synopsys-dw-mshc: add power domain description
Documentation: mmc: sdhci-of-arasan: add power domain description
arm64: dts: rockchip: Provide power-domains for sd/sdio/emmc
controllers
mmc: dw_mmc: add power domain support
mmc: sdhci-of-arasan: add power domain support
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(+)
--
2.3.7
[toc] | [next] | [standalone]
| From | Shawn Lin <shawn.lin@rock-chips.com> |
|---|---|
| Date | 2016-07-29 06:20 +0200 |
| Subject | [PATCH 2/5] Documentation: mmc: sdhci-of-arasan: add power domain description |
| Message-ID | <s07rc-83j-25@gated-at.bofh.it> |
| In reply to | #1452251 |
This patch adds power domain as a optional property for sdhci-of-arasan.
We should handle the power domain if available as it's in off
state due to the policy of power-saving after booting up. Otherwise
controller can not be accessed.
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
---
Documentation/devicetree/bindings/mmc/arasan,sdhci.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/mmc/arasan,sdhci.txt b/Documentation/devicetree/bindings/mmc/arasan,sdhci.txt
index 3404afa..b5fb563 100644
--- a/Documentation/devicetree/bindings/mmc/arasan,sdhci.txt
+++ b/Documentation/devicetree/bindings/mmc/arasan,sdhci.txt
@@ -36,6 +36,7 @@ Optional Properties:
- #clock-cells: If specified this should be the value <0>. With this property
in place we will export a clock representing the Card Clock. This clock
is expected to be consumed by our PHY. You must also specify
+ - power-domains: Must contain a reference to the PM domain, if available.
Example:
sdhci@e0100000 {
--
2.3.7
[toc] | [prev] | [next] | [standalone]
| From | Rob Herring <robh@kernel.org> |
|---|---|
| Date | 2016-07-29 23:50 +0200 |
| Subject | Re: [PATCH 2/5] Documentation: mmc: sdhci-of-arasan: add power domain description |
| Message-ID | <s0nPk-1RL-9@gated-at.bofh.it> |
| In reply to | #1452252 |
On Fri, Jul 29, 2016 at 12:15:00PM +0800, Shawn Lin wrote: > This patch adds power domain as a optional property for sdhci-of-arasan. > We should handle the power domain if available as it's in off > state due to the policy of power-saving after booting up. Otherwise > controller can not be accessed. > > Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> > --- > > Documentation/devicetree/bindings/mmc/arasan,sdhci.txt | 1 + > 1 file changed, 1 insertion(+) Acked-by: Rob Herring <robh@kernel.org>
[toc] | [prev] | [next] | [standalone]
| From | Shawn Lin <shawn.lin@rock-chips.com> |
|---|---|
| Date | 2016-07-29 06:30 +0200 |
| Subject | [PATCH 5/5] mmc: sdhci-of-arasan: add power domain support |
| Message-ID | <s07AR-89U-11@gated-at.bofh.it> |
| In reply to | #1452251 |
We should enable power domain once provided. Otherwise we take risk of bus err as it's maybe in off state before probing. Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> --- drivers/mmc/host/sdhci-of-arasan.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/mmc/host/sdhci-of-arasan.c b/drivers/mmc/host/sdhci-of-arasan.c index e0f193f..e507e94 100644 --- a/drivers/mmc/host/sdhci-of-arasan.c +++ b/drivers/mmc/host/sdhci-of-arasan.c @@ -25,6 +25,8 @@ #include <linux/of_device.h> #include <linux/phy/phy.h> #include <linux/regmap.h> +#include <linux/pm_runtime.h> +#include <linux/pm_opp.h> #include "sdhci-pltfm.h" #define SDHCI_ARASAN_CLK_CTRL_OFFSET 0x2c @@ -515,6 +517,9 @@ static int sdhci_arasan_probe(struct platform_device *pdev) goto clk_dis_ahb; } + pm_runtime_enable(host->dev); + pm_runtime_get_sync(host->dev); + sdhci_get_of_property(pdev); pltfm_host->clk = clk_xin; @@ -577,6 +582,8 @@ clk_dis_ahb: clk_disable_unprepare(sdhci_arasan->clk_ahb); err_pltfm_free: sdhci_pltfm_free(pdev); + pm_runtime_put(host->dev); + pm_runtime_disable(host->dev); return ret; } @@ -599,6 +606,9 @@ static int sdhci_arasan_remove(struct platform_device *pdev) clk_disable_unprepare(clk_ahb); + pm_runtime_put(host->dev); + pm_runtime_disable(host->dev); + return ret; } -- 2.3.7
[toc] | [prev] | [next] | [standalone]
| From | Ulf Hansson <ulf.hansson@linaro.org> |
|---|---|
| Date | 2016-07-29 11:30 +0200 |
| Message-ID | <s0chb-2Lh-21@gated-at.bofh.it> |
| In reply to | #1452251 |
On 29 July 2016 at 06:14, Shawn Lin <shawn.lin@rock-chips.com> 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. 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://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git > > Thanks. > > > > 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 > controllers > 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 do. > > 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(+) > > -- > 2.3.7 > > Kind regards Uffe
[toc] | [prev] | [next] | [standalone]
| From | Shawn Lin <shawn.lin@rock-chips.com> |
|---|---|
| Date | 2016-08-01 05:30 +0200 |
| Message-ID | <s1c5s-N2-11@gated-at.bofh.it> |
| In reply to | #1452350 |
在 2016/7/29 17:21, Ulf Hansson 写道: > On 29 July 2016 at 06:14, Shawn Lin <shawn.lin@rock-chips.com> 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)? yes. > 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 great.:) > > 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. sure. > >> 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://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git >> >> Thanks. >> >> >> >> 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 >> controllers >> 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 > do. > >> >> 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(+) >> >> -- >> 2.3.7 >> >> > > Kind regards > Uffe > > > -- Best Regards Shawn Lin
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web