From: Wolfram Sang <wsa+renesas@sang-engineering.com>
To: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Cc: Jarkko Nikula <jarkko.nikula@linux.intel.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
Jan Dabros <jsd@semihalf.com>, Andi Shyti <andi.shyti@kernel.org>,
Kohei Ito <ito.kohei@socionext.com>,
linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/2] i2c: designware: Fix clock issue when PM is disabled
Date: Fri, 26 Sep 2025 09:37:08 +0200 [thread overview]
Message-ID: <aNZCpHemo8-KYnWp@shikoro> (raw)
In-Reply-To: <20250724042211.2160339-2-hayashi.kunihiko@socionext.com>
[-- Attachment #1: Type: text/plain, Size: 1624 bytes --]
On Thu, Jul 24, 2025 at 01:22:10PM +0900, Kunihiko Hayashi wrote:
> When removing the driver, enable the clocks once by calling
> pm_runtime_get_sync(), and call pm_runtime_put_sync() to disable
> the clocks.
>
> If CONFIG_PM=y, clocks for this controller are disabled when it's in
> the idle state. So the clocks are properly disabled when the driver
> exits.
>
> Othewise, the clocks are always enabled and the PM functions have
> no effect. Therefore, the driver exits without disabling the clocks.
>
> # cat /sys/kernel/debug/clk/clk-pclk/clk_enable_count
> 18
> # echo 1214a000.i2c > /sys/bus/platform/drivers/i2c_designware/bind
> # cat /sys/kernel/debug/clk/clk-pclk/clk_enable_count
> 20
> # echo 1214a000.i2c > /sys/bus/platform/drivers/i2c_designware/unbind
> # cat /sys/kernel/debug/clk/clk-pclk/clk_enable_count
> 20
>
> To ensure that the clocks can be disabled correctly even without
> CONFIG_PM=y, should add the following fixes:
>
> - Replace with pm_runtime_put_noidle(), which only decrements the runtime
> PM usage count.
> - Call i2c_dw_prepare_clk(false) to explicitly disable the clocks.
>
> Fixes: 7272194ed391f ("i2c-designware: add minimal support for runtime PM")
> Co-developed-by: Kohei Ito <ito.kohei@socionext.com>
> Signed-off-by: Kohei Ito <ito.kohei@socionext.com>
> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
> Tested-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
> Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Applied to for-next with the commit message from Andi, thanks!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2025-09-26 7:37 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-24 4:22 [PATCH v2 0/2] i2c: designware: Fixes clock issues with platform driver Kunihiko Hayashi
2025-07-24 4:22 ` [PATCH v2 1/2] i2c: designware: Fix clock issue when PM is disabled Kunihiko Hayashi
2025-07-30 13:31 ` Jarkko Nikula
2025-08-19 22:06 ` Andi Shyti
2025-08-20 10:07 ` Kunihiko Hayashi
2025-09-26 7:37 ` Wolfram Sang [this message]
2025-07-24 4:22 ` [PATCH v2 2/2] i2c: designware: Add disabling clocks when probe fails Kunihiko Hayashi
2025-07-30 13:32 ` Jarkko Nikula
2025-09-26 7:39 ` Wolfram Sang
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=aNZCpHemo8-KYnWp@shikoro \
--to=wsa+renesas@sang-engineering.com \
--cc=andi.shyti@kernel.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=hayashi.kunihiko@socionext.com \
--cc=ito.kohei@socionext.com \
--cc=jarkko.nikula@linux.intel.com \
--cc=jsd@semihalf.com \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mika.westerberg@linux.intel.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.