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 parent reply other threads:[~2011-10-20 18:31 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4E4360B2.2060508__44948.0910123841$1313038619$gmane$org@samsung.com>
2011-10-20 18:30 ` Sylwester Nawrocki [this message]
2011-08-11 4:55 [PATCH 0/4] ARM: EXYNOS4: Support generic Power domain framework for EXYNOS4210 Chanwoo Choi
2011-08-13 21:24 ` Rafael J. Wysocki
2011-08-13 21:36 ` Russell King - ARM Linux
2011-08-13 23:39 ` Rafael J. Wysocki
2011-10-02 7:07 ` Kukjin Kim
2011-10-02 11:47 ` Rafael J. Wysocki
2011-10-02 11:48 ` Russell King - ARM Linux
2011-10-02 13:08 ` Rafael J. Wysocki
2011-10-02 13:13 ` Russell King - ARM Linux
2011-10-02 18:00 ` Rafael J. Wysocki
2011-10-03 3:27 ` Kukjin Kim
2011-10-02 14:09 ` Sylwester Nawrocki
2011-10-02 17:57 ` Rafael J. Wysocki
2011-09-24 17:27 ` Sylwester Nawrocki
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox