From: Vince Hsu <vinceh@nvidia.com> To: Thierry Reding <thierry.reding@gmail.com> Cc: Peter De Schrijver <pdeschrijver@nvidia.com>, Lucas Stach <dev@lynxeye.de>, swarren@wwwdotorg.org, gnurou@gmail.com, bskeggs@redhat.com, martin.peres@free.fr, seven@nimrod-online.com, samuel.pitoiset@gmail.com, nouveau@lists.freedesktop.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/11] ARM: tegra: add function to control the GPU rail clamp Date: Thu, 8 Jan 2015 12:25:18 +0800 [thread overview] Message-ID: <54AE06AE.8080603@nvidia.com> (raw) In-Reply-To: <20150107144805.GF1621@ulmo> On 01/07/2015 10:48 PM, Thierry Reding wrote: > * PGP Signed by an unknown key > > On Wed, Jan 07, 2015 at 10:28:29PM +0800, Vince Hsu wrote: >> On 04:08:52PM Jan 07, Peter De Schrijver wrote: >>> On Wed, Jan 07, 2015 at 02:27:10PM +0100, Thierry Reding wrote: >>> >>>>> Yeah. I plan to have the information of all the clock client of the >>>>> partitions and >>>>> the memory clients be defined statically in c source, e.g. pmc-tegra124.c. >>>>> All modules can declare which domain they belong to in DT. One domain can >>>>> be really power gated only when no module is awake. Note the clock clients >>>>> of >>>>> one domain might not equal to the clocks of the module. The reset is not >>>>> either. >>>>> So I don't get the clock and reset from module. How do you think? >>>> This whole situation is quite messy. The above sequence basically means >>>> that drivers can't reset hardware modules because otherwise they might >>>> race with the power domain code. It also means that we can't powergate >>> The powerdomain framework won't call any powergating method as long as a >>> module in the domain is still active. So as long as drivers don't try to >>> reset the hw without having done a pm_runtime_get(), we shouldn't have such >>> a race? >> Agree. And as long as the driver has the correct reset procedure, that should >> be fine to occur between power ungating and gating sequences. >> >>>> modules on demand because they might be in the same power domain as one >>>> other module that's still busy. >>>> >>> The powerdomain framework keeps track of which modules are active (by hooking >>> into runtime pm) and won't try to shutdown a domain unless all modules are >>> inactive. >> Yeah. By the way, that means we should start supporting runtime pm for all >> the modules to use generic power domain. > Indeed, that'll be a prerequisite before we can merge power domain > support. I do have a couple of local patches that add very rudimentary > runtime PM for various drivers. For starters we could probably just do > the > > pm_runtime_enable(...); > pm_runtime_get_sync(...) > > in the ->probe() and > > pm_runtime_put_sync(...); > pm_runtime_disable(...); > > in the ->remove() callbacks for those drivers. That's by no means > optimal but should get us pretty close to what we do now and still > support the generic power domains. Cool. Could you send me the patches? Thanks, Vince > > Thierry > > * Unknown Key > * 0x7F3EB3A1
WARNING: multiple messages have this Message-ID (diff)
From: Vince Hsu <vinceh@nvidia.com> To: Thierry Reding <thierry.reding@gmail.com> Cc: Peter De Schrijver <pdeschrijver@nvidia.com>, Lucas Stach <dev@lynxeye.de>, <swarren@wwwdotorg.org>, <gnurou@gmail.com>, <bskeggs@redhat.com>, <martin.peres@free.fr>, <seven@nimrod-online.com>, <samuel.pitoiset@gmail.com>, <nouveau@lists.freedesktop.org>, <linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org> Subject: Re: [PATCH 1/11] ARM: tegra: add function to control the GPU rail clamp Date: Thu, 8 Jan 2015 12:25:18 +0800 [thread overview] Message-ID: <54AE06AE.8080603@nvidia.com> (raw) In-Reply-To: <20150107144805.GF1621@ulmo> On 01/07/2015 10:48 PM, Thierry Reding wrote: > * PGP Signed by an unknown key > > On Wed, Jan 07, 2015 at 10:28:29PM +0800, Vince Hsu wrote: >> On 04:08:52PM Jan 07, Peter De Schrijver wrote: >>> On Wed, Jan 07, 2015 at 02:27:10PM +0100, Thierry Reding wrote: >>> >>>>> Yeah. I plan to have the information of all the clock client of the >>>>> partitions and >>>>> the memory clients be defined statically in c source, e.g. pmc-tegra124.c. >>>>> All modules can declare which domain they belong to in DT. One domain can >>>>> be really power gated only when no module is awake. Note the clock clients >>>>> of >>>>> one domain might not equal to the clocks of the module. The reset is not >>>>> either. >>>>> So I don't get the clock and reset from module. How do you think? >>>> This whole situation is quite messy. The above sequence basically means >>>> that drivers can't reset hardware modules because otherwise they might >>>> race with the power domain code. It also means that we can't powergate >>> The powerdomain framework won't call any powergating method as long as a >>> module in the domain is still active. So as long as drivers don't try to >>> reset the hw without having done a pm_runtime_get(), we shouldn't have such >>> a race? >> Agree. And as long as the driver has the correct reset procedure, that should >> be fine to occur between power ungating and gating sequences. >> >>>> modules on demand because they might be in the same power domain as one >>>> other module that's still busy. >>>> >>> The powerdomain framework keeps track of which modules are active (by hooking >>> into runtime pm) and won't try to shutdown a domain unless all modules are >>> inactive. >> Yeah. By the way, that means we should start supporting runtime pm for all >> the modules to use generic power domain. > Indeed, that'll be a prerequisite before we can merge power domain > support. I do have a couple of local patches that add very rudimentary > runtime PM for various drivers. For starters we could probably just do > the > > pm_runtime_enable(...); > pm_runtime_get_sync(...) > > in the ->probe() and > > pm_runtime_put_sync(...); > pm_runtime_disable(...); > > in the ->remove() callbacks for those drivers. That's by no means > optimal but should get us pretty close to what we do now and still > support the generic power domains. Cool. Could you send me the patches? Thanks, Vince > > Thierry > > * Unknown Key > * 0x7F3EB3A1
next prev parent reply other threads:[~2015-01-08 4:25 UTC|newest] Thread overview: 139+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-12-23 10:39 [PATCH 0/11] Add suspend/resume support for GK20A Vince Hsu 2014-12-23 10:39 ` Vince Hsu [not found] ` <1419331204-26679-1-git-send-email-vinceh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2014-12-23 10:39 ` [PATCH 1/11] ARM: tegra: add function to control the GPU rail clamp Vince Hsu 2014-12-23 10:39 ` Vince Hsu [not found] ` <1419331204-26679-2-git-send-email-vinceh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2014-12-24 13:16 ` Lucas Stach 2014-12-24 13:16 ` Lucas Stach [not found] ` <1419426990.2179.7.camel-8ppwABl0HbeELgA04lAiVw@public.gmane.org> 2014-12-25 2:28 ` Vince Hsu 2014-12-25 2:28 ` Vince Hsu [not found] ` <549B7638.2010405-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2014-12-25 20:34 ` Lucas Stach 2014-12-25 20:34 ` Lucas Stach [not found] ` <1419539683.2165.6.camel-8ppwABl0HbeELgA04lAiVw@public.gmane.org> 2014-12-29 2:49 ` Vince Hsu 2014-12-29 2:49 ` Vince Hsu [not found] ` <54A0C148.6030400-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2014-12-30 16:42 ` Lucas Stach 2014-12-30 16:42 ` Lucas Stach [not found] ` <1419957752.4082.2.camel-8ppwABl0HbeELgA04lAiVw@public.gmane.org> 2015-01-05 6:55 ` Vince Hsu 2015-01-05 6:55 ` Vince Hsu 2015-01-05 15:09 ` Thierry Reding 2015-01-05 15:09 ` Thierry Reding [not found] ` <20150105150932.GG12010-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org> 2015-01-06 2:11 ` Vince Hsu 2015-01-06 2:11 ` Vince Hsu [not found] ` <54AB445D.7010303-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2015-01-06 11:15 ` Thierry Reding 2015-01-06 11:15 ` Thierry Reding [not found] ` <20150106111538.GB31830-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org> 2015-01-06 12:03 ` Vince Hsu 2015-01-06 12:03 ` Vince Hsu 2015-01-06 13:29 ` Thierry Reding 2015-01-06 13:51 ` Vince Hsu 2015-01-06 13:51 ` Vince Hsu [not found] ` <20150106135110.GA18076-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2015-01-06 14:23 ` Thierry Reding 2015-01-06 14:23 ` Thierry Reding 2015-01-07 10:19 ` Peter De Schrijver 2015-01-07 10:19 ` Peter De Schrijver [not found] ` <20150107101900.GP10073-Rysk9IDjsxmJz7etNGeUX8VPkgjIgRvpAL8bYrjMMd8@public.gmane.org> 2015-01-07 10:49 ` Vince Hsu 2015-01-07 10:49 ` Vince Hsu 2015-01-07 13:27 ` Thierry Reding 2015-01-07 14:08 ` Peter De Schrijver 2015-01-07 14:08 ` Peter De Schrijver 2015-01-07 14:28 ` Vince Hsu 2015-01-07 14:28 ` Vince Hsu [not found] ` <20150107142828.GB7392-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2015-01-07 14:48 ` Thierry Reding 2015-01-07 14:48 ` Thierry Reding 2015-01-08 4:25 ` Vince Hsu [this message] 2015-01-08 4:25 ` Vince Hsu [not found] ` <54AE06AE.8080603-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2015-01-08 8:03 ` Thierry Reding 2015-01-08 8:03 ` Thierry Reding 2015-01-07 14:12 ` Peter De Schrijver 2015-01-07 14:12 ` Peter De Schrijver 2015-01-07 14:19 ` Vince Hsu 2015-01-07 14:19 ` Vince Hsu 2015-01-07 15:12 ` Thierry Reding 2015-01-08 4:23 ` Vince Hsu 2015-01-08 4:23 ` Vince Hsu 2015-01-08 9:32 ` Peter De Schrijver 2015-01-08 9:32 ` Peter De Schrijver [not found] ` <20150108093205.GV10073-Rysk9IDjsxmJz7etNGeUX8VPkgjIgRvpAL8bYrjMMd8@public.gmane.org> 2015-01-08 11:41 ` Thierry Reding 2015-01-08 11:41 ` Thierry Reding [not found] ` <20150108114153.GL1987-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org> 2015-01-08 12:41 ` Peter De Schrijver 2015-01-08 12:41 ` Peter De Schrijver 2015-01-08 9:39 ` Peter De Schrijver 2015-01-08 9:39 ` Peter De Schrijver [not found] ` <20150108093957.GW10073-Rysk9IDjsxmJz7etNGeUX8VPkgjIgRvpAL8bYrjMMd8@public.gmane.org> 2015-01-08 11:44 ` Thierry Reding 2015-01-08 11:44 ` Thierry Reding 2014-12-24 13:52 ` Dmitry Osipenko 2014-12-24 13:52 ` Dmitry Osipenko [not found] ` <549AC511.5040507-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-12-25 2:05 ` Vince Hsu 2014-12-25 2:05 ` Vince Hsu 2014-12-23 10:39 ` [PATCH 2/11] memory: tegra: add mc flush support Vince Hsu 2014-12-23 10:39 ` Vince Hsu 2015-01-06 14:18 ` Thierry Reding [not found] ` <20150106141821.GJ31830-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org> 2015-01-07 10:08 ` Peter De Schrijver 2015-01-07 10:08 ` Peter De Schrijver [not found] ` <20150107100804.GO10073-Rysk9IDjsxmJz7etNGeUX8VPkgjIgRvpAL8bYrjMMd8@public.gmane.org> 2015-01-07 13:34 ` Thierry Reding 2015-01-07 13:34 ` Thierry Reding 2014-12-23 10:39 ` [PATCH 3/11] memory: tegra: add flush operation for Tegra124 memory clients Vince Hsu 2014-12-23 10:39 ` Vince Hsu 2015-01-06 14:30 ` Thierry Reding 2015-01-06 15:07 ` Vince Hsu 2015-01-06 15:07 ` Vince Hsu 2015-01-06 15:27 ` Thierry Reding [not found] ` <20150106152750.GR31830-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org> 2015-01-06 15:53 ` Vince Hsu 2015-01-06 15:53 ` Vince Hsu 2014-12-23 10:39 ` [PATCH 4/11] ARM: tegra: add mc node for Tegra124 GPU Vince Hsu 2014-12-23 10:39 ` Vince Hsu 2014-12-23 10:39 ` [PATCH nouveau 05/11] platform: switch to the new gpu rail clamping function Vince Hsu 2014-12-23 10:39 ` Vince Hsu 2014-12-23 10:39 ` [PATCH nouveau 06/11] platform: complete the power up/down sequence Vince Hsu 2014-12-23 10:39 ` Vince Hsu [not found] ` <1419331204-26679-7-git-send-email-vinceh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2014-12-24 13:23 ` Lucas Stach 2014-12-24 13:23 ` Lucas Stach [not found] ` <1419427385.2179.13.camel-8ppwABl0HbeELgA04lAiVw@public.gmane.org> 2014-12-25 2:42 ` Vince Hsu 2014-12-25 2:42 ` Vince Hsu [not found] ` <549B79B2.6010301-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2015-01-05 15:25 ` Thierry Reding 2015-01-05 15:25 ` Thierry Reding [not found] ` <20150105152552.GH12010-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org> 2015-01-06 9:34 ` Vince Hsu 2015-01-06 9:34 ` Vince Hsu 2015-01-06 11:36 ` Thierry Reding 2015-01-06 12:13 ` Vince Hsu 2015-01-06 12:13 ` Vince Hsu [not found] ` <54ABD14D.30003-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2015-01-06 13:55 ` Thierry Reding 2015-01-06 13:55 ` Thierry Reding 2015-01-06 14:19 ` Vince Hsu 2015-01-06 14:19 ` Vince Hsu [not found] ` <20150106141948.GA18598-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2015-01-06 14:24 ` Thierry Reding 2015-01-06 14:24 ` Thierry Reding 2014-12-23 10:40 ` [PATCH nouveau 07/11] instmem: make nv50_instmem_priv public Vince Hsu 2014-12-23 10:40 ` Vince Hsu 2014-12-23 10:40 ` [PATCH nouveau 08/11] instmem: add dummy support for GK20A Vince Hsu 2014-12-23 10:40 ` Vince Hsu [not found] ` <1419331204-26679-9-git-send-email-vinceh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2014-12-23 16:39 ` Ilia Mirkin 2014-12-23 16:39 ` [Nouveau] " Ilia Mirkin [not found] ` <CAKb7UvgCizkaK2aZeWp=mgH34Ur3hi0hSFghopkpkkBeuqzsoQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2014-12-24 2:44 ` Vince Hsu 2014-12-24 2:44 ` [Nouveau] " Vince Hsu 2014-12-23 10:40 ` [PATCH nouveau 09/11] drm: export some variable and functions to resue the PM functions Vince Hsu 2014-12-23 10:40 ` Vince Hsu [not found] ` <1419331204-26679-10-git-send-email-vinceh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2014-12-30 2:34 ` Emil Velikov 2014-12-30 2:34 ` [Nouveau] " Emil Velikov [not found] ` <54A20F4D.4040100-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2014-12-30 3:18 ` Vince Hsu 2014-12-30 3:18 ` [Nouveau] " Vince Hsu [not found] ` <54A2198A.4000707-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2015-01-05 15:32 ` Thierry Reding 2015-01-05 15:32 ` [Nouveau] " Thierry Reding [not found] ` <20150105153252.GI12010-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org> 2015-01-05 19:50 ` Alexandre Courbot 2015-01-05 19:50 ` [Nouveau] " Alexandre Courbot [not found] ` <CAAVeFuK-SgUbtHADX4-pXN5_ayzvEd+1KxJOBcRe2tmDfHaLEA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2015-01-06 9:36 ` Vince Hsu 2015-01-06 9:36 ` [Nouveau] " Vince Hsu 2015-01-06 11:49 ` Thierry Reding 2015-01-06 11:49 ` [Nouveau] " Thierry Reding 2015-01-06 12:27 ` Vince Hsu 2015-01-06 12:27 ` Vince Hsu [not found] ` <54ABD49A.6080501-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> 2015-01-06 14:37 ` Thierry Reding 2015-01-06 14:37 ` [Nouveau] " Thierry Reding 2015-01-06 14:44 ` Ilia Mirkin [not found] ` <CAKb7UvgomyQkiwfGTdyuU-muE-_pPxOSmeXh9uQ6-ri0HHxLrQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2015-01-06 14:50 ` Thierry Reding 2015-01-06 14:50 ` Thierry Reding [not found] ` <20150106145054.GO31830-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org> 2015-01-06 15:03 ` Ilia Mirkin 2015-01-06 15:03 ` [Nouveau] " Ilia Mirkin 2015-01-06 15:35 ` Thierry Reding 2014-12-23 10:40 ` [PATCH nouveau 10/11] platform: add suspend/resume support Vince Hsu 2014-12-23 10:40 ` Vince Hsu 2014-12-23 10:40 ` [PATCH nouveau 11/11] platform: add PM runtime " Vince Hsu 2014-12-23 10:40 ` Vince Hsu
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=54AE06AE.8080603@nvidia.com \ --to=vinceh@nvidia.com \ --cc=bskeggs@redhat.com \ --cc=dev@lynxeye.de \ --cc=gnurou@gmail.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-tegra@vger.kernel.org \ --cc=martin.peres@free.fr \ --cc=nouveau@lists.freedesktop.org \ --cc=pdeschrijver@nvidia.com \ --cc=samuel.pitoiset@gmail.com \ --cc=seven@nimrod-online.com \ --cc=swarren@wwwdotorg.org \ --cc=thierry.reding@gmail.com \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.