All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Szyprowski <m.szyprowski@samsung.com>
To: Michael Turquette <mturquette@baylibre.com>,
	linux-clk@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-samsung-soc@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Stephen Boyd <sboyd@codeaurora.org>
Cc: Ulf Hansson <ulf.hansson@linaro.org>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Chanwoo Choi <cw00.choi@samsung.com>,
	Inki Dae <inki.dae@samsung.com>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Subject: Re: [PATCH v9 0/5] Add runtime PM support for clocks (on Exynos SoC example)
Date: Tue, 26 Sep 2017 12:04:24 +0200	[thread overview]
Message-ID: <be61a74a-55bd-53cf-20c6-49d3f91d944a@samsung.com> (raw)
In-Reply-To: <150483237153.48525.1363518996437790191@resonance>

Hi Michael,

On 2017-09-08 02:59, Michael Turquette wrote:
> Hi Marek,
>
> Quoting Marek Szyprowski (2017-08-21 01:04:58)
>> Dear All,
>>
>> This patchset adds runtime PM support to common clock framework. This is an
>> attempt to implement support for clock controllers, which belongs to a power
>> domain. This approach works surprisingly well on Exynos 5433 SoC, what allowed
>> us to solve various freeze/crash issues related to power management.
>>
>> The main idea behind this patchset is to keep clock's controller power domain
>> enabled every time when at least one of its clock is enabled or access to its
>> registers is being made. Clock controller driver (clock provider) can
>> supply a struct device pointer, which is the used by clock core for tracking and
>> managing clock's controller runtime pm state. Each clk_prepare() operation will
>> first call pm_runtime_get_sync() on the supplied device, while clk_unprepare()
>> will do pm_runtime_put() at the end.
>>
>> This runtime PM feature has been tested with Exynos4412 (not included in this
>> patchset) and Exynos5433 clocks drivers. Both have some clocks, which belongs to
>> respective power domains and need special handling during power on/off
>> procedures. Till now it wasn't handled at all, what caused various problems.
>>
>> Patches for clocks drivers change the way the clock provider is initialized.
>> Instead of CLK_OF_DECLARE based initialization, a complete platform device driver
>> infrastructure is being used. This is needed to let driver to use runtime PM
>> feature and integrate with generic power domains. The side-effect of this change
>> is a delay in clock provider registeration during system boot, so early
>> initialized drivers might get EPROBEDEFER error when requesting their clocks.
>> This was an issue for IOMMU drivers, but IOMMU deferred probe support has been
>> finally merged to v4.13-rc1 and now it is handled correctly.
>>
>> Patches are based and tested on v4.13-rc5, but applies fine also on v4.13-rc1.
> Patches look good to me. It's too late for the v4.14 PR, but I'll merge
> this to clk-next after -rc1 drops.

Gentle ping.

v4.14-rc2 has been released yesterday. Is there a chance to get this 
patchset merged
to clk-next soon? It definitely needs some time for testing in 
linux-next and now it
is the best time for that...

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland

WARNING: multiple messages have this Message-ID (diff)
From: m.szyprowski@samsung.com (Marek Szyprowski)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v9 0/5] Add runtime PM support for clocks (on Exynos SoC example)
Date: Tue, 26 Sep 2017 12:04:24 +0200	[thread overview]
Message-ID: <be61a74a-55bd-53cf-20c6-49d3f91d944a@samsung.com> (raw)
In-Reply-To: <150483237153.48525.1363518996437790191@resonance>

Hi Michael,

On 2017-09-08 02:59, Michael Turquette wrote:
> Hi Marek,
>
> Quoting Marek Szyprowski (2017-08-21 01:04:58)
>> Dear All,
>>
>> This patchset adds runtime PM support to common clock framework. This is an
>> attempt to implement support for clock controllers, which belongs to a power
>> domain. This approach works surprisingly well on Exynos 5433 SoC, what allowed
>> us to solve various freeze/crash issues related to power management.
>>
>> The main idea behind this patchset is to keep clock's controller power domain
>> enabled every time when at least one of its clock is enabled or access to its
>> registers is being made. Clock controller driver (clock provider) can
>> supply a struct device pointer, which is the used by clock core for tracking and
>> managing clock's controller runtime pm state. Each clk_prepare() operation will
>> first call pm_runtime_get_sync() on the supplied device, while clk_unprepare()
>> will do pm_runtime_put() at the end.
>>
>> This runtime PM feature has been tested with Exynos4412 (not included in this
>> patchset) and Exynos5433 clocks drivers. Both have some clocks, which belongs to
>> respective power domains and need special handling during power on/off
>> procedures. Till now it wasn't handled at all, what caused various problems.
>>
>> Patches for clocks drivers change the way the clock provider is initialized.
>> Instead of CLK_OF_DECLARE based initialization, a complete platform device driver
>> infrastructure is being used. This is needed to let driver to use runtime PM
>> feature and integrate with generic power domains. The side-effect of this change
>> is a delay in clock provider registeration during system boot, so early
>> initialized drivers might get EPROBEDEFER error when requesting their clocks.
>> This was an issue for IOMMU drivers, but IOMMU deferred probe support has been
>> finally merged to v4.13-rc1 and now it is handled correctly.
>>
>> Patches are based and tested on v4.13-rc5, but applies fine also on v4.13-rc1.
> Patches look good to me. It's too late for the v4.14 PR, but I'll merge
> this to clk-next after -rc1 drops.

Gentle ping.

v4.14-rc2 has been released yesterday. Is there a chance to get this 
patchset merged
to clk-next soon? It definitely needs some time for testing in 
linux-next and now it
is the best time for that...

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland

  parent reply	other threads:[~2017-09-26 10:04 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20170821080538eucas1p1e273ef22920493ee406ef546bcc230e5@eucas1p1.samsung.com>
2017-08-21  8:04 ` [PATCH v9 0/5] Add runtime PM support for clocks (on Exynos SoC example) Marek Szyprowski
2017-08-21  8:04   ` Marek Szyprowski
     [not found]   ` <CGME20170821080538eucas1p2fc5723914c314e6fe5da19bed55dd5bd@eucas1p2.samsung.com>
2017-08-21  8:04     ` [PATCH v9 1/5] clk: Add support for runtime PM Marek Szyprowski
2017-08-21  8:04       ` Marek Szyprowski
     [not found]   ` <CGME20170821080539eucas1p282557b6f1885f1714b08096ab3724c25@eucas1p2.samsung.com>
2017-08-21  8:05     ` [PATCH v9 2/5] clk: samsung: " Marek Szyprowski
2017-08-21  8:05       ` Marek Szyprowski
     [not found]   ` <CGME20170821080539eucas1p2ff5addf7ece8ad54c0c885a938f97880@eucas1p2.samsung.com>
2017-08-21  8:05     ` [PATCH v9 3/5] clk: samsung: exynos5433: " Marek Szyprowski
2017-08-21  8:05       ` Marek Szyprowski
     [not found]   ` <CGME20170821080540eucas1p25bd0c482fdb581bca68bc875bdfedc87@eucas1p2.samsung.com>
2017-08-21  8:05     ` [PATCH v9 4/5] clk: samsung: exynos-audss: Use local variable for controller's device Marek Szyprowski
2017-08-21  8:05       ` Marek Szyprowski
     [not found]   ` <CGME20170821080540eucas1p2e07bb23e15027aca9563316a5fbf1597@eucas1p2.samsung.com>
2017-08-21  8:05     ` [PATCH v9 5/5] clk: samsung: exynos-audss: Add support for runtime PM Marek Szyprowski
2017-08-21  8:05       ` Marek Szyprowski
2017-08-22  9:21   ` [PATCH v9 0/5] Add runtime PM support for clocks (on Exynos SoC example) Geert Uytterhoeven
2017-08-22  9:21     ` Geert Uytterhoeven
2017-08-22  9:27     ` Marek Szyprowski
2017-08-22  9:27       ` Marek Szyprowski
2017-09-08  0:59   ` Michael Turquette
2017-09-08  0:59     ` Michael Turquette
2017-09-08  0:59     ` Michael Turquette
2017-09-11 12:57     ` Marek Szyprowski
2017-09-11 12:57       ` Marek Szyprowski
2017-09-11 12:57       ` Marek Szyprowski
2017-09-26 10:04     ` Marek Szyprowski [this message]
2017-09-26 10:04       ` Marek Szyprowski

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=be61a74a-55bd-53cf-20c6-49d3f91d944a@samsung.com \
    --to=m.szyprowski@samsung.com \
    --cc=b.zolnierkie@samsung.com \
    --cc=cw00.choi@samsung.com \
    --cc=inki.dae@samsung.com \
    --cc=krzk@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=s.nawrocki@samsung.com \
    --cc=sboyd@codeaurora.org \
    --cc=ulf.hansson@linaro.org \
    /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.