From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760000AbcIAC35 (ORCPT ); Wed, 31 Aug 2016 22:29:57 -0400 Received: from regular1.263xmail.com ([211.150.99.132]:38291 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754439AbcIAC3z (ORCPT ); Wed, 31 Aug 2016 22:29:55 -0400 X-263anti-spam: KSV:0; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-ADDR-CHECKED: 0 X-RL-SENDER: xzy.xu@rock-chips.com X-FST-TO: zhengsq@rock-chips.com X-SENDER-IP: 103.29.142.67 X-LOGIN-NAME: xzy.xu@rock-chips.com X-UNIQUE-TAG: <3a75a7ae1bb0160bd198410a9daf1f36> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [PATCH 2/2] arm64: dts: rockchip: add eMMC's power domain support for rk3399 To: Doug Anderson , Shawn Lin References: <20160827134103.28160-1-xzy.xu@rock-chips.com> <20160827134103.28160-3-xzy.xu@rock-chips.com> <2ab8ab94-fa4d-2cd6-5805-a92ac5f9697e@rock-chips.com> <57C3A30B.5080707@rock-chips.com> Cc: Mark Rutland , "devicetree@vger.kernel.org" , Ulf Hansson , =?UTF-8?Q?Heiko_St=c3=bcbner?= , Xing Zheng , "open list:ARM/Rockchip SoC..." , Frank Wang , Catalin Marinas , Elaine Zhang , Will Deacon , "linux-kernel@vger.kernel.org" , Brian Norris , Masahiro Yamada , Rob Herring , David Wu , Caesar Wang , Jianqun Xu , "linux-arm-kernel@lists.infradead.org" , Shunqian Zheng From: Ziyuan Xu Message-ID: <77f5cff1-80a2-76b3-40e9-f77caced2257@rock-chips.com> Date: Thu, 1 Sep 2016 10:29:32 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 2016年09月01日 01:42, Doug Anderson wrote: > Hi, > > On Sun, Aug 28, 2016 at 8:25 PM, Shawn Lin wrote: >> On 2016/8/29 10:50, Elaine Zhang wrote: >>> >>> >>> On 08/27/2016 11:05 PM, Shawn Lin wrote: >>>> On 2016/8/27 21:41, Ziyuan Xu wrote: >>>>> Control power domain for eMMC via genpd to reduce power consumption. >>>>> >>>>> Signed-off-by: Elaine Zhang >>>>> Signed-off-by: Ziyuan Xu >>>>> >>>> It looks nice to me. But this should be merged after applying that[0] >>>> as your patch will break bind/unbind test for sdhci-of-arasan on rk3399 >>>> without it[0]. Moreover, Elaine should make sure that upstreamed >>>> rockchip power domain stuff would not off pd for emmc, *otherwise*, I >>>> should update my patch to make sure we update clkmul every time when >>>> doing suspend 2 resume.. >>>> >>>> >>> Forgot to say: >>> If use pd, Although there is no call to power odd the pd_emmc, >>> it will be power off when the system doing suspend 2 resume. >>> (Because the system call >>> __device_suspend_noirq->pm_genpd_suspend_noirq->rockchip_pd_power_off) >> >> Thanks for explaining this. I checked the code a bit and actually I >> don't need to updata clkmul since it was recorded, although it is still >> reset to 0x10 reading from syscon. So for that, we can now pick it >> up without waiting for my sdhci-of-arasan's update. >> >> Reviewed-by: Shawn Lin > This is fine to pick up _only_ if you don't care about suspend/resume. > If you care about suspend/resume then someone needs to first write a > patch that will re-init all "corecfg" values after power is turned on. Do you mean corecfg_clockmultiplier and corecfg_baseclkfreq, if yes, we don't need to strore/re-init it after resume. corecfg_clockmultiplier is only used to fetch host->clk_mul, and host->clk_mul has been a fixed value at run-time, unless driver unbind. The same as corecfg_clockmultiplier, corecfg_baseclkfreq is used to check the xin_clk at probe time, we don't reference it at run-time. BTW, I have tested suspend/resume on rk3399 prior to this sumbit, eMMC works fine. > > Technically I think this should probably use "pm runtime" and not > normal suspend/resume hooks. Any time we end up pm runtime suspended > then I think our power will go off (because of genpd?) and we need to > restore values. I understand your consideration. BUT genpd is in charge of on/off pd if the corresponding device node has "power-domains" property. RPM is unnecessary for this situation, we will not use autosuspend, right? @shawn, what's your opinion? > > I'm not sure if this should be done in a generic way where we try to > save and restore all values in the "sdhci_arasan_soc_ctl_map" or if we > should try to be smarter... > > > -Doug > > _______________________________________________ > Linux-rockchip mailing list > Linux-rockchip@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-rockchip > > >