From: Sylwester Nawrocki <s.nawrocki@samsung.com>
To: Andrzej Hajda <a.hajda@samsung.com>, linux-samsung-soc@vger.kernel.org
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org, Liquid.Acid@gmx.net,
Kyungmin Park <kyungmin.park@samsung.com>,
Kukjin Kim <kgene@kernel.org>,
javier.martinez@collabora.co.uk,
Marek Szyprowski <m.szyprowski@samsung.com>
Subject: Re: [RFC PATCH 2/3] arm/exynos/pm_domains: add support for async-bridge clocks
Date: Thu, 12 Mar 2015 14:05:39 +0100 [thread overview]
Message-ID: <55018F23.3010402@samsung.com> (raw)
In-Reply-To: <1423139739-19881-3-git-send-email-a.hajda@samsung.com>
On 05/02/15 13:35, Andrzej Hajda wrote:
> Since Exynos5420 there are async-bridges (ASB) between different IPs. These
> bridges must be operational during power domain on/off, ie. clocks used
> by these bridges should be enabled.
> This patch enabled these clocks during domain on/off.
>
> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
> ---
> arch/arm/mach-exynos/pm_domains.c | 27 +++++++++++++++++++++++----
> 1 file changed, 23 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/pm_domains.c b/arch/arm/mach-exynos/pm_domains.c
> index 0e2bc36..ecff522 100644
> --- a/arch/arm/mach-exynos/pm_domains.c
> +++ b/arch/arm/mach-exynos/pm_domains.c
> @@ -37,6 +37,7 @@ struct exynos_pm_domain {
> struct clk *oscclk;
> struct clk *clk[MAX_CLK_PER_DOMAIN];
> struct clk *pclk[MAX_CLK_PER_DOMAIN];
> + struct clk *asb_clk[MAX_CLK_PER_DOMAIN];
> };
>
> static int exynos_pd_power(struct generic_pm_domain *domain, bool power_on)
> @@ -45,14 +46,19 @@ static int exynos_pd_power(struct generic_pm_domain *domain, bool power_on)
> void __iomem *base;
> u32 timeout, pwr;
> char *op;
> + int i;
>
> pd = container_of(domain, struct exynos_pm_domain, pd);
> base = pd->base;
>
> + for (i = 0; i < MAX_CLK_PER_DOMAIN; i++) {
> + if (IS_ERR(pd->asb_clk[i]))
> + break;
> + clk_prepare_enable(pd->asb_clk[i]);
> + }
> +
> /* Set oscclk before powering off a domain*/
> if (!power_on) {
> - int i;
> -
> for (i = 0; i < MAX_CLK_PER_DOMAIN; i++) {
> if (IS_ERR(pd->clk[i]))
> break;
> @@ -81,8 +87,6 @@ static int exynos_pd_power(struct generic_pm_domain *domain, bool power_on)
>
> /* Restore clocks after powering on a domain*/
> if (power_on) {
> - int i;
> -
> for (i = 0; i < MAX_CLK_PER_DOMAIN; i++) {
> if (IS_ERR(pd->clk[i]))
> break;
> @@ -92,6 +96,12 @@ static int exynos_pd_power(struct generic_pm_domain *domain, bool power_on)
> }
> }
>
> + for (i = 0; i < MAX_CLK_PER_DOMAIN; i++) {
> + if (IS_ERR(pd->asb_clk[i]))
> + break;
> + clk_disable_unprepare(pd->asb_clk[i]);
> + }
> +
> return 0;
> }
>
> @@ -137,6 +147,15 @@ static __init int exynos4_pm_init_power_domain(void)
> pd->pd.power_off = exynos_pd_power_off;
> pd->pd.power_on = exynos_pd_power_on;
>
> + for (i = 0; i < MAX_CLK_PER_DOMAIN; i++) {
> + char clk_name[8];
> +
> + snprintf(clk_name, sizeof(clk_name), "asb%d", i);
> + pd->asb_clk[i] = clk_get(dev, clk_name);
> + if (IS_ERR(pd->asb_clk[i]))
> + break;
> + }
> +
> pd->oscclk = clk_get(dev, "oscclk");
> if (IS_ERR(pd->oscclk))
> goto no_clk;
>
--
Sylwester Nawrocki
Samsung R&D Institute Poland
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
WARNING: multiple messages have this Message-ID (diff)
From: Sylwester Nawrocki <s.nawrocki@samsung.com>
To: Andrzej Hajda <a.hajda@samsung.com>, linux-samsung-soc@vger.kernel.org
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
Kyungmin Park <kyungmin.park@samsung.com>,
Kukjin Kim <kgene@kernel.org>,
javier.martinez@collabora.co.uk, Liquid.Acid@gmx.net,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org
Subject: Re: [RFC PATCH 2/3] arm/exynos/pm_domains: add support for async-bridge clocks
Date: Thu, 12 Mar 2015 14:05:39 +0100 [thread overview]
Message-ID: <55018F23.3010402@samsung.com> (raw)
In-Reply-To: <1423139739-19881-3-git-send-email-a.hajda@samsung.com>
On 05/02/15 13:35, Andrzej Hajda wrote:
> Since Exynos5420 there are async-bridges (ASB) between different IPs. These
> bridges must be operational during power domain on/off, ie. clocks used
> by these bridges should be enabled.
> This patch enabled these clocks during domain on/off.
>
> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
> ---
> arch/arm/mach-exynos/pm_domains.c | 27 +++++++++++++++++++++++----
> 1 file changed, 23 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/pm_domains.c b/arch/arm/mach-exynos/pm_domains.c
> index 0e2bc36..ecff522 100644
> --- a/arch/arm/mach-exynos/pm_domains.c
> +++ b/arch/arm/mach-exynos/pm_domains.c
> @@ -37,6 +37,7 @@ struct exynos_pm_domain {
> struct clk *oscclk;
> struct clk *clk[MAX_CLK_PER_DOMAIN];
> struct clk *pclk[MAX_CLK_PER_DOMAIN];
> + struct clk *asb_clk[MAX_CLK_PER_DOMAIN];
> };
>
> static int exynos_pd_power(struct generic_pm_domain *domain, bool power_on)
> @@ -45,14 +46,19 @@ static int exynos_pd_power(struct generic_pm_domain *domain, bool power_on)
> void __iomem *base;
> u32 timeout, pwr;
> char *op;
> + int i;
>
> pd = container_of(domain, struct exynos_pm_domain, pd);
> base = pd->base;
>
> + for (i = 0; i < MAX_CLK_PER_DOMAIN; i++) {
> + if (IS_ERR(pd->asb_clk[i]))
> + break;
> + clk_prepare_enable(pd->asb_clk[i]);
> + }
> +
> /* Set oscclk before powering off a domain*/
> if (!power_on) {
> - int i;
> -
> for (i = 0; i < MAX_CLK_PER_DOMAIN; i++) {
> if (IS_ERR(pd->clk[i]))
> break;
> @@ -81,8 +87,6 @@ static int exynos_pd_power(struct generic_pm_domain *domain, bool power_on)
>
> /* Restore clocks after powering on a domain*/
> if (power_on) {
> - int i;
> -
> for (i = 0; i < MAX_CLK_PER_DOMAIN; i++) {
> if (IS_ERR(pd->clk[i]))
> break;
> @@ -92,6 +96,12 @@ static int exynos_pd_power(struct generic_pm_domain *domain, bool power_on)
> }
> }
>
> + for (i = 0; i < MAX_CLK_PER_DOMAIN; i++) {
> + if (IS_ERR(pd->asb_clk[i]))
> + break;
> + clk_disable_unprepare(pd->asb_clk[i]);
> + }
> +
> return 0;
> }
>
> @@ -137,6 +147,15 @@ static __init int exynos4_pm_init_power_domain(void)
> pd->pd.power_off = exynos_pd_power_off;
> pd->pd.power_on = exynos_pd_power_on;
>
> + for (i = 0; i < MAX_CLK_PER_DOMAIN; i++) {
> + char clk_name[8];
> +
> + snprintf(clk_name, sizeof(clk_name), "asb%d", i);
> + pd->asb_clk[i] = clk_get(dev, clk_name);
> + if (IS_ERR(pd->asb_clk[i]))
> + break;
> + }
> +
> pd->oscclk = clk_get(dev, "oscclk");
> if (IS_ERR(pd->oscclk))
> goto no_clk;
>
--
Sylwester Nawrocki
Samsung R&D Institute Poland
next prev parent reply other threads:[~2015-03-12 13:05 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-05 12:35 [RFC PATCH 0/3] Fix power domains handling on exynos542x Andrzej Hajda
2015-02-05 12:35 ` Andrzej Hajda
2015-02-05 12:35 ` [RFC PATCH 1/3] arm/exynos: add asynchronous bridge clock bindings Andrzej Hajda
2015-02-05 12:35 ` Andrzej Hajda
2015-02-05 12:35 ` [RFC PATCH 2/3] arm/exynos/pm_domains: add support for async-bridge clocks Andrzej Hajda
2015-02-05 12:35 ` Andrzej Hajda
2015-03-12 13:05 ` Sylwester Nawrocki [this message]
2015-03-12 13:05 ` Sylwester Nawrocki
2015-02-05 12:35 ` [RFC PATCH 3/3] ARM: dts: exynos5420: add async-bridge clock to disp1 power domain Andrzej Hajda
2015-02-05 12:35 ` Andrzej Hajda
[not found] ` <1423139739-19881-1-git-send-email-a.hajda-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2015-02-05 14:45 ` [RFC PATCH 0/3] Fix power domains handling on exynos542x Javier Martinez Canillas
2015-02-05 14:45 ` Javier Martinez Canillas
2015-02-06 5:27 ` Joonyoung Shim
2015-02-06 5:27 ` Joonyoung Shim
2015-02-06 9:18 ` Javier Martinez Canillas
2015-02-06 10:55 ` [RFC PATCH v2 3/3] ARM: dts: exynos5420: add async-bridge clocks to disp1 power domain Andrzej Hajda
[not found] ` <1423220154-5333-1-git-send-email-a.hajda-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2015-02-06 11:27 ` Javier Martinez Canillas
2015-02-06 11:27 ` Javier Martinez Canillas
2015-03-03 8:12 ` Javier Martinez Canillas
2015-03-12 13:00 ` Sylwester Nawrocki
2015-03-12 13:00 ` Sylwester Nawrocki
2015-03-10 9:48 ` [RFC PATCH 0/3] Fix power domains handling on exynos542x Javier Martinez Canillas
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=55018F23.3010402@samsung.com \
--to=s.nawrocki@samsung.com \
--cc=Liquid.Acid@gmx.net \
--cc=a.hajda@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=javier.martinez@collabora.co.uk \
--cc=kgene@kernel.org \
--cc=kyungmin.park@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=m.szyprowski@samsung.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: link
Be 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.