From: Sylwester Nawrocki <s.nawrocki@samsung.com>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Chanwoo Choi <cw00.choi@samsung.com>,
Kyungmin Park <kyungmin.park@samsung.com>,
linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
linux-pm@lists.linux-foundation.org
Subject: Re: [PATCH 0/4] ARM: EXYNOS4: Support generic Power domain framework for EXYNOS4210
Date: Thu, 20 Oct 2011 20:30:57 +0200 [thread overview]
Message-ID: <4EA068E1.7040503@samsung.com> (raw)
In-Reply-To: <4E4360B2.2060508__44948.0910123841$1313038619$gmane$org@samsung.com>
Hello Rafael,
On 08/11/2011 06:55 AM, Chanwoo Choi wrote:
> The following patch set use the generic Power domain Framework instead of
> power domain code depend of Samsung SoC.
>
> Chanwoo Choi (4):
> ARM: EXYNOS4: Support for generic I/O power domains on EXYNOS4210
> ARM: EXYNOS4: Support for generic Clock manipulation PM callbacks
> ARM: EXYNOS4: Delete the power-domain code depend on Samsung SoC
> ARM: EXYNOS4: Add power domain to use generic Power domain Framework
>
> arch/arm/mach-exynos4/Kconfig | 10 +-
> arch/arm/mach-exynos4/Makefile | 4 +-
> arch/arm/mach-exynos4/dev-pd.c | 139 --------------
> arch/arm/mach-exynos4/include/mach/pm-exynos4210.h | 52 ++++++
> arch/arm/mach-exynos4/include/mach/regs-clock.h | 8 +
> arch/arm/mach-exynos4/mach-nuri.c | 21 ++-
> arch/arm/mach-exynos4/mach-smdkc210.c | 26 ++-
> arch/arm/mach-exynos4/mach-smdkv310.c | 23 ++-
> arch/arm/mach-exynos4/mach-universal_c210.c | 21 ++-
> arch/arm/mach-exynos4/pm-exynos4210.c | 189 ++++++++++++++++++++
> arch/arm/mach-exynos4/pm-runtime.c | 56 ++++++
> arch/arm/plat-samsung/Kconfig | 8 -
> arch/arm/plat-samsung/Makefile | 4 -
> arch/arm/plat-samsung/include/plat/pd.h | 30 ---
> arch/arm/plat-samsung/pd.c | 95 ----------
> 15 files changed, 377 insertions(+), 309 deletions(-)
> delete mode 100644 arch/arm/mach-exynos4/dev-pd.c
> create mode 100644 arch/arm/mach-exynos4/include/mach/pm-exynos4210.h
> create mode 100644 arch/arm/mach-exynos4/pm-exynos4210.c
> create mode 100644 arch/arm/mach-exynos4/pm-runtime.c
> delete mode 100644 arch/arm/plat-samsung/include/plat/pd.h
> delete mode 100644 arch/arm/plat-samsung/pd.c
I'm having some trouble after applying these patches, with s5p_device_fimc0..3
devices added to exynos4210_pd_cam power domain.
When pm_runtime_get_sync() is called in s5p_device_fimc0 device driver probe()
the driver's runtime_resume helper isn't called.
In __pm_genpd_restore_device() dle->need_restore is 0 and thus the function
exits, not calling drv->pm->runtime_resume().
I would expect the driver's runtime_resume helper to be invoked since the device
is initially in suspended state.
In rpm_resume() if dev->pm_domain is not null its ops.runtime_resume will
get called, and nothing else.
I observed that after fimc0 device is probed, it gets suspended and then all other
devices are attempted to be suspended as well, through __pm_genpd_save_device().
But at that time only fimc0 device has non null dev->driver, and its driver
runtime_suspend helper is called (without prior runtime_resume call).
Remaining devices in the power domain (fimc1..3) only get 'need_restore'
set to 1.
So at the time the fimc1 device probe() is invoked, its corresponding need_restore
is set to 1, and driver's runtime_resume helper is called as expected. Then the
runtime_suspend follows.
Is this intended behaviour ?
I'd like to avoid any reference counters for runtime_suspend/resume helpers.
As for now the clock is controlled there and the driver need to ensure balanced
calls to clk_enable()/clk_disable().
Thanks,
--
Sylwester Nawrocki
Samsung Poland R&D Center
next prev parent reply other threads:[~2011-10-20 18:31 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-11 4:55 [PATCH 0/4] ARM: EXYNOS4: Support generic Power domain framework for EXYNOS4210 Chanwoo Choi
2011-10-20 18:30 ` Sylwester Nawrocki [this message]
-- strict thread matches above, loose matches on Subject: below --
2011-08-11 4:55 Chanwoo Choi
2011-08-11 4:55 ` Chanwoo Choi
2011-08-13 21:24 ` Rafael J. Wysocki
2011-08-13 21:24 ` Rafael J. Wysocki
2011-08-13 21:24 ` Rafael J. Wysocki
2011-08-13 21:36 ` Russell King - ARM Linux
2011-08-13 21:36 ` Russell King - ARM Linux
2011-08-13 21:36 ` Russell King - ARM Linux
2011-08-13 23:39 ` Rafael J. Wysocki
2011-08-13 23:39 ` Rafael J. Wysocki
2011-10-02 7:07 ` Kukjin Kim
2011-10-02 7:07 ` Kukjin Kim
2011-10-02 11:47 ` Rafael J. Wysocki
2011-10-02 11:47 ` Rafael J. Wysocki
2011-10-02 11:48 ` Russell King - ARM Linux
2011-10-02 11:48 ` Russell King - ARM Linux
2011-10-02 13:08 ` Rafael J. Wysocki
2011-10-02 13:08 ` Rafael J. Wysocki
2011-10-02 13:13 ` Russell King - ARM Linux
2011-10-02 13:13 ` Russell King - ARM Linux
2011-10-02 18:00 ` Rafael J. Wysocki
2011-10-02 18:00 ` Rafael J. Wysocki
2011-10-03 3:27 ` Kukjin Kim
2011-10-03 3:27 ` Kukjin Kim
2011-10-02 14:09 ` Sylwester Nawrocki
2011-10-02 14:09 ` Sylwester Nawrocki
2011-10-02 17:57 ` Rafael J. Wysocki
2011-10-02 17:57 ` Rafael J. Wysocki
2011-08-13 23:39 ` Rafael J. Wysocki
2011-09-24 17:27 ` Sylwester Nawrocki
2011-09-24 17:27 ` Sylwester Nawrocki
2011-08-19 14:15 ` Kukjin Kim
2011-08-19 14:15 ` Kukjin Kim
2011-08-19 14:15 ` Kukjin Kim
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=4EA068E1.7040503@samsung.com \
--to=s.nawrocki@samsung.com \
--cc=cw00.choi@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-pm@lists.linux-foundation.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=rjw@sisk.pl \
/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.